【问题标题】:VBScript to refresh all excel files in a specific folderVBScript刷新特定文件夹中的所有excel文件
【发布时间】:2018-10-11 13:42:08
【问题描述】:

我有一些 VBscript 应该转到特定文件夹,打开该文件夹中的所有 .xlsm 文件,刷新所有文件,保存并关闭文件。这个脚本每天早上 4 点由 Windows 任务调度程序启动。

当前,此脚本打开列出的第一个 .xlsm 文件,刷新但不保存,然后关闭。文件夹中没有其他文件被打开。

这是我目前拥有的代码:

Set fso = CreateObject("Scripting.FileSystemObject")
Set xl  = CreateObject("Excel.Application")
xl.Visible = True

For Each f In fso.GetFolder("[file path to folder i want files updated]").Files
  If LCase(fso.GetExtensionName(f.Name)) = "xlsm" Then
    Set wb = xl.Workbooks.Open(f.Path)
    wb.RefreshAll
    WScript.Sleep 5*60*1000
    wb.Save
    wb.Close
  End If
Next

xl.Quit

感谢您的任何建议。

【问题讨论】:

  • 如何确定文件没有被保存?代码对我来说看起来不错。您是否尝试过调试并查看发生了什么?
  • 刷新是每天将新的数据行引入表中。我知道文件没有保存,因为当我打开文件时数据没有更新,修改的日期也没有改变。我是 VBscript 的新手,我还没有运行调试器。 @PankajJaju

标签: excel vbscript


【解决方案1】:

只需将excel的设置更改为刷新时不要在后台运行。这将解决您的问题。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2011-05-11
    • 1970-01-01
    • 1970-01-01
    • 2021-10-16
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多