在VB脚本

时间:2017-01-24 16:15:09

标签: excel excel-vba vbscript vba

我写了下面一个月的VB脚本 ,其目的是:

  1. 打开Excel文件
  2. 全部刷新(是2x)
  3. 保存文件的工作副本。
  4. 如果是星期五,则使用日期作为命名约定的一部分保存文件的存档版本。
  5. 从那时起,它通过任务计划程序每天都运行良好。但是,今天我收到了一个错误 - 800A03EC - 它引用了第9行的RefreshAll方法。

    Option Explicit
    
    Dim xlApp, xlBook, xlSheet
    
    Set xlApp = CreateObject("Excel.Application")
    Set xlBook = xlApp.Workbooks.Open("G:\MyFolder\MyFile.xlsx")
    Set xlSheet = xlBook.worksheets.item(1)
    
    xlBook.RefreshAll
    WScript.Sleep(2*60*1000)
    xlBook.RefreshAll
    WScript.Sleep(2*60*1000)
    
    xlBook.Save
    
    If Weekday(Date()) = 6 Then
    xlBook.SaveAs "G:\MyFolder\" & Year(Date()) & "\" & "MyFile - " & DatePart("m", Now) & DatePart("d", Now) & DatePart("yyyy", Now) & ".xlsx"
    End If
    
    xlBook.Close
    xlApp.Quit
    
    Set xlSheet = Nothing
    Set xlBook = Nothing
    Set xlApp = Nothing
    

    诊断尝试:

    • Excel文件打开时没有错误
    • 打开后,我可以在Excel文件中手动刷新
    • Excel文件名未更改。
    • 如果我在脚本中注释掉RefreshAll行,它会运行而不会出错。
    • 我有另一个通过任务计划程序运行的VB脚本。
      • 已成功完成。
      • 它不使用RefreshAll方法。它确实使用宏来更新数据。

    此时任何建议都会有所帮助。感谢。

0 个答案:

没有答案
相关问题