【发布时间】:2016-09-20 11:32:29
【问题描述】:
我正在尝试使用此 VBScript 打开文件并运行宏。理想情况下,我会从我的个人工作簿中打开它,但作为妥协,我很乐意从任何地方运行。
Option Explicit
On Error Resume Next
RunExcelMacro
Sub RunExcelMacro()
Dim xlApp
Dim xlBook
If CheckAppOpen("excel.application") Then
'MsgBox "App Loaded"
Set xlApp = GetObject(, "Excel.Application")
Else
' MsgBox "App Not Loaded"
Set xlApp = CreateObject(,"Excel.Application")
End If
xlApp.visible = True
set xlBook = xlApp.Workbooks.Open ("C:\Users\....\PERSONAL.xlsb", 0, True)
xlApp.Run "Module1.My Macro"
xlApp.Quit()
xlBook = Nothing
xlApp = Nothing
End Sub
该脚本不会打开任何 Excel 文件,无论它是在服务器上还是在我的 C 驱动器中。
这里有一个fair 和posts。我做了一些research。
我试过了:
Set xlApp = GetObject("Excel.Application")
Set xlApp = CreateObject("Excel.Application")
还有
Dim Filename as string
Filename = "C:/....."
set xlBook = xlApp.Workbooks.Open (Filename)
我尝试打开 .xls、.xlsm、.xlsb 都无济于事。
我没有收到任何错误消息。 cmd控制台打开然后关闭
Microsoft (R) Windows 脚本宿主版本 5.8
版权所有 (C) 微软公司。保留所有权利。
【问题讨论】:
-
删除
On Error Resume Next并从 cmd 窗口 (cscript.exe your.vbs) 运行它以查看错误消息。 -
谢谢!我现在得到:“Microsoft VBScript 运行时错误:类型不匹配”的行:Set xlApp = CreateObject(, "Excel.Application")
-
去掉前导逗号:
Set xlApp = CreateObject("Excel.Application") -
向导,它现在正在打开文件,但宏没有运行。 “Microsoft Excel:无法运行宏 'Macro1.My_macro'。此工作簿中可能没有该宏,或者所有宏都可能被禁用。”
-
宏名中不能有空格,您正在尝试运行一个名为“我的宏”的宏,这是一个非法的子名称。