Microsoft Access Club >VBAのTips解説 >このページ >次頁 < 前項  サイト内検索
 

DDEPoke関数を用いてテーブルデータをExcelシートに書き込む方法 : VBAのTips解説



DDEPoke関数

DDEPoke関数とは、開いているDDEチャネルを利用して、クライアントアプリケーションからサーバーアプリケーションにテキストデータ送信する関数です。例えば、AccessとExcelの間でDDE通信を行っている場合、DDEPoke関数を使って、AccessのテーブルデータをExcelに書き込むことができます。この時、Access がクライアントアプリケーション、Excelがサーバーアプリケーションの関係になります。サンプルファイルをご利用の場合、OSやExcelのバージョンの違いによりExcelのインストール先フォルダーが異なります。ご自分の環境に書き換えて下さい。また、事前にExcelファイル「取引先マスターバックアップ」作成し、Cドライブに保存して下さい。

  • 書式
DDEPoke(ChanNum, Item, Data)
  • 引数
引数 意味 指定
ChanNum DDE通信を行う固有のチャンネル番号を指定します。この番号は、DDEInitiateメソッドを利用してDDE通信が確立されると自動的に割り振られます 省略不可
Item 定められたデータアイテムを指定(ここでは、Excelのセル)します 省略不可
Data サーバーアプリケーション(ここではExcel)へ送信するデータを指定します 省略不可

関連項目

  1. Shell関数
  2. DDEInitiate関数
  3. DDEExecute関数
  4. DDETerminate関数

事例 ) AccessのテーブルデータをExcelのシートに書き込む

AccessのテーブルデータをExcelのシートに書き込みます。

  1. 非連結フォームを作成します。
  2. 実行するコマンドボタンを作成します。

コマンドボタンクリック時イベントプロシージャの作成

コマンドボタンクリック時イベントプロシージャを以下のように作成します。

Private Sub 実行_Click()

   On Error GoTo エラー

   Dim MyChan As Long
   Dim strExcelPath As String
   Dim strFilePath As String
   Dim intNo As Integer

   Dim CN As New ADODB.Connection '--- A
   Dim RS As New ADODB.Recordset
   Set CN = CurrentProject.Connection
   RS.Open "取引先マスター", CN, adOpenKeyset, adLockOptimistic

   strExcelPath = "C:\Program Files\Microsoft Office\OFFICE11\EXCEL.EXE"
   strFilePath = "C:\取引先マスター.xls"

   Shell strExcelPath, 1
   MyChan = DDEInitiate("Excel", "System")

   DDEExecute MyChan, "[open(""" & strFilePath & """)]"

   MyChan = DDEInitiate("Excel", "Sheet1")

   Do Until RS.EOF
      intNo = intNo + 1
      DDEPoke MyChan, "R" & intNo & "C1", RS!ID '--- B
      DDEPoke MyChan, "R" & intNo & "C2", RS!取引先
      DDEPoke MyChan, "R" & intNo & "C3", RS!売上金額 & "円"
      RS.MoveNext
   Loop

   RS.Close: Set RS = Nothing
   CN.Close: Set CN = Nothing

   DDETerminate MyChan

   Exit Sub

エラー:

   MsgBox Err.Number & " : " & Err.Description
   Exit Sub

End Sub
解説
  1. ADOを用いて、データを取得します。
  2. DDEPokeメソッドを用いて、Excelファイルにフィールドデータを書き込みます。

実行結果

  1. フォームをビューモードで開きます。
  2. [実行] ボタンをクリックします。

  1. DDE通信が始まり、「取引先リスト」テーブルの全データがExcelファイル「取引先マスターバックアップ.xls」に書き込まれます。

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

 


DDEPoke関数を用いてテーブルデータをExcelシートに書き込む方法 : VBAのTips解説


 

-Microsoft Access Club-

アメリカ合衆国の大手データセンターのアダルト対応可能なリーズナブル価格設定の専用・共有レンタルサーバーをご提供しています。
アメリカ合衆国の大手データセンターにサーバー機器を設置。
アダルト対応可能な専用・共有レンタルサーバーを提供。