Excelのワークシートからデータを取得する方法

◆概要
このページは、AccessでExcelのワークシートからデータを取得する方法について記載しています。

◆DDERequest関数

DDERequest関数を使って、開いているDDEサーバーアプリケーションの情報を要求することができます。 すでに開いているExcelのワークシートからAccessでデータを取得するには、「DDERequest(ch,セル番地)」と記述し、指定したセル番地の値を取り込むことができます。


◆使用例
Cドライブのルートにある、Excelファイル「test.xls」の2行目のデータをAccessに取り込み、メッセージボックスで表示します。

Function GetExcelData()
   Dim ch As Variant
   Dim sl As Variant
   Dim i As Integer
   Dim data(6) As Variant

   On Error GoTo err1

   ' Excelファイル「test.xls」とDDE変換を開始する
   ch = DDEInitiate("Excel", "c:\test.xls")
   ' 変数dataに2行目1列から6列のデータを代入する
   For i = 1 To 6
       data(i) = DDERequest(ch, "R2C" & i)
   Next
   ' 変数dataの値をメッセージボックスに表示
   MsgBox (data(1) & data(2) & data(3) & data(4) & data(5) & data(6))
   ' DDEチャンネルを閉じる
   DDETerminate (ch)
   Exit Function

err1:
   If Err = 282 Then
       ' Excelを実行する
       ' Excelを実行する
       sl = Shell("C:\Program Files\Microsoft Office\OFFICE11\Excel.Exe")
       ' ExcelとのDDE変換を開始する
       ch = DDEInitiate("Excel", "system")
       ' Excelファイルを開く
       DDEExecute ch, "[open(""c:\test.xls"")]"
       Resume
   Else
       MsgBox (Error)
   End If
End Function


▼ページトップに戻る