【发布时间】:2013-06-04 23:14:26
【问题描述】:
我正在使用 excel 2003。 我的要求是每十分钟打开并保存一个 Excel 表。
我的工作表使用 ODBC 连接来获取数据,并且每次打开时都会刷新。
我创建了一个计划任务来运行一个调用 VB 脚本的 bat 文件,该脚本将打开 Excel 工作表并在关闭之前保存它。
蝙蝠文件
C:\SaveExcel.vbs C:\MySheet.xls
Exit
VB 脚本:
Dim args, objExcel
Set args = WScript.Arguments
Set objExcel = CreateObject("Excel.Application")
objExcel.Workbooks.Open args(0)
objExcel.Visible = True
objExcel.Workbooks.Open "C:\Program Files\Microsoft Office\OFFICE11\Library\Analysis\FUNCRES.XLA"
objExcel.Addins("Analysis Toolpak").Installed = True
objExcel.Addins("Analysis ToolPak - VBA").Installed = True
objExcel.ActiveWorkbook.RefreshAll
WScript.Sleep 10000 ' Waiting as refresh may take upto ten seconds
objExcel.ActiveWorkbook.Save
objExcel.ActiveWorkbook.Close(0)
objExcel.Quit
上面的问题是插件“分析工具包”没有加载,因此当我使用上面的 VB 打开工作表时,大多数公式都不起作用。
如果我通过 CMD 打开,插件就可以工作。
CMD>"C:\Program Files\Microsoft Office\OFFICE11\EXCEL.EXE" "C:\MySheet.xls"
我从来没有用 VB 醒来,有没有办法合并 cmd 和 vb 来满足我的要求?
谢谢
【问题讨论】:
-
您是否也尝试加载
AddIns("Analysis ToolPak - VBA").Installed = True?
标签: vba excel batch-file cmd