• ベストアンサー
※ ChatGPTを利用し、要約された質問です(原文:アクセスからエクセルを開いてデータを取得するには?)

アクセスからエクセルを開いてデータを取得する方法

このQ&Aのポイント
  • MS AccessからExcelを開いて、Excel上のデータを取得する方法について教えてください。
  • MS AccessではCellsを使用することができないため、別の方法でデータを取得する必要があります。
  • Excel.Applicationオブジェクトを使用してExcelを開き、データを取得することができます。

質問者が選んだベストアンサー

  • ベストアンサー
  • 11zep
  • ベストアンサー率36% (48/133)
回答No.2

"Cells"だけでは、エラーになると思います。 Applicationのコレクションなので"oApp.Cells(GYA,1).Value"としてみて下さい。 Excelだと省略しても動いてくれたと思います。

hidemari
質問者

お礼

11zepさん、こんにちは。 ありがとうございます。 oApp.を追加したらうまく動作しました。 Excelの癖でいきなり Cells・・・・としてしまいました。 

その他の回答 (3)

  • imogasi
  • ベストアンサー率27% (4737/17069)
回答No.4

エクセルーApplication Set oApp ブック Set bk=oApp..Workbooks.Open ・・・ シート Set sh=bk.Worksheet(”シート名") までを省略しないで、定義し sh.Cells(・・)とする癖をつけること。オブジェクト階層を明示するのだ。 多分こんななところが原因ではないか。

hidemari
質問者

お礼

mogasiさん、こんにちは。 ありがとうございます。 ついつい省略してしまう癖を直します!

  • o_chi_chi
  • ベストアンサー率45% (131/287)
回答No.3

できますよ。 oApp.Cells(GYO, 1).Value もしくは Dim oWorkbook As Object Set oWorkbook = oApp.Workbooks.Open("C:\TEST\Book1.xls") KI = oWorkbook.Cells(GYO, 1).Value あとWithを使えばもう少し見栄え良くなるし処理速度も向上します。

hidemari
質問者

お礼

o_chi_chiさん、こんにちは。 ありがとうございます。 setも有効なんですね。勉強になりました。

  • Saturn5
  • ベストアンサー率45% (2270/4952)
回答No.1

>AccessからExcelを開いて ここのところがよくわかりません。 AccessとExcelは別のソフトです。 一般には、レコードセットを開いて(定義して)そこから データを取得します。 http://www.geocities.jp/cbc_vbnet/ADO/recordset.html

hidemari
質問者

お礼

Saturn5さん、こんにちは。 Excelに記載してあるデータをAccessのtableから探し出し、処理をする というものを作りたかったのです。説明不足ですいません。

関連するQ&A