Access 2007 VBA を VBS から実行する [BI]
ダーティーな方法ですがとりあえず何とかしたい時に役立つかもしれませんw
ちなみに以下のマクロはクエリを発行したのちExcelに吐き出すスクリプトです。
-----Access VBAの内容始まり-----
Sub マクロ名()
Dim strac As String
Dim varxls As Variant
Dim strmsg As String
strac = "クエリ名"
varxls = "C:\tmp\エクセルファイル.xls"
DoCmd.TransferSpreadsheet acExport, acSpreadsheetTypeExcel9, strac, varxls, True
End Sub
-----Access VBAの内容終わり-----
-----VBSの内容始まり-----
Set objArgs = Wscript.Arguments
runXLmacro
Function runXLmacro()
Dim AcApp
Set AcApp = CreateObject("Access.Application")
AcApp.visible = true
AcApp.OpenCurrentDatabase "C:\Documents and Settings\ユーザ名\デスクトップ\XXX.accdb"
AcApp.Run "マクロ名"
End Function
-----VBSの内容終わり-----
この内容を書いたVBSを実行すればAccess内のマクロが実行されます。
ちなみに以下のマクロはクエリを発行したのちExcelに吐き出すスクリプトです。
-----Access VBAの内容始まり-----
Sub マクロ名()
Dim strac As String
Dim varxls As Variant
Dim strmsg As String
strac = "クエリ名"
varxls = "C:\tmp\エクセルファイル.xls"
DoCmd.TransferSpreadsheet acExport, acSpreadsheetTypeExcel9, strac, varxls, True
End Sub
-----Access VBAの内容終わり-----
-----VBSの内容始まり-----
Set objArgs = Wscript.Arguments
runXLmacro
Function runXLmacro()
Dim AcApp
Set AcApp = CreateObject("Access.Application")
AcApp.visible = true
AcApp.OpenCurrentDatabase "C:\Documents and Settings\ユーザ名\デスクトップ\XXX.accdb"
AcApp.Run "マクロ名"
End Function
-----VBSの内容終わり-----
この内容を書いたVBSを実行すればAccess内のマクロが実行されます。
コメント 0