Variables オブジェクト (Word)
文書またはテンプレートに追加された変数を表す Variable オブジェクトのコレクションです。 文書変数は、マクロ セッション間のマクロの設定を保持するために使用されます。
Variables コレクションを取得するのにには、 変数 のプロパティを使用します。 次の例は、"Sales.doc"という名前のドキュメント内の変数の数を表示します。
MsgBox Documents("Sales.doc").Variables.Count & " variables"
変数をドキュメントに追加するのにには、 Add メソッドを使用します。 次の使用例は、値が作業中の文書の 12 の"Temp"という名前の文書変数を追加します。
ActiveDocument.Variables.Add Name:="Temp", Value:="12"
Variables コレクションに既に存在する名前の文書変数を追加しようとすると、エラーが発生します。 このエラーを回避するのには、新しい変数を追加する前にコレクションを列挙できます。 作業中の文書に文書変数 Blue が既に存在する場合次の使用例は、その値を 6 に設定します。 この変数は存在しない、次の使用例は、ドキュメントに追加してを 6 に設定します。
For Each aVar In ActiveDocument.Variables
If aVar.Name = "Blue" Then num = aVar.Index
Next aVar
If num = 0 Then
ActiveDocument.Variables.Add Name:="Blue", Value:=6
Else
ActiveDocument.Variables(num).Value = 6
End If
オブジェクトを取得する 1 つ の変数 に 変数 (インデックス) に文書変数の名前またはインデックス番号を使用します。 次の例では、作業中の文書に文書変数 Temp の値を表示します。
MsgBox ActiveDocument.Variables("Temp").Value
インデックス番号は、 Variables コレクション内のドキュメント変数の位置を表します。 Variables コレクションに追加される最初の 変数 はインデックス番号 1 です。コレクションに追加される 2 番目の変数はインデックス番号 2 などです。 次の使用例は、作業中の文書の最初のドキュメント変数の名前を表示します。
MsgBox ActiveDocument.Variables(1).Name
テンプレートに変数を追加するには、 OpenAsDocument メソッドを使用して文書としてテンプレートを開きます。 作業中の文書に添付されたテンプレートで、ユーザー名を [ オプション] ダイアログ ボックス) を格納する例を次にします。
ScreenUpdating = False
With ActiveDocument.AttachedTemplate.OpenAsDocument
.Variables.Add Name:="UserName", Value:= Application.UserName
.Close SaveChanges:=wdSaveChanges
End With
Office VBA またはこの説明書に関するご質問やフィードバックがありますか? サポートの受け方およびフィードバックをお寄せいただく方法のガイダンスについては、Office VBA のサポートおよびフィードバックを参照してください。