【问题标题】:Fetch Data into Excel from batch file using vbs script使用 vbs 脚本从批处理文件中获取数据到 Excel
【发布时间】:2014-10-17 07:03:16
【问题描述】:

我有一个批处理文件,它运行一组 SQL 查询并将数据加载到表中。

我已经编写了用于在 excel 中单击按钮以从上表中检索数据的 VBA 脚本。

但是现在我的要求已更改为无需单击按钮即可将数据填充到 excel 中。我也不希望我的代码出现在工作簿打开事件中。

我必须将我的 vba 代码更改为 .vbs 脚本,以便我可以从批处理文件中调用它。 请帮我。如果我的方法有误,请纠正我。

【问题讨论】:

标签: vba excel batch-file vbscript


【解决方案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

【讨论】:

  • 我的 excel 没有更新数据。但是宏运行正常。我从 bat 文件中调用了 vbs。
  • 需要添加一行保存Excel文件-msdn.microsoft.com/en-us/library/office/…上面的代码只是执行宏
  • 我将我的 excel 文件保存为 .xlsm,每次打开它时,我都必须启用内容。这也是通过脚本打开文件时的问题吗?
  • 尝试另存为,并可能提高信任级别,因此不应该出现警告(启用宏) - 不确定这个但值得一试。
  • saveas 是否有效,或者您是否也必须更改信任级别?
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2021-07-27
  • 1970-01-01
  • 2023-03-21
  • 2021-02-07
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多