Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/cmake/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Excel 找不到项目或库崩溃所有内容_Excel_Vba_Taskscheduler - Fatal编程技术网

Excel 找不到项目或库崩溃所有内容

Excel 找不到项目或库崩溃所有内容,excel,vba,taskscheduler,Excel,Vba,Taskscheduler,我有许多Excel文件可以通过宏刷新自己,还有一个主文件可以控制打开另一个。主文件有一个自动打开宏,打开每个文档,在文档中运行宏,然后关闭它。每个文档的宏基本上都会刷新其中的所有查询,并将文档保存在两个不同的位置。最重要的是,我使用Window的任务调度器每两小时打开一次主文档,启动整个过程 这通常效果很好。然而,我偶尔会得到一个错误,其中一个文档说找不到项目或库。这种情况似乎是随机发生的,每次都有不同的单据,但从来没有主单据。出现此错误后,每次尝试打开VBA窗口时,Excel都会完全崩溃。所述

我有许多Excel文件可以通过宏刷新自己,还有一个主文件可以控制打开另一个。主文件有一个自动打开宏,打开每个文档,在文档中运行宏,然后关闭它。每个文档的宏基本上都会刷新其中的所有查询,并将文档保存在两个不同的位置。最重要的是,我使用Window的任务调度器每两小时打开一次主文档,启动整个过程

这通常效果很好。然而,我偶尔会得到一个错误,其中一个文档说找不到项目或库。这种情况似乎是随机发生的,每次都有不同的单据,但从来没有主单据。出现此错误后,每次尝试打开VBA窗口时,Excel都会完全崩溃。所述文档中的宏将不再通过主文件的自动打开宏运行,我必须从头开始重新创建所述文档

我曾尝试按照Microsoft的建议查找该库,但无济于事。在受影响的文件中打开VBA窗口会立即导致崩溃,按照本文中针对未受影响文件的步骤操作不会显示任何错误。崩溃将返回以下错误文本:

问题签名:

问题事件名称:APPCRASH

应用程序名称:EXCEL.EXE

应用版本:16.0.11231.20130

应用程序时间戳:5c518be9

故障模块名称:VBE7.DLL

故障模块版本:0.0.0.0

故障模块时间戳:5c064824

异常代码:c0000005

异常偏移量:00000000000B55A

操作系统版本:6.3.9600.2.0.0.272.7

区域设置ID:1033

主文件中的代码:

Sub Auto_Open()

Application.Wait (Now + TimeValue("0:00:10"))

Application.Calculation = xlCalculationManual

Workbooks.Open ("C:\Users\aowens\Desktop\Queries\ATSReports\ATSReports.xlsm")
Application.Run "'C:\Users\aowens\Desktop\Queries\ATSReports\ATSReports.xlsm'!Macro"
Workbooks("ATSReports.xlsm").Close False

Workbooks.Open ("C:\Users\aowens\Desktop\Queries\MiscLookups\MiscLookups.xlsm")
Application.Run "'C:\Users\aowens\Desktop\Queries\MiscLookups\MiscLookups.xlsm'!Macro"
Workbooks("MiscLookups.xlsm").Close False
此模式对其他5个文件重复

一个文件中的示例宏:

Sub Macro()

Dim errorcount
Dim broken
Dim this As Date

this = now()
errorcount = 0

On Error Resume Next

ThisWorkbook.Connections("Query - MasterROCL").Refresh
If Err <> 0 Then
errorcount = errorcount + 1
broken = broken & " ROCL"
End If
Err = 0

ThisWorkbook.Connections("Query - MasterRMEL").Refresh
If Err <> 0 Then
errorcount = errorcount + 1
broken = broken & " RMEL"
End If
Err = 0

ThisWorkbook.Connections("Query - MasterRHIL").Refresh
If Err <> 0 Then
errorcount = errorcount + 1
broken = broken & " RHIL"
End If
Err = 0

ThisWorkbook.Connections("Query - MasterREXH").Refresh
If Err <> 0 Then
errorcount = errorcount + 1
broken = broken & " REXH"
End If
Err = 0

Calculate

ThisWorkbook.Save
Application.DisplayAlerts = False
ThisWorkbook.SaveAs ("R:\Operations\Dashboards\Queries\ATSReports.xlsm")

Dim OutApp As Object
Dim OutMail As Object

Set OutApp = CreateObject("Outlook.Application")
Set OutMail = OutApp.CreateItem(0)

With OutMail
.to = "aowens@explorenetwork.org"
.Subject = errorcount & " Errors for " & Format(now(), "MM/DD HH:MM") & " ATS Refresh"
.htmlBody = " ~ " & Round(1440 * (TimeValue(now()) - TimeValue(this)), 0) & " mins. Broken:" & broken
.Send
End With

End Sub

在类似的情况下,我经常遇到和你一样的错误。我无法告诉您是什么原因导致了错误,或者如何停止错误,但我可以帮助您解决这个问题

我必须从头开始重新创建医生


要恢复文件,需要在Excel的安全模式下打开文件,按住ctrl键并打开Excel以激活安全模式,然后打开VBE>调试>编译项目。然后保存并关闭,下次打开文件时应该可以。

您似乎正在关闭打开的文件,但是否关闭过主文件?当您的计划程序尝试打开主文件的另一个实例时,主文件是否仍处于打开状态?此外,如果允许在后台刷新连接,我可以看到很多事情都试图在此处同时发生。如果遇到忽略的错误,您没有清除Err对象。TBH,Application.Run、On Error Resume Next和Auto_Open的组合看起来就像是一场灾难,甚至在您将Window的任务调度器放入组合之前就已经发生了。这本手册的目的是什么?我无法想象没有更好的方法来解决这个问题。顺便说一句,你的错误是访问冲突-你的一个指针掉在公寓边界的某个地方。这与VBA代码没有什么关系,只是它与尝试用固有的单线程方式一次性完成大量工作的关系。滚动到Greg Dobbs answer-这很有效。