我开发了几个Excel宏来修改从日志中获取的数据并将结果写入SQL数据库。我也使用vbscript在后台运行这个Excel(和它的宏)并定期写出数据而不用打扰用户。 vbscript包含以下代码:
Dim objExcel
Set objExcel = CreateObject("Excel.Application")
objExcel.Application.Run "'C:\Users\W**\**\SQL.xlsm'!ThisWorkbook.workbook_open"
objExcel.DisplayAlerts = False
WScript.Sleep 60000
objExcel.Application.Quit
Set objExcel = Nothing
这完美无缺。但是,有一个问题。当Excel在后台执行时,似乎无法打开另一个工作簿。有谁知道这个问题是否以及如何解决?
提前致谢。
答案 0 :(得分:0)
在行Set objExcel = CreateObject("Excel.Application")
之后,添加
objExcel.Visible = False
这将强制Excel在交互式启动时生成新实例。
答案 1 :(得分:0)
对于那些有同样问题的人来说,似乎我在经过多次试验和错误后找到了一个可行的解决方案。
在最开始添加以下语句以创建第二个实例似乎可以解决所有问题:
Set Excel = CreateObject("Excel.Application")