Delphi XE3 Excel不像Delphi XE那样工作

我刚安装了Delphi XE3。 以前的版本是XE。 我的程序生成Excel文件(我正在使用Office 2013)。 我导入了Exceltypes库。 当我使用Delphi XE,那么这个代码正在工作。 当我使用Delphi XE3时,我得到了一个错误消息,像这样:'Horizo​​ntalAlignment属性不能设置'在XE3中更改什么?

这里是代码:

VAR Myworkbook, range, excelapp : olevariant; Begin ExcelApp:=CreateOleObject('Excel.Application'); ExcelApp.Visible:=true; MyWorkbook:=ExcelApp.Workbooks.Add; MyWorkbook.Activate; MyWorkbook.Activesheet.PageSetup.Orientation := xlPortrait; MyWorkbook.Activesheet.PageSetup.PaperSize := xlPaperA4; MyWorkbook.Activesheet.PageSetup.LeftMargin := CMtoPT(1); MyWorkbook.Activesheet.PageSetup.RightMargin := CMtoPT(1); MyWorkbook.Activesheet.PageSetup.TopMargin := cmtopt(1.5); MyWorkbook.Activesheet.PageSetup.BottomMargin := cmtopt(1.5); Range:=ExcelApp.Range['A1','A1']; Range.HorizontalAlignment := xlLeft; Range.VerticalAlignment := xlCenter; END 

我有解决scheme:

 Range.VerticalAlignment := xlCenter 

应该:

 Range.VerticalAlignment := integer(xlCenter) 

我必须显式转换为整数。 这里是我find它的地方: http : //forums.embarcadero.com/thread.jspa?threadID=106493

我认为,因为你正在使用后期绑定,例如声明ExcelApp作为olevariant

  VAR Myworkbook, range, excelapp : olevariant; Begin ExcelApp:=CreateOleObject('Excel.Application'); 

然后,您在ExcelApp上调用的不正确的部分将由Excel而不是Delphi来处理。 这意味着Horizo​​ntalAlignment是一个不可设置的属性,或者xlLeft在某种方式是不正确的。

这与你的Delphi版本不太可能有关。