プログラマとプロマネのあいだ

プログラマもやるし、プロマネもやるし、たまに似非アーキとか営業っぽいこともやる

Excelデータを新しいAccessファイルに取り込むVBScript

以前から、
汎用機データ→CSV変換→Excel変換→Accessへ取り込み
っていうことをやっていて、こないだ「CSV変換→Excel変換」の部分は、
http://www5b.biglobe.ne.jp/~taka_2/technique/csv2excel/index.html
で出来ることが分かったわけですが、「ExcelAccessへ取り込み」の部分を今回は自動化すべく、VBScriptを書いてみました。
スクリプトの内容はこんな感じ。

Set accessObject = CreateObject("Access.Application")

accessObject.newCurrentDatabase "C:\documents and settings\moge\デスクトップ\test.mdb"

Set acDoCmd = accessObject.DoCmd

' ExcelのSheet2(なぜか後ろに$付きのテーブル名となる)をAccessのSheet1テーブルにインポート
acDoCmd.TransferSpreadsheet 0, 8, "Sheet1", "C:\documents and settings\moge\デスクトップ\test.xls", True, "Sheet2$"

accessObject.Quit()

というわけで、意外と簡単に出来てしまいました。パスとか固定打ちなので、適当に汎用化させてあげれば、そこそこ使えるシロモノになるかも知れません。