Wordでフォームを作成する場合、フォームで通常フィールドとフォームフィールドの2種類のフィールドを使用できます。フォームフィールドとその更新方法については、_WordTips_の他の問題で説明されています。定期的に更新する必要がある他のタイプのフィールドを利用するフォームを作成している場合、そうするのはイライラする可能性があります。どうして?ロックされたフォームに入力しているときに、Wordが通常のフィールドを常に更新するとは限らないためです。

残念ながら、このようなフィールドを更新する唯一の方法は、ドキュメントを印刷するか(通常、すべてのフィールドを強制的に更新する)、マクロを使用して強制的に更新することです。後者が望ましいコースである場合、マクロは次のことを実行する必要があります。

。ドキュメントのロックを解除します。

。フィールドを更新します。

。ドキュメントを再ロックします。

これは、VBAを使用して行うのは比較的簡単なタスクです。次のようなマクロを使用できます:

Sub UpdateFields()

Dim OneStory as Range     Dim OneField as Field

ActiveDocument.Unprotect Password:="YourPassword"

For Each OneStory In ActiveDocument.StoryRanges         For Each OneField in Stories.Fields             OneField.Update         Next OneField     Next OneStory     ActiveDocument.Protect Type:=wdAllowOnlyFormFields, _       NoReset:=True, Password:="YourPassword"

End Sub

このマクロが確実に機能するようにするには、「YourPassword」(2つのインスタンス)という表現を、ドキュメントのパスワードに変更する必要があります。ドキュメントでパスワードを使用していない場合は、UnprotectとProtectの両方の方法でPasswordパラメータを削除するだけです。

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

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