Microsoft Access Club >SampleFile >インデックス >このページ >次頁 < 前項  サイト内検索
 

DDE を用いてExcelファイルを開く方法 : SampleFile245



DDE(ダイナミック データ エクスチェンジ 、Dynamic Data Exchange) を用いることで、AccessからExcel、Wordファイルを操作することができます。

Excelファイルの作成

今回、DDEを用いて、AccessからExcelファイルを開きます。 なお、サンプルファイルを実行する前に、Cドライブにエクセルファイル Sample.xls を作成します。

 

DDE

 Windows上でアプリケーションソフト同士がデータやコマンドを行なうための手順の一つ。Windows 2.0から実装されているが、OLEなどに取って代わられ、現在ではあまり使われていない。

IT用語辞典 e-Words

留意点

現在では、DDEを用いずOLEを使用した方が、アプリの組み方でいろんな選択肢を用いることができます。

 

OLE

Windowsにおいて、アプリケーションソフト間でデータを転送・共有するための仕組み。

 OLEを使うことによって、あるアプリケーションソフトで作成している文書の中に、別のアプリケーションソフトで作成した情報を埋め込んだり、別のアプリケーションソフトの機能をあたかも自分の機能であるかのように提供することができるようになる。

 1991年に登場したOLE 1.0はWindows 3.1に搭載された。大幅に機能を拡張したOLE2が1993年に登場し、Windows 95に搭載された。1996年にはインターネットに対応するための機能を追加したものが登場し、名称も「ActiveX」に改められた。

 OLEを利用することにより、単独では実行できないが、特定の機能のみを持つ部品化された小さなソフトウェアを作成することができ、これをOLEコントロールと呼ぶ。

 OLEコントロールはアプリケーションソフトに機能を追加するのに利用される。企業が自社特有の処理をOLEコントロールとして作成し、市販のアプリケーションソフトに組みこんで使うことにより、0から専用のアプリケーションソフトを開発するよりも低コストにカスタムアプリケーションソフトを作成することができる

IT用語辞典 e-Words

  • ExcelをOLEで操作する場合は、CreatObject メソッド や GetObject メソッドを用いて行います。

DDEInitiate 関数 接続チャンネルの確認

Access側からExcel側にDDE接続する場合は、DDEInitiate 関数を用いてAccess側にプロシージャを作成します。

下記のサンプルプロシージャを実行すると、その時々のDDEチャンネルを示すことができます。

Function DDEInitiateCK()

    Dim MyChan As Long
    Dim strExcelPath As String

    'Excelのフルパスを記述します。
    strExcelPath = "C:\Program Files\Microsoft Office\OFFICE11\EXCEL.EXE"

    Shell strExcelPath, 1

    MyChan = DDEInitiate("Excel", "System")
    MsgBox "接続チャンネルは : " & MyChan & "です"
    
    DDETerminate MyChan

End Function
動作確認

プロシージャを実行すると、以下のメッセージボックスが表示されます。

DDEの流れ

DDE接続チャンネルを確立すると、後はExcelファイルを開くだけです。DDEの流れは、

  1. Shell関数で、Excelを起動させる。
  2. ExcelとのDDE通信を開始する。(DDEInitiateメソッド)
  3. 目的のExcelファイルを開く。(DDEExecuteメソッド)

です。

DDEExecute メソッド Excelファイルを開く

DDE接続を行うExcelファイルを事前に作成する必要があります。サンプルでは、CドライブにSample.xlsファイルを作成しています。

Functionプロシージャの作成
Function DDEExcelOpen()

    Dim MyChan As Long
    Dim strExcelPath As String
    Dim strFilePath As String

    'Excelのフルパスを記述します。
    strExcelPath = "C:\Program Files\Microsoft Office\OFFICE11\EXCEL.EXE"
    'Excelファイルの保存場所を定義します。
    strFilePath = "C:\sample.xls"
    
    Shell strExcelPath, 1
    MyChan = DDEInitiate("Excel", "System")
    
    'Excelファイルを開きます。
    DDEExecute MyChan, "[open(""" & strFilePath & """)]"
    
    '接続を切断します。
    DDETerminate MyChan

End Function
解説
  1. サンプルは、WindowsXP、Office2003で作成しました。ご自分のPC環境に合わせて、Excelのフルパスを書き換えて下さい。

関連ページ

ページの先頭へ 前ページへ戻る

 


DDE を用いてExcelファイルを開く方法 : SampleFile245


 

-Microsoft Access Club-