ジョナサンは、彼の会社の一部のユーザーに不満を表明しました。

彼のテクニカルライターは、ドキュメント用の標準テンプレートを使用しています。テンプレートには、[プロパティ]ダイアログボックス([ファイル] | [プロパティ])の情報を入力することで入力されるフィールドがあります。他の人がテンプレートを使用する場合、フィールドを表示するようにWordのバージョンが設定されていないため、テンプレートによって作成されたドキュメントに直接情報を入力して、フィールドを破壊することがよくあります。

ジョナサンは、フィールドを入力して破壊できないようにフィールドを保護する方法を探していました。

ドキュメント内のフィールドのみを保護する方法はありません。ただし、これを回避する方法はいくつかあります。 1つの方法は、すべてのフィールドが配置されている場所をユーザーに「通知」することです。視覚的なリマインダーを使用すると、ユーザーがフィールドに入力して破棄する可能性が低くなる可能性があります。もちろん、Wordはフィールドをシェーディングして表示することもできますが、ユーザーがこの設定をオンにしていない場合があります。

テンプレートで、AutoNewマクロとAutoOpenマクロを設定して、シェーディングをオンにすることができます。

Sub AutoNew()

With ActiveWindow.View     .FieldShading = wdFieldShadingAlways     End With End Sub
Sub AutoOpen()

With ActiveWindow.View     .FieldShading = wdFieldShadingAlways     End With End Sub

もちろん、このアプローチはフィールドの過剰入力を防ぐことはできません。ユーザーが「フィールドがそこにあることを知らなかった」と言えないようにするだけです。マクロをより複雑にして、Fieldsコレクションを継続的にチェックして、ドキュメント内のフィールドの数が変更(増加または減少)しないことを確認するマクロを開発することができます。フィールド数の変化が検出された場合、マクロは必要と思われる是正措置を講じることができます。

注:

このページ(または_WordTips_サイトの他のページ)で説明されているマクロの使用方法を知りたい場合は、役立つ情報を含む特別なページを用意しました。

_WordTips_は、費用効果の高いMicrosoftWordトレーニングのソースです。

(Microsoft Wordは、世界で最も人気のあるワードプロセッシングソフトウェアです。)このヒント(214)は、Microsoft Word 97、2000、2002、および2003に適用されます。Wordのリボンインターフェイス(Word 2007)用のこのヒントのバージョンを見つけることができます。以降)ここ: