Excel 如何成功执行vbscript?
我有一个包含宏的excel文件。宏写在“开发人员”选项卡的此工作簿中。我想通过在windows任务调度程序中调度宏来自动运行宏 我做了一些研究,发现我必须为此编写一个vbscript,然后运行vb脚本才能运行宏 这是vb脚本。vbscript应:Excel 如何成功执行vbscript?,excel,vba,vbscript,Excel,Vba,Vbscript,我有一个包含宏的excel文件。宏写在“开发人员”选项卡的此工作簿中。我想通过在windows任务调度程序中调度宏来自动运行宏 我做了一些研究,发现我必须为此编写一个vbscript,然后运行vb脚本才能运行宏 这是vb脚本。vbscript应: 打开excel文件 运行宏 关闭excel文件 这应该在计划的时间自动完成,每天使用windows任务计划程序 到目前为止,这是vb脚本: 'Script to start my filter.xls program with named macro
'Script to start my filter.xls program with named macro
'MsgBox "In RunExcel"
' Create an Excel instance
Dim myExcelWorker
Set myExcelWorker = CreateObject("Excel.Application")
' Disable Excel UI elements
myExcelWorker.DisplayAlerts = False
myExcelWorker.AskToUpdateLinks = False
myExcelWorker.AlertBeforeOverwriting = False
myExcelWorker.FeatureInstall = msoFeatureInstallNone
' Open the Workbook
Dim oWorkBook
Dim strWorkerWB
strWorkerWB = "C:\Users\Desktop\service calibration details\CC.xlsm"
'MsgBox "Opening filter"
on error resume next
Set oWorkBook = myExcelWorker.Workbooks.Open(strWorkerWB)
if err.number <> 0 Then
' Error occurred - just close it down.
MsgBox "open Error occurred"
End If
err.clear
on error goto 0
'MsgBox "Running macro"
Dim strMacroName
strMacroName = "CCA"
on error resume next
' Run the macro
myExcelWorker.Run strMacroName
if err.number <> 0 Then
' Error occurred - just close it down.
MsgBox "run macro Error occurred"
End If
err.clear
on error goto 0
' Clean up and shut down
Set oWorkBook = Nothing
myExcelWorker.Quit
Set myExcelWorker = Nothing
Set WshShell = Nothing
使用命名宏启动my filter.xls程序的脚本
RunExcel中的“MsgBox”
'创建Excel实例
我的业余爱好者
设置myExcelWorker=CreateObject(“Excel.Application”)
'禁用Excel UI元素
myExcelWorker.DisplayAlerts=False
myExcelWorker.AskToUpdateLinks=False
myExcelWorker.AlertBeforeOverwriting=False
myExcelWorker.FeatureInstall=msoFeatureInstallNone
'打开工作簿
暗淡的工作手册
Dim STRWORKERB
strWorkerWB=“C:\Users\Desktop\service calibration details\CC.xlsm”
“MsgBox”打开过滤器
出错时继续下一步
设置oWorkBook=myExcelWorker.Workbooks.Open(strWorkerWB)
如果错误号为0,则
'发生错误-请将其关闭。
MsgBox“发生打开错误”
如果结束
清楚
错误转到0
“MsgBox”正在运行宏
Dim strMacroName
strMacroName=“CCA”
出错时继续下一步
'运行宏
myExcelWorker。运行strMacroName
如果错误号为0,则
'发生错误-请将其关闭。
MsgBox“发生运行宏错误”
如果结束
清楚
错误转到0
"清理关闭",
设置oWorkBook=Nothing
myExcelWorker,退出
设置myExcelWorker=Nothing
设置WshShell=Nothing
我尝试使用基于microsoft windows的脚本主机运行此操作。但我得到错误“运行宏错误发生”
我在网上搜索。然而,我找不到解决这个问题的办法
是什么导致了这个问题
我编写的vbscript中是否有错误?
如何成功执行此操作?作为解决此问题的另一种方法,您可以使用一个简单的VB脚本文件来打开电子表格。大概是这样的:
Set xl = CreateObject("Excel.application")
xl.Application.Workbooks.Open "C:\Users\Desktop\service calibration details\CC.xlsm"
xl.Application.Visible = True
Set xl = Nothing
然后将excel宏放入工作簿的“打开”子部分,以便在打开工作簿时执行。在宏的末尾添加以下行:
ActiveWorkbook.Close False 'false prevents it from saving any changes
Application.Quit
或者如果你想省钱
ActiveWorkbook.Save
Application.Quit
希望这能达到目的!祝您好运。“出错”消息没有诊断价值。添加
&“0x”&Hex(错误编号)&“&CStr(错误编号)&”&Err.Description
,然后您可以获得更多信息来查找罪犯。提示:Run
方法启动在新Windows进程中运行的程序…@JosefZ我应该将其添加到哪里?MsgBox“bla-bla-Error-accurrent”&“0x”&Hex(Err.Number)&“&CStr(Err.Number)&”&Err.Description
。对于所有bla-bla
:运行宏,打开,…@JosefZ您可以在代码中编辑它吗?