打开Excel文件,运行macros,保存(覆盖)
我目前正在尝试创build一个.vbs哪个
- 打开Excel
- 运行macros
- 用新的信息保存
- 退出
这是我迄今为止:
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