【发布时间】:2019-06-04 08:33:36
【问题描述】:
我正在尝试为我的 Excel 宏创建 VBS 脚本,这样用户就不必手动打开 Excel,也不必查看 Excel,而只能看到用户窗体和结果。
打开 Excel VBA 的代码完美运行。但是,当 Excel VBA 宏完成时,VBS 代码将失败并使 Excel 保持打开状态。由于 Excel 单用户政策,其他用户无法访问。
有什么想法吗?
我的 VBA 代码以 Exit Sub 命令结尾。
Set objExcel = CreateObject("Excel.Application")
objExcel.Application.Run "C:\Users\Flori\Desktop\Mail_Verteiler.xlsm!Modul1.Run"
objExcel.DisplayAlerts = True
objExcel.Application.Quit
Set objExcel = Nothing
输出的错误是:
宏可能不可用或所有宏已停用。
【问题讨论】:
-
您是在第一次运行时出现该错误,还是在 Excel 处于打开状态的后续时间出现该错误?另外,这可能是一个错字吗?
Modul1而不是Module1? -
当我运行德语版本时,
Modul1是正确的。宏本身完成后会发生错误。例如; (我的宏运行一个用户表单,它写一封电子邮件)我运行 VBS,它打开表单,它写电子邮件,用户表单关闭,发生 VBS 错误。 (关闭 VBA 宏) -
“当 Excel VBA 宏完成时,VBS 代码失败” VBScript 代码究竟是如何失败的?在代码中的哪一点?请显示完整的错误信息(包括错误代码和行号)。
-
这是同步问题吗? VBS 是否知道等待 Excel 完成。它可能需要暂停。那么,为什么不将关闭 Excel 的所有代码都放在 Excel 本身中呢?似乎是一种更稳定的方法。
-
@Gareth 感谢您的想法。这解决了我的问题。 AnsgarWiechers 现在无法重现该问题。错误消息是,Windows 无法找到要使用的宏(如代码中编程的那样)