我正在尝试从Excel文件外部运行Excel宏.我目前正在使用从命令行运行的".vbs"文件,但它一直告诉我无法找到宏.这是我正在尝试使用的脚本
Set objExcel = CreateObject("Excel.Application")
Set objWorkbook = objExcel.Workbooks.Open("test.xls")
objExcel.Application.Visible = True
objExcel.Workbooks.Add
objExcel.Cells(1, 1).Value = "Test value"
objExcel.Application.Run "Macro.TestMacro()"
objExcel.ActiveWorkbook.Close
objExcel.Application.Quit
WScript.Echo "Finished."
WScript.Quit
Run Code Online (Sandbox Code Playgroud)
这是我正在尝试访问的宏:
Sub TestMacro()
'first set a string which contains the path to the file you want to create.
'this example creates one and stores it in the root directory
MyFile = "C:\Users\username\Desktop\" & "TestResult.txt"
'set and open file for output
fnum = FreeFile()
Open MyFile For Output As fnum
'write project info and then a …
Run Code Online (Sandbox Code Playgroud) 我需要通过计划任务在Excel电子表格中运行宏.我把工作定义如下:
"C:\ Program Files\Microsoft Office\Office10\EXCEL.EXE"""
问题是,当作业启动时,Excel会显示一个弹出窗口,询问我们是否要禁用/启用宏,这会阻止作业的执行.
如何在不必手动单击启用宏的情况下运行此宏?
我希望在工作簿完成打开后运行VBA宏.我尝试使用workbook_open,但这在工作簿完成打开之前运行.这对我不起作用,因为我需要像这样循环遍历每张纸...
Private Sub Workbook_Open()
Dim ws As Worksheet
For Each ws In ActiveWorkbook.Worksheets
'do stuff on each sheet
Next ws
End Sub
Run Code Online (Sandbox Code Playgroud)
有没有人知道是否有一个事件在工作簿完成后才会运行?或者就如何实现这一目标提出任何其他建议?