我正在用OpenEdge Progress 11.7编写一个程序,用于验证内部用户提供的Excel文件。我需要验证的事情之一是电子表格中十进制数字的位数。在 Excel 中,小数显示为 4 位小数。但是,如果我在 Progress 中调用 LENGTH 函数来读取小数,它会返回一个整数,表明小数有超过 4 位小数(请参阅下面的屏幕截图)。有什么我可以采用的解决方法吗?请接受我对任何建议的感激之情。
伪代码:
DEFINE VARIABLE chExcel AS COM-HANDLE.
DEFINE VARIABLE chWB AS COM-HANDLE.
DEFINE VARIABLE chWS AS COM-HANDLE.
DEFINE VARIABLE cInFinFile AS CHARACTER NO-UNDO.
cInFinFile = "N:\test.xlsx".
/* create excel instance */
CREATE "Excel.Application" chExcel.
ASSIGN
chExcel:Visible = TRUE
chExcel:screenupdating = TRUE
chExcel:displayAlerts = FALSE
chWB = chExcel:Workbooks:OPEN(cInFinFile).
MESSAGE chExcel:Range("C5"):VALUE SKIP LENGTH(chExcel:Range("C5"):VALUE) VIEW-AS ALERT-BOX.
chWB:CLOSE.
RELEASE OBJECT chWB NO-ERROR.
chExcel:QUIT().
RELEASE OBJECT chExcel NO-ERROR.
我尝试调用Excel com-handle RUN来调用“LEN”函数来检查长度,但返回结果看起来不太好