2014-10-17 42 views
0

我有一個批處理文件,它運行一組SQL查詢並將數據加載到表中。使用vbs腳本從批處理文件中將數據提取到Excel中

我已經編寫了用於在excel中單擊按鈕的VBA腳本來檢索上表中的數據。

但是現在我的要求已經改變,無需點擊按鈕即可將數據填充到excel中。此外,我不希望我的代碼在工作簿打開事件。

我必須將我的vba代碼更改爲.vbs腳本,以便我可以從批處理文件中調用它。 請幫幫我。如果我的方法錯了,請糾正我。

+1

你爲什麼不使用Excel數據表來代替:HTTP ://excelusergroup.org/blogs/nickhodge/archive/2008/11/04/excel-2007-getting-external-data.aspx – Jobbo 2014-10-17 08:15:15

回答

1

寫一個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 
+0

我的excel沒有得到數據更新。 但是宏運行正常。 我從bat文件中調用了vbs。 – 2014-10-17 14:03:45

+0

您需要添加一行以保存Excel文件-http://msdn.microsoft.com/en-us/library/office/ff841185(v = office.15).aspx上面的代碼只是執行宏 – 2014-10-17 14:04:35

+0

我將我的excel文件保存爲.xlsm,並且每次打開它時,都必須啓用該內容。這是通過腳本打開文件時的問題嗎? – 2014-10-17 14:06:08

相關問題