从VBA脚本执行宏代码

时间:2014-11-05 13:41:21

标签: vba excel-vba excel

有一种方法可以将VBA代码转换为脚本,因此可以在不从EXCEL宏运行它的情况下执行它吗?

例如下面这段代码,我想运行它而不需要用包含它的宏打开Excel文件:

Sub XML_FILE()

Dim filename
MsgBox "Open File"
filename = Application.GetOpenFilename
If filename <> False Then
Workbooks.Open (filename)
MsgBox "Save File"
ActiveWorkbook.SaveAs filename:=filename, FileFormat:=xlOpenXMLWorkbook

End If

End Sub

使这个和其他宏作为脚本运行的步骤是什么?

1 个答案:

答案 0 :(得分:3)

试试这个1.打开记事本文件并粘贴到代码下面:

Dim objExcel, objWorkbook 

Set objExcel = CreateObject("Excel.Application")
Set objWorkbook = objExcel.Workbooks.Open("C:\Folder\example.xlsm")
objExcel.Visible = False
objExcel.Run "XML_FILE"
objWorkbook.Close
objExcel.Quit

Set objWorkbook = Nothing
Set objExcel = Nothing

WScript.Echo "Finished."
WScript.Quit

说明

1.使用您的宏函数名称更改objExcel.Run "Report"

然后将文件保存为test.vbs,然后运行它将运行的文件而不打开excel文件。