excel - 错误模块名称:在 Windows Server 2019 中通过 VBScript 运行 EXCEL 时出现 KERNELBASE.dll
问题描述
我试图通过 VBScript 执行一个 Excel 宏,该宏通过 Windows 调度程序每 2 分钟运行一次。对于这个宏工作,我已经为 Excel 安装了一个插件,对于这个插件工作,需要打开一个程序。目前,我在 Amazon EC2 上的 Windows Server 2019 上运行此程序,而我通过 RDP 连接登录时一切运行正常,但是当我断开脚本每 2 分钟执行一次时,程序已打开,但 excel 始终失败并显示此错误:
Faulting application name: EXCEL.EXE, version: 16.0.13426.20404, time stamp: 0x5fdea4e7
Faulting module name: KERNELBASE.dll, version: 10.0.17763.1613, time stamp: 0xa4105fac
Exception code: 0xe0434352
Fault offset: 0x001225f2
Faulting process id: 0xe3c
Faulting application start time: 0x01d6e5f4ca9ab8c6
Faulting application path: C:\Program Files (x86)\Microsoft Office\Root\Office16\EXCEL.EXE
Faulting module path: C:\Windows\System32\KERNELBASE.dll
Report Id: afc9ea7a-f38d-425b-addb-7781ad2b4e64
Faulting package full name:
Faulting package-relative application ID:
我在想插件导致错误,但我尝试了一些方法,比如在运行宏之后和退出 Excel 之前卸载插件,但错误仍然存在。
Set WshShell = WScript.CreateObject("WScript.Shell")
exeName = "C:\Program Files (x86)\BroadcastAgro\bcsys32.exe"
WshShell.Exec(exeName)
WScript.Sleep 5000
WshShell.SendKeys "{ENTER}"
WScript.Sleep 15000
On Error Resume Next
'Input Excel File's Full Path
ExcelFilePath = "C:\Users\Administrator\Desktop\Pasta2.xlsm"
'Input Module/Macro name within the Excel File
MacroPath = "Planilha1.CommandButton1_Click"
'Create an instance of Excel
Set ExcelApp = CreateObject("Excel.Application")
'Do you want this Excel instance to be visible?
ExcelApp.Visible = False
'Prevent any App Launch Alerts (ie Update External Links)
ExcelApp.DisplayAlerts = False
'Open Excel File
Set wb = ExcelApp.Workbooks.Open(ExcelFilePath)
ExcelApp.RegisterXLL "C:\Program Files (x86)\BroadcastAgro\Broadcast.AddIn64.xll"
ExcelApp.AddIns("Broadcast+").Installed = False
ExcelApp.AddIns("Broadcast+").Installed = True
ExcelApp.Cells(3, 2).Calculate
WScript.Sleep 30000
'Execute Macro Code
ExcelApp.Run MacroPath
'Reset Display Alerts Before Closing
ExcelApp.DisplayAlerts = False
ExcelApp.AddIns("Broadcast+").Installed = False
'Close Excel File
wb.Close False
'End instance of Excel
ExcelApp.Quit
ExcelApp.Quit
我真的尝试了很多东西,但仍然只能在我处于活动 RDP 连接时工作
解决方案
推荐阅读
- android - 捕获系统.err
- angular - 调用删除服务在 Angular 中不起作用
- javascript - 从所选选项中获取文本并将其放入文本框中
- python - 将 xml 包对象附加到 python 字典中
- actionscript-3 - 检测连续触摸的单元格以通过碰撞或位置获胜
- javascript - 将对象数组操作到新数组中
- postgresql - PostgreSQL创建阻止太多更新行的触发器
- node.js - 使用 Node JS 将子目录作为 localhost 与端口 3000 进行隧道连接
- jquery - 如何从 AJAX 查询中获取数据并将它们显示在文本字段中?
- logging - Openshift 应用程序日志转发到单个文件