【问题标题】:VBScript To Run Excel MacroVBScript 运行 Excel 宏
【发布时间】:2017-06-14 18:50:18
【问题描述】:

我正在尝试运行此脚本

if WScript.Arguments.Count < 1 Then   
WScript.Echo "Drop file on to me to process."   
Wscript.QuitEnd If
Set oExcel = CreateObject("Excel.Application")
Set oBook = oExcel.Workbooks.Open(Wscript.Arguments.Item(0))
Set oVBC = oBook.VBProject.VBComponents oVBC.Import("C:\Test\Test.bas") 
oBook.Application.Run "Test" 
WScript.Echo "Done"

Test.bas 文件中的宏名称是 Test(),该文件位于 C:\Test\Test.bas - 现在每当我尝试将 .xlsx 文件拖到 .vbscript 顶部时我收到一条错误消息

语法错误
800A03EA
Microsoft VBScript 编译错误

需要在此脚本中更改哪些内容以解决该问题?

【问题讨论】:

    标签: excel vba vbscript


    【解决方案1】:

    Wscript.QuitEnd If需要固定为

    Wscript.Quit End If

    Set oVBC = oBook.VBProject.VBComponents oVBC.Import("C:\Test\Test.bas")

    Set oVBC = oBook.VBProject.VBComponents oVBC.Import("C:\Test\Test.bas")

    【讨论】:

    • 更改该语法会在第 7 行出现错误 - 预期语句结束。
    • Set oVBC = oBook.VBProject.VBComponents oVBC.Import("C:\Test\Test.bas") 尝试将oVBC.Import("C:\Test\Test.bas") 放在一行中。
    • 是的,明白了!它会根据需要生成文件,但我也会收到未知的运行时错误?
    • -- 如果可能的话,宁愿避免随机错误恢复下一个
    • 它没有显示这条线。似乎脚本运行完成,因为文件是按照我的需要生成的。我不明白错误,哈哈
    猜你喜欢
    • 2017-08-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2012-05-01
    • 1970-01-01
    • 2011-09-08
    • 1970-01-01
    相关资源
    最近更新 更多