メイン コンテンツへスキップ
サポート
Microsoft アカウントでサインイン
サインインまたはアカウントを作成してください。
こんにちは、
別のアカウントを選択してください。
複数のアカウントがあります
サインインに使用するアカウントを選択してください。

Microsoft Word 2000 については、次の資料を参照してください。209227
Microsoft Word 97 については、次の資料を参照してください。181816
Microsoft Word 7.0 については、次の資料を参照してください。106388

概要

この資料では、Microsoft Word の使用中に、文書変数を格納および取得する方法について説明します。

詳細

マイクロソフトは、この情報をプログラミング言語の使用方法の一例として提供するだけであり、市場性および特定目的への適合性を含めて、明示的にも黙示的にも、一切の保証をいたしません。この資料は、例示されているプログラミング言語やプロシージャの作成およびデバッグに使用するツールについて理解されているユーザーを対象としています。Microsoft Support 担当者は、特定のプロシージャの機能についての問い合わせにはお答えできますが、ユーザー固有の目的に合わせた機能の追加、プロシージャの作成などの内容変更は行っておりません。


この資料のサンプル コードを使用する方法の関連情報を参照するには、以下の「サポート技術情報」 (Microsoft Knowledge Base) をクリックしてください。

290140 サポート技術情報の Office XP プログラム用のサンプル コードを実行する方法

Microsoft Visual Basic for Applications (VBA) の Variables コレクションを使用して、Word 文書またはテンプレートの文字列変数の内容を設定および取得できます。



また、DocVariable フィールドを使用して、Word 文書内で表示するように設定されている文書変数の値を取得できます。

文書変数の値を設定および取得する方法



以下のサンプル マクロでは、Variables プロパティを使用して、現在の文書の文字列変数 "FullName" の値を格納し、その後に取得します。

Sub GetSetDocVars()

Dim fName As String
fName = "Jeff Smith"
' Set contents of variable "fName" in a document using a document
' variable called "FullName".
ActiveDocument.Variables.Add Name:="FullName", Value:=fName
' Retrieve the contents of the document variable.
MsgBox ActiveDocument.Variables("FullName").Value

End Sub

注 : 変数名が文書内で既に設定されている場合、以下のエラー メッセージが表示されます。

実行時エラー "5903": 指定した名前の変数は既に存在します。

名前を削除するか、または値引数をリセットする必要があります。

文書変数を削除する方法



以下のサンプル マクロでは、Variables プロパティを使用して、最初に文書変数の値の設定および取得を行い、次に作業中の文書からその変数を削除します。

Sub GetSetDeleteDocVars()

Dim fName As String
fName = "Jeff Smith"
' Set contents of variable "fName" in a document using a document
' variable called "FullName."
ActiveDocument.Variables.Add Name:="FullName", Value:=fName
' Retrieve the contents of the document variable.
MsgBox ActiveDocument.Variables("FullName").Value
' Delete the variable.
ActiveDocument.Variables("FullName").Delete

End Sub

DocVariable フィールドを使用して文書変数の値を取得する方法



以下のサンプル マクロでは、Variables プロパティを使用して文書変数を設定します。サンプル マクロの後に、DocVariable フィールドを使用して、値を取得し同じ文書のコンテンツに挿入する手順を説明します。

Sub GetSetDocVars()

Dim fName As String
fName = "Jeff Smith"
' Set contents of variable "fName" in a document using a document
' variable called "FullName."
ActiveDocument.Variables.Add Name:="FullName", Value:=fName

End Sub

DocVariable フィールドを使用するには、以下の手順を実行します。

  1. [挿入] メニューの [フィールド] をクリックします。



    注 : Microsoft Office Word 2007 では、[挿入] タブの [テキスト] の [クイック パーツ] をクリックし、[フィールド] をクリックします。

  2. [フィールドの種類] ボックスの一覧で、[文書の自動化] をクリックします。

  3. [フィールドの名前] ボックスの一覧で、[DocVariable] をクリックします。

  4. [フィールド プロパティ] の下の [新しい名前] ボックスに、文書変数の名前を入力します。



    注 : [フィールド プロパティ] の代わりに [フィールド プロパティの詳細] が表示される場合は、[コードの非表示] をクリックします。

  5. [OK] をクリックします。

マクロのセッション間で値を維持する場合は、以下のいずれかの方法を使用して値を格納できます。

  • PrivateProfileString プロパティを使用して、値をプライベート設定ファイルに格納する。



    PrivateProfileString プロパティの詳細については、Visual Basic Editor で [ヘルプ] メニューの [Microsoft Visual Basic ヘルプ] をクリックします。次に、Office アシスタントまたはアンサー ウィザードに PrivateProfileString プロパティと入力し、[検索] をクリックしてトピックを表示してください。


  • Variables プロパティを使用して文書内に値を格納する。



    Variables プロパティの詳細については、Visual Basic Editor で [ヘルプ] メニューの [Microsoft Visual Basic ヘルプ] をクリックします。次に、Office アシスタントまたはアンサー ウィザードに Variables プロパティと入力し、[検索] をクリックしてトピックを表示してください。


  • Visual Basic for Applications の入出力ステートメント (Write ステートメントまたは Print ステートメントなど) を使用して、テキスト ファイルに書き込む。



    データをファイルに書き込む方法の詳細については、Visual Basic Editor で [ヘルプ] メニューの [Microsoft Visual Basic ヘルプ] をクリックします。次に、Office アシスタントまたはアンサー ウィザードにデータをファイルに書き込むと入力し、[検索] をクリックしてトピックを表示してください。


  • AutoTextEntry オブジェクトを使用して、値を AutoText エントリに格納する。

    AutoTextEntry オブジェクトの詳細については、Visual Basic Editor で [ヘルプ] メニューの [Microsoft Visual Basic ヘルプ] をクリックします。次に、Office アシスタントまたはアンサー ウィザードで AutoTextEntry オブジェクトと入力し、[検索] をクリックしてトピックを表示してください。


ヘルプを表示

その他のオプションが必要ですか?

サブスクリプションの特典の参照、トレーニング コースの閲覧、デバイスのセキュリティ保護方法などについて説明します。

コミュニティは、質問をしたり質問の答えを得たり、フィードバックを提供したり、豊富な知識を持つ専門家の意見を聞いたりするのに役立ちます。

この情報は役に立ちましたか?

言語の品質にどの程度満足していますか?
どのような要因がお客様の操作性に影響しましたか?
[送信] を押すと、Microsoft の製品とサービスの改善にフィードバックが使用されます。 IT 管理者はこのデータを収集できます。 プライバシーに関する声明。

フィードバックをいただき、ありがとうございます。

×