簡體   English   中英

Windows桌面VB.Net Apps由於應用程序事件日志中的0xC004F057而導致讀取Excel 1004 0x800A03EC錯誤

[英]Windows Desktop VB.Net Apps Getting an error 1004 0x800A03EC reading Excel due to 0xC004F057 in Application Event log

我們有許多用VB.2010和VB.2017編寫的Windows桌面應用程序,已經在許多客戶上運行了很長時間。 然后在上周的2018年11月13日星期二,我們開始收到客戶的電子郵件和電話,說這些應用程序出現錯誤1004 / 0x800A03EC。 沒有進行任何應用程序更新。 工作了一天,然后停了下來。

它在這里不會失敗。 在4種不同的系統上嘗試過。 W7 / Excel 2013,W10 / Office 365 / Excel 2016。

故障發生在W10、7和2012 R2。

應用正在讀取excel文件。

初始化ws的代碼

ExcelAppObj = New Excel.Application

ExcelAppObj.Visible = pVisible
WB = ExcelAppObj.Workbooks.Open(pFFn, True)
WS = pWB.Worksheets(1)
Ss = "A" & Row & "." & ColNames(UsedColsSht) & Row + 1
Dim War as object = WS.Range(Ss).Value  

在應用程序事件日志中,我們發現此警告提示從ACPI表安裝購買證明失敗。 錯誤代碼:0xC004F057

軟件保護服務僅在2之前啟動。 參數:主叫= EXCEL.EXE

在我看來,這表明Windows中的某些組件不真實。 我知道在出現以上Windows 2012 R2和Office錯誤的系統上都是正版。

我確定這是MS錯誤。 有人可以向我指出正確的方向,並希望有MS修復嗎????

謝謝,感恩節快樂!

我們發現了問題,但不清楚原因。

如上文所述,我們的代碼使用的范圍值為

Ss = "A" & Row & "." & ColNames(UsedColsSht) & Row + 1
s = ws.Range(Ss).value

注意:使用了一個句點,所以范圍類似於A1.C3。這在我們已經看到的8個系統中的7個中繼續起作用,但是當我們在excel屏幕中使用此格式時,我們得到了#Field! 錯誤。 這是一種新的Excel行為。

將我們的應用程序更改為使用冒號而不是句號可以解決該問題。 所以范圍現在

Ss = "A" & Row & "." & ColNames(UsedColsSht) & Row + 1

或A1:C3

再次適用於大多數系統,這無法解釋。 事件日志中沒有任何內容,並且標題中的原始發布是錯誤的警報。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM