次の方法で共有


他のアプリケーションとデータを交換する

Word データの操作に加えて、Excel、PowerPoint、Access などの他のアプリケーションとデータを交換することもできます。 オートメーション (以前の OLE オートメーション) または動的データ交換 (DDE) を使用すると、その他のアプリケーションとデータを交換できます。

他のアプリケーションから Word を自動化する

Automation allows you to return, edit, and export data by referencing another application's objects, properties, and methods. Application objects that can be referenced by another application are called Automation objects.

Word をオートメーション用の別のアプリケーションで使用できるようにする最初の手順は、Word Application オブジェクトへの参照を作成することです。 Visual Basic では、Visual Basic CreateObject または GetObject 関数を使用して、Word Application オブジェクトへの参照を返します。 たとえば、Excel プロシージャでは、次の命令を使用できます。

Set wrd = CreateObject("Word.Application")

これで、Word の Application オブジェクトがオートメーションで使用できます。 Word の Application オブジェクトのオブジェクト、プロパティ、およびメソッドを使用すると、Word を制御できます。 たとえば、次のコードは、Word の新しい文書を作成します。

wrd.Documents.Add

新しく作成した文書は、 Visible プロパティを使用して表示することができます。

wrd.Visible = True

CreateObject 関数を使用すると Word セッションを起動でき、このセッションは、 Application オブジェクトを参照する変数が無効であってもオートメーションで閉じられることはありません。 オブジェクト参照に Visual Basic の Nothing キーワードを設定しても、Word は閉じられません。 Word アプリケーションを閉じるには、 Quit メソッドを使用します。 次の Excel の例では、Word のスタートアップ パスが表示されます。 スタートアップ パスの表示後、Quit メソッドを使用して、Word の新しいインスタンスを閉じます。

Set wrd = CreateObject("Word.Application") 
MsgBox wrd.Options.DefaultFilePath(wdStartupPath) 
wrd.Quit

Word から別のアプリケーションを自動化する

Word から Automation を使用して別のアプリケーションとデータを交換するには、まず CreateObject 関数または GetObject 関数を使用してアプリケーションへの参照を取得します。 次に、他のアプリケーションのオブジェクト、プロパティ、メソッドを使用して、情報を追加、変更、または削除します。 変更を完了したら、アプリケーションを閉じます。 次の Word の例では、Excel のスタートアップ パスが表示されます。 アプリケーションを閉じるのと同じ効果を持つオブジェクト変数をクリアするには、Nothing キーワードを指定して Visual Basic Set ステートメントを使用します。

Set myobject = CreateObject("Excel.Application") 
MsgBox myobject.StartupPath 
Set myobject = Nothing

動的データ交換 (DDE) の使い方

アプリケーションがオートメーション機能をサポートしていない場合は、その代わりに DDE を使用することができます。 DDE は、2 つのアプリケーションが DDE "チャネル" を介してデータを継続的かつ自動的に交換することで通信できるようにするプロトコルです。2 つのアプリケーション間の DDE 会話を制御するには、チャネルを確立し、トピックを選択し、データを要求して送信してから、チャネルを閉じます。 次の表は、Word が DDE で実行する作業と、Visual Basic で各作業を制御するために使用するメソッドの一覧です。

セキュリティに関するメモ

タスク メソッド
DDE を起動する DDEInitiate
別のアプリケーションから文字列を取得する DDERequest
別のアプリケーションに文字列を送信する DDEPoke
別のアプリケーションでコマンドを実行する DDEExecute
DDE チャネルを閉じる DDETerminate
すべての DDE チャネルを閉じる DDETerminateAll

サポートとフィードバック

Office VBA またはこの説明書に関するご質問やフィードバックがありますか? サポートの受け方およびフィードバックをお寄せいただく方法のガイダンスについては、Office VBA のサポートおよびフィードバックを参照してください。