【发布时间】:2014-04-29 08:57:56
【问题描述】:
我正在尝试通过 .VBS 文件(文件名:Check_final.vbs)运行 VBA 宏。这是代码
Option Explicit
run_macro
Sub run_macro()
Dim xl1
Dim sCurPath
Dim xlBook
Dim FolderFromPath
Set xl1 = CreateObject("Excel.application")
sCurPath =Wscript.ScriptFullName
Set xlBook = xl1.Workbooks.Open(sCurPath, 0, True)
xl1.DisplayAlerts = False
FolderFromPath = Left(sCurPath, InStrRev(sCurPath, "\"))
xl1.Application.run FolderFromPath & "Changed_chk.xlsm!Check"
Set xlBook = Nothing
End Sub
当我运行这个 .vbs 文件时,我会弹出“Changed_chk.xlsm 已锁定编辑”,并带有只读和通知选项。如果我使用只读或通知选项确认它,则会以 Check_final 的名称(即该 .vbs 文件的文件名)打开一个 excel 表,并且上述代码显示在该 excel 文件中。然后我收到一个 Windows 脚本主机错误(代码:800A03AC)说宏可能不可用或所有宏都被禁用。(虽然我已经启用了这里提到的宏。[http://www.addictivetips.com/windows-tips/enable-all-macros-in-excel-2010/)]. 非常感谢您对此的任何帮助。提前致谢。
【问题讨论】:
-
您收到
Read only and notify options是因为您第一次没有关闭文件并正确释放您的对象。打开任务管理器并杀死所有的excel实例。但在您关闭并保存所有打开的实例之前。 Next 正确关闭代码中的 Excel 文件并释放你的对象