使用vbs打开Excel工作簿,运行宏并保存工作簿

ALE*_*EXM 3 vbscript excel vba

  • 我有一个宏,我需要每5分钟运行一次.我有一个vbs调度宏的文件.
  • 宏正在检查某个文件夹中的新文件,将其信息写入表中,然后将文件移动到存档中.
  • 该表与宏在同一个excel文件中!

它正在运行宏,但最后,它问我是否不保存文件.

我需要它来自动保存宏对文件所做的更改!

这是我目前的vbs代码:

Option Explicit

Dim xlApp, xlBook

Set xlApp = CreateObject("Excel.Application")
xlApp.DisplayAlerts = False
Set xlBook = xlApp.Workbooks.Open("W:\Excel Macro\EIM File Maneger\EIM_file_check.xlsm", 0, True)

xlApp.Run "GetFiles"

xlBook.Close true
xlApp.Quit

Set xlBook = Nothing
Set xlApp = Nothing

WScript.Echo "Finished."
WScript.Quit
Run Code Online (Sandbox Code Playgroud)

bre*_*tdj 5

下面更新了代码,我也调整了清理的逻辑

Dim xlApp, xlBook

Set xlApp = CreateObject("Excel.Application")
xlApp.DisplayAlerts = False
Set xlBook = xlApp.Workbooks.Open("W:\Excel Macro\EIM File Maneger\EIM_file_check.xlsm", 0, True)


xlApp.Run "GetFiles"

xlbook.Save
xlBook.Close False
set xlBook = Nothing

xlApp.Quit
Set xlApp = Nothing

WScript.Echo "Finished."
WScript.Quit
Run Code Online (Sandbox Code Playgroud)

  • 看起来这样不应该工作,因为你指定的文件将以`ReadOnly`模式打开. (3认同)
  • @DavidZemens 我刚刚使用此代码执行类似的任务,我希望我先阅读您的评论。由于 DisplayAlerts 为 false 并且该文件是只读的,因此它无法保存。将只读参数更新为 false 确实解决了问题 (2认同)