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

3
  • 我有一个宏需要每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
1个回答

6

下面是更新后的代码,我还调整了清理逻辑。

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

我需要它保存已更改的文件。 - ALEXM
你改了什么? - ALEXM
3
似乎这不会起作用,因为你指定了以“只读”模式打开文件。 - David Zemens
2
@DavidZemens 我刚刚为类似的任务使用了这段代码,但我希望我先看了你的评论。由于DisplayAlerts为false且文件是只读的,它会在保存时悄无声息地失败。将只读参数更新为false确实解决了问题。 - David Cram

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接