首页 > 解决方案 > 错误模块名称:在 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 连接时工作

标签: excelvbscript

解决方案


推荐阅读