Tof*_*nov 5 delphi excel automation ole
我正在尝试打开excel 2003工作簿并将其保存为其他内容,例如excel 95.我使用以下代码:
XLSApp:=TExcelApplication.Create(Self);
XLSApp.Workbooks.Open(SomeFileName,NULL,false,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,defaultlcid);
XLSWB:=TExcelWorkbook.Create(XLSApp);
XLSWB.ConnectTo(XLSApp.Workbooks.Item[1]);
XLSWB.SaveCopyAs(ExtractFilePath(edTable.Text)+'temp.xls');
XLSWB.SaveAs(SomeOtherFileName,xlExcel7,EmptyParam,EmptyParam,False,False,xlNoChange,xlUserResolution,False,EmptyParam,EmptyParam,EmptyParam,DefaultLCID);
Run Code Online (Sandbox Code Playgroud)
不幸的是,这段代码在客户端计算机上提供了"Ole 800A03EC",而它在我的计算机上运行.请注意,我安装了Office 2007,并且他有Office 2003 SP3.
任何帮助将非常感谢.
我在Excel自动化时看到过这个错误.当用户在editmode中有一个单元格并且您尝试自动化该实例时,就会发生这种情况.当您编辑单元格并且某些程序在后台摆弄时,Excel不喜欢它.
所以这就是你的客户正在发生的事情(我认为):
如何防止这种情况:将TExcelApplication的ConnectKind设置为ckNewInstance,这样您将始终在单独的Excel实例中工作.
归档时间: |
|
查看次数: |
35943 次 |
最近记录: |