空白の Word フィールドにテキストを挿入して解析するだけでなく、ユーザー定義のフィールドとフィールド コードを VBA を使用して独自のテンプレートにプログラムで作成する方法はありますか? さらに、これらのフィールドを利用可能なフィールドのリストに表示させる方法はありますか?
2 に答える
最近、Word の MACROBUTTON および ADDIN フィールド タイプを使用するソリューションを開発しました。
フィールド内の 3 番目の空白で区切られたエントリ (プログラムでは field.code.text) が Word 内に表示されるため、MACROBUTTON が便利であることがわかりました。これにより、ユーザーはフィールドを移動しながら見ることができます。{ MACROBUTTON NoMacro * } は Word で「*」を表示します。たとえば、「NoMacro」という名前のマクロを意図的に定義していないため、ユーザーがそれをダブルクリックしても何もしません。
ADDIN フィールドは表示されず (表示フィールド コードがオンになっている場合を除く)、非表示の文字列が field.data プロパティに格納されます。このフィールドを使用すると、ユーザーがその内容を表示または変更できない非表示のフィールドを作成できます (ただし、「フィールド コードの表示」をオンにすると、それが ADDIN フィールドであることがわかります (ただし、表示/編集することはできません))。 "data" プロパティ)、他のフィールドと同じようにこのフィールドを削除できることを確認します)。
これらのページが役に立ちました:
何を考えていましたか?手動またはVBAを使用してカスタムドキュメントプロパティを追加することができます。これらは、DOCPROPERTYの下のフィールドとしてアクセスできます。
{ DOCPROPERTY "Test" \* MERGEFORMAT }
マクロを使用して、カスタムプロパティがドキュメントに追加されていることを確認できます。
Sub AutoNew()
Dim objCustomProperties As DocumentProperties
Set objCustomProperties = ActiveDocument.CustomDocumentProperties
objCustomProperties.Add Name:="Test", _
Type:=msoPropertyTypeString, Value:="Blah", _
LinkToContent:=False
End Sub
さらに詳しい情報
Automacros:http ://msdn.microsoft.com/en-us/library/aa263747(office.10).aspx
Microsoft Office Word 2003のカスタムドキュメントプロパティについて:http://msdn.microsoft.com/en-us/library/aa537154.aspx