由于其局限性,我负责在我的办公室(Pascal)维护一些遗留代码,我编写了一个 delphi dll 来使用 TExcelApplication 访问 excel。
该 dll 在办公室完美运行,机器运行 Microsoft Office 2010、Windows 7 32 位和 64 位。客户端使用 Novel Workstations、Windows XP、Microsoft 2007。
dll遇到TExcelApplication.Connect时给出断点异常;命令。
除了我提到的差异之外,场景完全相同。
在 Novel 工作站上访问 Microsoft Excel 是否有任何限制,或者是否有更好的方法来访问 Excel 文档?
注意:我只想从 Excel 文档中读取,它跨越多行、多列和电子表格,源 Excel 文档是 *.xls 2007 文档。
它的主要功能是启用与 Excel 文档的自动对帐。
这是库代码的片段
library MyLibrary;
uses
SysUtils, Classes, Variants, Dialogs, StdCtrls, OleServer, ExcelXP, Windows;
Type
PString=String[254];
Var
ExcelObj : TExcelApplication;
Procedure XLSOPEN(THENAME:PSTRING;VAR Reslt:PSTRING); stdcall;
Begin
If FileExists(THENAME) Then
Begin
ExcelObj := TExcelApplication.Create(nil);
ExcelObj.ConnectKind := ckRunningOrNew;
ExcelObj.Connect;
If ExcelObj=nil Then
Begin
Result := 'Error : EXCEL couldnt be started!';
Exit;
End Else
Begin
Result := 'Successful';
Exit;
End;
End Else
Begin
Result := 'Error : File '+THENAME+' does not exist!';
Exit;
End;
End;
Exports XLSOPEN Name 'XLSOpen';
Begin
End.