SQLServer, Excel, Access の 連携

MDB上のテーブルを Excel・SQLServerに インポート/エクスポートする (テーブル指定)

接続文字列

lesson001.con


ODBC;DRIVER={SQL Server};SERVER=xxxxxx;DataBase=adventureworksdw;UID=yyyyyy;PWD=zzzzzz;

インポート/エクスポート用スクリプト

lesson005.vbs

'SQLServer 接続文字列 読み込み
Private fs
Set fs = CreateObject("Scripting.FileSystemObject")

Private tsCon
Set tsCon = fs.OpenTextFile(WScript.Arguments(3))

Private sCon: sCon = ""
If Not tsCon.AtEndOfStream Then
    sCon = tsCon.ReadLine
End If
tsCon.Close
Set tsCon = Nothing
Set fs    = Nothing


'Access を 起動
Dim accessApp
Set accessApp = CreateObject("Access.Application")
accessApp.Visible = True

'MDB ファイルを 開く
accessApp.OpenCurrentDataBase WScript.Arguments(0)

Dim acTable:                 acTable                 = 0
Dim acImport:                acImport                = 0
Dim acExport:                acExport                = 1
Dim acSpreadsheetTypeExcel9: acSpreadsheetTypeExcel9 = 8

'Excel に エクスポート
accessApp.DoCmd.TransferSpreadsheet acExport, acSpreadsheetTypeExcel9, "IMPORT_" & WScript.Arguments(1), WScript.Arguments(2), True, ""

'Excel から インポート
accessApp.DoCmd.TransferSpreadsheet acImport, acSpreadsheetTypeExcel9, "EXCEL_"  & WScript.Arguments(1), WScript.Arguments(2), True, ""

'SQLServer に エクスポート
accessApp.DoCmd.TransferDatabase    acExport, "ODBC",  sCon, acTable,  "EXCEL_"  & WScript.Arguments(1), "EXCEL_" & WScript.Arguments(1)

accessApp.Quit 
Set accessApp = Nothing
実行形式


C:\>cscript c:\study\vbscript\chapter007\lesson005.vbs c:\study\vbscript\chapter
007\lesson005.mdb DimAccount c:\study\vbscript\chapter007\lesson005.xls c:\study
\vbscript\chapter007\lesson001.con //nologo