0
我支持一些傳統的4GL進度代碼。我們的一臺運行4GL的服務器在我不知情的情況下升級到了Office 2007(很好,對嗎?)。無論如何,升級破壞了運行excel.application COM組件的一段代碼。財政部認爲,他們保持一個Excel文檔中的銷售預測號碼列表和下面的代碼加載這些數字:Office 2007升級中斷4GL進度代碼
CREATE
"Excel.application" chExcelApplication NO-ERROR.
ASSIGN
chExcelApplication:VISIBLE = NO NO-ERROR.
ASSIGN
chWorkbook = chExcelApplication:Workbooks:OPEN(STRING(i-infile)) NO-ERROR.
ASSIGN
chWorkSheet = chExcelApplication:Sheets:ITEM((1)) NO-ERROR.
IF input frame f-in Plan1 <> 0 THEN
Plan1 = input frame f-in Plan1.
ELSE
Plan1 = chWorkSheet:range(forecastColumn + "4"):VALUE.
IF input frame f-in Plan2 <> 0 THEN
Plan2 = input frame f-in Plan2.
ELSE
Plan2 = chWorkSheet:range(forecastColumn + "7"):VALUE.
IF input frame f-in Plan3 <> 0 THEN
Plan3 = input frame f-in Plan3.
ELSE
Plan3 = chWorkSheet:range(forecastColumn + "6"):VALUE.
當代碼運行,我得到了以下錯誤:
「無效組件的句柄引用同時處理方法/聲明:範圍。「
奇怪的是,A)它不會在「打開」命令或「創建」命令失敗 - 所以它似乎不是COM對象本身的問題。和B)如果我運行同樣的代碼從我的機器,也運行Office 2007,它運行得很好。
關於如何解決此問題的任何想法?
謝謝!