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

彼のテクニカルライターは、ドキュメント用の標準テンプレートを使用しています。テンプレートには、[プロパティ]ダイアログボックスの情報を入力することで入力されるフィールドが含まれています。他の人がテンプレートを使用する場合、フィールドを表示するように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は、世界で最も人気のあるワードプロセッシングソフトウェアです。)このヒント(7796)は、Microsoft Word 2007、2010、2013、2016、2019、およびOffice 365のWordに適用されます。このヒントのバージョンは、ここにWordの古いメニューインターフェイス: