Excelのワークシートにデータを書き込む方法

◆概要
このページは、AccessでExcelのワークシートにデータを書き込む方法について記載しています。

◆DDEPokeメソッド

DDEPokeステートメントを使って、開いているDDEチャンネルで、クライアントアプリケーションからサーバーアプリケーションにテキストデータを送信することができます。

すでに開いているExcelのワークシートへAccessからデータを送信するには、「DDEPoke ch,セル番地,データ」と記述し、指定したセル番地へ値を送信することができます。


◆使用例
Cドライブのルートにある、Excelファイル「test.xls」の11行目1列にインプットボックスで入力した値を送信します。

Function dataToExcel()
   Dim ch As Variant
   Dim s1 As Variant
   Dim c As Integer
   Dim data As Variant

   On Error GoTo err1

   ' Excelファイル「成績表」とDDE変換を開始する
   ch = DDEInitiate("Excel", "c:\test,xls")
   ' ワークシートの11行目1列にインプットボックスで入力した値を代入する
   data = InputBox("住所をを入力してください。")
   DDEPoke ch, "R11C1", data
   ' DDEチャンネルを閉じる
   DDETerminate (ch)
   Exit Function

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


▼ページトップに戻る