打开Excel文件,运行macros,保存(覆盖)

我目前正在尝试创build一个.vbs哪个

  1. 打开Excel
  2. 运行macros
  3. 用新的信息保存
  4. 退出

这是我迄今为止:

Dim xlApp, xlBook Set xlApp = CreateObject("Excel.Application") xlApp.DisplayAlerts = False Set xlBook = xlApp.Workbooks.Open("C:\test\test.xlsm", 0, True) xlApp.Run "test" xlbook.Save xlBook.Close False set xlBook = Nothing xlApp.Quit Set xlApp = Nothing WScript.Echo "Upload is Finished" WScript.Quit 

我得到“上传已完成”,但macros不保存。 我究竟做错了什么?

macros只是把一个工作表中的东西放到另一个工作表上:

 Sub test() ' ' test Macro ' Sheets("Sheet2").Select Range("A1:A10").Select Range("A10").Activate Selection.Cut ActiveSheet.Previous.Select Selection.End(xlToLeft).Select Range("A2").Select ActiveSheet.Paste End Sub 

出于好奇,为什么在Excel中的macros? 如果您通过对象控制Excel,为什么不在那里有macros代码呢?

 Dim xlApp, xlBook Set xlApp = CreateObject("Excel.Application") xlApp.DisplayAlerts = False Set xlBook = xlApp.Workbooks.Open("C:\test\test.xlsm", 0, True) xlbook.Sheets("Sheet2").Range("A1:A10").Cut xlbook.Sheets("Sheet2").Previous.Select xlbook.Range("A2").Paste xlbook.Save xlBook.Close False set xlBook = Nothing xlApp.Quit Set xlApp = Nothing WScript.Echo "Upload is Finished" WScript.Quit 
 xlBook.Close False 

意味着“closures并不保存更改”。 也许你想要

 xlBook.Close SaveChanges:=True