使用vbs脚本从批处理文件中将数据提取到Excel中

使用vbs脚本从批处理文件中将数据提取到Excel中

问题描述:

我有一个批处理文件,它运行一组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

写一个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