多くの人がWordを使用してフォームを作成し、それを他の人が情報を入力するために使用します。私は、コピー機で印刷されて複製されるあなたの平均的な、ありふれたフォームについて話しているのではありません。 Wordの特別なフォームフィールドを持つフォームを使用して、データが配置された状態で個別に保存されるデータ収集ドキュメントの基礎として使用されるテンプレートを作成することについて話しています。

設計上、これらのフォームは保護されています。これは良いことも悪いこともあります。ユーザーが変更すべきでない情報を変更するのを防ぐので、これは良いことです。それはあなたが望むかもしれないどんな情報も変えることをあなたが妨げるのでそれは悪いです。ユーザーがフォームテンプレートに基づいてドキュメントを作成すると、フォームフィールドに入力した情報が新しいドキュメントに保存されます。保存したドキュメントを再読み込みし、フォームのロックを解除して新しいフィールドを追加するか、その他の変更を加えてから、保存する前にフォームを再ロックすると、ユーザーがフォームに追加した情報はWordによって自動的に削除され、すべてのフォームフィールドが削除されます。デフォルトに戻します。

信じられないかもしれませんが、これはWordの機能です。その特徴づけに疑問を呈する人もいますが、それはフォーム機能が権力者によってどのように設計されたかです。この問題を克服する唯一の方法は、マクロを使用することです。マクロを保存する自然な場所は、フォームの基になっているテンプレートです。おそらく、カスタムツールバーボタンまたはカスタムメニューコマンドを使用してマクロを使用できるようにする必要があります。

(ツールバーとメニューへのマクロの追加は、_WordTips._の他の問題でカバーされています。)

問題は、フォームを再ロックしたときにのみ現れることに注意してください。それらのロックを解除しても、データが失われることはありません。したがって、特別なマクロを使用してフォームを再ロックするだけでよく、Wordの通常のロック解除ツールを使用して、変更前にフォームの保護を解除できます。次のマクロは、ロック解除されたフォームを安全に再ロックします:

Sub SafeFormLock()

If ActiveDocument.ProtectionType = wdNoProtection Then         ActiveDocument.Protect _           Password = "" _           Type:=wdAllowOnlyFormFields, _           NoReset:=True     End If End Sub

If …​ Thenチェックの理由は、アクティブなドキュメントで保護方法を使用し、それが既に保護されている場合、VBAがエラーを生成するためです。また、このマクロは保護パスワードを設定しないことに注意してください。パスワードを使用する場合は、マクロでパスワードを指定する必要があります。

注:

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

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

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