每十分钟打开并保存一张excel 2003表

时间:2013-06-04 13:00:40

标签: excel vba excel-vba batch-file cmd

我正在使用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以满足我的要求?

由于

1 个答案:

答案 0 :(得分:1)

尝试同时加载Analysis ToolPak - VBA。这可能会导致你看到的问题......

AddIns("Analysis ToolPak - VBA").Installed = True