我一直试图整理一个运行Excell宏的VBSscript。我在本论坛上使用过其他线程的几个脚本以及网络上其他地方的脚本。
我发现这个论坛对其他有类似问题的人最有帮助。这里的专家就是:专家。
我是剧本写作的新手。我的经验仅限于在试错过程中剪切和粘贴示例脚本。使用这个特殊的脚本,我似乎无法找到从VBSscript运行excell宏的正确组合。
以下是我目前正在运行的代码:
Set xlObj = CreateObject("Excel.application")
xlObj.Workbooks.Open "C:\Documents and settings\user\Desktop\Excel_macro_email.xls"
xlObj.Run "macro_email" 'name of macro
xlObj.ActiveWorkbook.Saved = True
xlObj.ActiveWindow.Close
xlObj.Quit
我正在使用XLnow OnScript Editor来编译/调试脚本,编辑器没有遇到任何问题。当我双击.vbs文件时,cmd窗口弹出一秒钟,我可以看到那里有一些输出,但是因为它关闭得太快而无法读取。 (我也研究过如何将结果输出到文件中,但是我已经开始了,可能会结束所有这些。
是否有人愿意帮助纠正此脚本?如果您可以提供帮助并建议一些代码,请同时包含将代码放在脚本中的位置,或者您可能将其包含在完整的脚本中。如何处理我在这里找到的建议几乎与使用什么代码有关。
感谢您提供的任何帮助。我为缺乏专业知识而道歉。最后,在一点帮助下,我将借鉴经验。
这是脚本的更新,其子添加如下所示:
Sub OpenAndRun (Excel_macro_email)
Set xlObj = CreateObject("Excel.Application")
xlObj.Workbooks.Open "C:\Documents and Settings\user\Desktop\Excel_macro_email.xls"
xlObj.Run "Excel_macro_email.xls,macro_email"
xlObj.ActiveWorkbook.Saved = True
xlObj.ActiveWindow.Close
xlObj.Quit
End Sub
我还没有让宏运行。 cmd窗口像以前一样短暂打开,但现在当它闪烁时我看不到任何输出。
有什么建议吗?
这是发布此问题的解决方案'
感谢您的回复。
我尝试过这个脚本的seceral版本。在最新版本中,我添加了一个“Sub”行和“End Sub”,这可能有所帮助。最后的解决方案是当我发现Excel文件的文件扩展名不是.xls而是.xlsm时。当我添加“m”(启用宏时,我猜)最新版本的脚本开始工作。
她的工作版本是:
Option Explicit
Dim xlApp, xlBook
Set xlApp = CreateObject("Excel.Application")
'~~> Change Path here
Set xlBook = xlApp.Workbooks.Open("C:\Users\Thomas\Desktop\Excel_macro_email.xlsm", 0, True)
xlApp.Run "macro_email"
xlBook.Close
xlApp.Quit
Set xlBook = Nothing
Set xlApp = Nothing
WScript.Echo "Finished."
WScript.Quit
我希望这可以帮助其他人解决同样的问题。谢谢你的帮助。