回答:
Wordにはさまざまなタイプの「変数」があります。「ドキュメント変数」と呼ばれるものもありますが、「プロパティ」と呼ぶものもあります。以下に主なタイプをリストしてみましょう。
Wordにはいくつかの種類のプロパティを探すための場所がいくつかありますが、真の「変数」やその他の種類のプロパティの場合、マクロやその他のコードを使用できない場合は、.docxファイルを解凍する必要があります。そこにあるさまざまなファイルを見てください。
Word 2010内で確認できる場所(ここにはドキュメント変数は表示されません)...
a。[Backstage]の[ファイル]タブの[情報]オプションを見ると、右側にいくつかのプロパティが一覧表示されているはずです。リストの下部にある[すべてのプロパティを表示]をクリックすると、さらに表示される場合があります。
b。[挿入]タブの[テキスト]グループの[クイックパーツ]-> [プロパティ]に、「Built in properties + Sharepointによって挿入された一部またはすべてのプロパティ(使用している場合)」のリストが表示されます。
c。「ドキュメント情報パネル」(DIP)。それが表示されない場合は、[ファイル]メニュー、[オプション]、[クイックアクセスツールバー]の順に移動します。「すべてのコマンド」から「コマンドを選択」を選択し、「プロパティ」を探して選択し、「追加」ボタンをクリックします。すると、クイックアクセスツールバーに、円形の青い背景に小さな白い「i」のアイコンが表示されます。それをクリックすると、SharePointを使用している場合は、組み込みのプロパティ(作成者、タイトルなど)またはSharePointの「コンテンツタイプ」プロパティが表示されます。そこにあるいくつかのビューのいずれかを切り替えることができる場合があります。次に、DIPの左上にあるドロップダウンをクリックして[詳細プロパティ]を選択すると、次のようなマルチタブダイアログボックスが表示されます。
一部の「組み込み」プロパティ
古いスタイルの「ユーザー定義」カスタムドキュメントプロパティ。
それ以外の場合は、おそらく.docxのXMLを調べる必要があります。これを行うには、ドキュメントのコピーを作成します。コピーの名前がmydoc.docxだとします。その名前をmydoc.docx.zipに変更し、zipを開いて、以下に示すようにいくつかのことを探します...
a。trueのドキュメント変数は、単語フォルダー、settings.xml、w:docVarsと呼ばれる要素に格納されます。各変数の名前と値が表示されます。{DOCVARIABLE variablename}フィールドを使用して、ドキュメント変数の値をドキュメントに挿入できます。
b。作成者、タイトルなどを含む、組み込みのドキュメントプロパティ。ほとんどの場合、値は、{AUTHOR}などの特殊化されたフィールド、または場合によっては{DOCPROPERTY}フィールドを使用してドキュメントに挿入できます。少し面倒ですが、名前の標準的なリストがあります。ほとんどの値は、core.xmlファイルとapp.xmlファイルのdocPropsフォルダーにあります。ただし、一部(「カバーページのプロパティ」)は、使用される場合、いずれかの「item.xml」ファイル(customXmlフォルダーの「item1.xml」など)に保存されます。
c。古い形式の「ユーザー定義」カスタムドキュメントプロパティ。主に名前と値のペアで構成され、{DOCPROPERTY}フィールドを使用してドキュメントに値を挿入できます(例:{DOCPROPERTY mycustomproperty})。これらは[詳細プロパティ...]ダイアログに表示されますが、.docxではdocPropsフォルダーのcustom.xmlファイルにあります。
d。「Sharepointプロパティ」または「コンテンツタイププロパティ」とも呼ばれる新しいスタイルのカスタムプロパティ。これは、Sharepointリストの列から作成および入力されることが多いためです。値は「カスタムXMLパーツ」に保存され、XMLの関連ビットを指すように設定されているコンテンツコントロールを使用して挿入できます。(Word 2007以降のみ)。.docxには、customXMLフォルダー内の「item1.xml」、「item2.xml」などの名前のファイルに、これらの変数の「スキーマ」の数と変数の値が含まれています。
e。最後に、開発者は独自のカスタムXMLパーツをWord文書に入れ、コンテンツコントロールをそれらのカスタムXMLパーツの要素と属性に接続できます。その方法については詳しく説明しませんが、customXMLの下のitem1.xml、item2.xmlなどのファイルにデータがあります。ただし、コンテンツコントロール自体、それらの名前、およびそれらが接続されているものを見つけるには、通常、たとえばdocument.xmlのwordフォルダー、およびおそらく「ヘッダー」と「フッター」の1つ以上を調べる必要があります。 xmlファイル。
私は同様の問題を抱えていました。一部のサードパーティのツールボックスがクラッシュし、変数値を設定する必要がありました。
これは少し大雑把ですが、ActiveDocument.Variables
コレクション内のすべての変数をリストするVBAコードを以下に示します。
Public Sub ListAllVariables()
Dim V As Variable, S As String
For Each V In ActiveDocument.Variables
S = S & V.Name & vbTab & V.Value & vbNewLine
Next V
MsgBox S
End Sub
新しいマクロを作成してそこにダンプすると、情報が得られます。興味のある変数の名前が見つかったら、次のように設定できます
ActiveDocument.Variables("MyVariable") = "Value"