単語フィールドの作成
-
03-07-2019 - |
質問
テキストを空白のWordフィールドに挿入して解析するだけでなく、ユーザー定義のフィールドとフィールドコードをVBAを使用して自分のテンプレートにプログラムで作成する方法はありますか?さらに、これらのフィールドを使用可能なフィールドのリストに表示する方法はありますか?
解決
最近、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
詳細情報
オートマクロ: http://msdn.microsoft。 com / en-us / library / aa263747(office.10).aspx
Microsoft Office Word 2003のカスタムドキュメントプロパティについて: http:// msdn .microsoft.com / en-us / library / aa537154.aspx