我有一個批處理文件,它運行一組SQL查詢並將數據加載到表中。使用vbs腳本從批處理文件中將數據提取到Excel中
我已經編寫了用於在excel中單擊按鈕的VBA腳本來檢索上表中的數據。
但是現在我的要求已經改變,無需點擊按鈕即可將數據填充到excel中。此外,我不希望我的代碼在工作簿打開事件。
我必須將我的vba代碼更改爲.vbs腳本,以便我可以從批處理文件中調用它。 請幫幫我。如果我的方法錯了,請糾正我。
我有一個批處理文件,它運行一組SQL查詢並將數據加載到表中。使用vbs腳本從批處理文件中將數據提取到Excel中
我已經編寫了用於在excel中單擊按鈕的VBA腳本來檢索上表中的數據。
但是現在我的要求已經改變,無需點擊按鈕即可將數據填充到excel中。此外,我不希望我的代碼在工作簿打開事件。
我必須將我的vba代碼更改爲.vbs腳本,以便我可以從批處理文件中調用它。 請幫幫我。如果我的方法錯了,請糾正我。
寫一個VBScript說:
執行蝙蝠
shell.Run """C:\...\my.bat"""
然後執行宏(下面的例子)
RunMacro
Sub RunMacro()
Dim xl
Dim xlBook
Dim sCurPath
path = CreateObject("Scripting.FileSystemObject").GetAbsolutePathName(".")
Set xl = CreateObject("Excel.application")
Set xlBook = xl.Workbooks.Open(path & "\Workbook.xlsm", 0, True)
xl.Application.Visible = False
xl.DisplayAlerts = False
xl.Application.run "Workbook.xlsm!Module.RunMacro"
xl.ActiveWindow.close
xl.Quit
Set xlBook = Nothing
Set xl = Nothing
End Sub
我的excel沒有得到數據更新。 但是宏運行正常。 我從bat文件中調用了vbs。 – 2014-10-17 14:03:45
您需要添加一行以保存Excel文件-http://msdn.microsoft.com/en-us/library/office/ff841185(v = office.15).aspx上面的代碼只是執行宏 – 2014-10-17 14:04:35
我將我的excel文件保存爲.xlsm,並且每次打開它時,都必須啓用該內容。這是通過腳本打開文件時的問題嗎? – 2014-10-17 14:06:08
你爲什麼不使用Excel數據表來代替:HTTP ://excelusergroup.org/blogs/nickhodge/archive/2008/11/04/excel-2007-getting-external-data.aspx – Jobbo 2014-10-17 08:15:15