我有一個Excel應用程序,裏面有很多宏。工作簿中的宏被簽名。某些宏調用Windows API函數,並且它們已被移植到正確支持32位和64位版本的Excel中。該應用程序可以在不同的配置(Windows XP,Windows Vista,Windows 7,Windows 8,Excel 2003,Excel 2007,Excel 2010甚至某些Excel 2013)上正常工作。運行時錯誤-2147319784(0x80028018)在Windows 8上使用Excel 2013
該應用程序已使用法語加拿大語言環境在裝有Windows XP和Excel 2007的PC上開發。
我有一個具有下列設置一個客戶:
- 筆記本電腦與Mac OS/X
- 虛擬機:
- Windows 8的英文
- 的Excel 2013英語
當他跑步時我的應用程序,他總是得到運行時錯誤-2147319784(0x80028018)。
我試圖指出發生錯誤的位置,並且似乎只要宏執行引用Excel對象模型的內容(例如:Application.ScreenUpdating = False
),我就會收到錯誤消息。
我試圖複製在新的工作簿中失敗的代碼的確切行,它沒有任何錯誤地正常工作。
我已經看到了在Windows和Excel的其他版本的產品中,英文版本,以及解決問題的方式類似的行爲是改變德區域設置爲美國英語。我在客戶的機器上嘗試過它,但沒有奏效。
我在網上搜索,發現類似問題與Excel 2002中,我發現了微軟的知識庫(http://support.microsoft.com/default.aspx?scid=kb;en-us;320369)在後。這篇文章適用於.NET VSTO應用程序,這顯然不是我的例子。我無法按照文章中的建議更改當前線程的語言環境,因爲這不適用於我的VBA宏。我試圖將Excel.exe
文件複製到1033
文件夾,並按照建議將其重命名爲xllex.dll
,但它也不起作用。
我甚至問我的客戶完全卸載從他的機器上的所有Office產品,只是重新安裝Excel 2013年還不行。
老實說,我在這裏用完了選項......任何人都可以幫我解決這個問題嗎?
謝謝你的幫助!
Ghis