質問

テキストを空白の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

ライセンス: CC-BY-SA帰属
所属していません StackOverflow
scroll top