- ベストアンサー
Accessにエクセルからデータをインポートしたい(VBA)
Access(2000)のVBAでExcel(2000)からデータをインポートしたいと思います。 詳細は以下の通りです。 フォームでコマンドボタンをクリック時にダイアログボックスが開き、ファイルを指定し、該当のシート(シート名はどのファイルも固定)のデータをアクセスのテーブルにインポートしたい。 どうしたらできるのかここ数日悩んでいます。 よい方法がありましたら教えてください。
- みんなの回答 (2)
- 専門家の回答
質問者が選んだベストアンサー
>フォームでコマンドボタンをクリック時にダイアログボックスが開き、ファイルを>指定し、該当のシート(シート名はどのファイルも固定)のデータをアクセスのテ>ーブルにインポートしたい。 過去に同様な質問がありました。(http://oshiete1.goo.ne.jp/kotaeru.php3?q=268353httpを参照ください。) まず >フォームでコマンドボタンをクリック時にダイアログボックスが開き、ファイルを>指定し、 というところはAccessDeveloper版でなければダイアログボックスは使えません。 そこでWindowsAPIを使用します。(下記参考URL参照ください。) これを使ってファイルの情報が得られたらあとはデータをインポートすればよいだけです。がんばってください。 PS このWindowsAPIはファイルを開くダイアログボックスですが、このサンプルコードのOPENをSAVEに変えたらファイルを保存のダイアログボックスになるようです。
その他の回答 (1)
- muran
- ベストアンサー率31% (12/38)
TransferSpreadsheet メソッド を使用すれば、指定したファイルのデータをインポートできます。 ヘルプにも載っているので確認してみてください。 使用例:TBL_TESTというテーブルにtest.xlsの内容をインポートする DoCmd.TransferSpreadsheet acImport, 3,"TBL_TEST","C:\test\test.xls"
お礼
ありがとうございます。 インポートはできそうなんですけど、その時にダイアログが開くかどうか・・・ やってみないことには解りませんね。 今、エクセルの方でもVBAをやってるので、なかなか捗りません!!
補足
できました。引数の宣言にちょっと戸惑ってしまいましたが…。 テーブルのインポートはできましたが、ダイアログでファイルを選択したいので、 No1の方をやってみます。
お礼
ありがとうございます。 No2をやってみた後に、AccessDeveloper版で試してみたいと思います。