我正在使用excel 2003。 我的要求是每十分钟打开并保存一张excel表。
我的工作表使用ODBC连接来获取数据,每次打开时都会刷新。
我创建了一个计划任务来运行一个调用VB脚本的bat文件,该脚本将打开excel表并在关闭之前保存它。
Bat文件
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以满足我的要求?
由于
答案 0 :(得分:1)
尝试同时加载Analysis ToolPak - VBA
。这可能会导致你看到的问题......
AddIns("Analysis ToolPak - VBA").Installed = True