2013-03-31 42 views
-1

此代码给我错误代码OLE自动化练成错误

ex.Cells [3, 2]. HorizontalAlignment: = xlright; 

ex.Cells [row, 1]. NumberFormat: = 'dd/mm/yy, @'; 

我怎么能解决这个问题?

感谢

+0

请停止把标签信息的主题行。标签可用是有原因的。请使用它们。 (你也一直把'XE3'作为标题,但是使用'XE2'标签。下定决心 - 是XE2还是XE3?)你还需要更具体。如果你不告诉我们错误是什么 - “我们无法从你的屏幕上看到你的屏幕,”这段代码给我错误“没有任何意义。你得到的**具体错误是什么?哪一行代码会导致错误?第一个引用'Sheet.Cells',第二个引用'ex.Cells'; 'Sheet'和'ex'是什么? –

+0

你没有说错误是什么。但是你可以看到错误。那为什么它不是问题呢?尝试猜测没有多少乐趣。请始终包含完整的错误消息,逐字复制。 -1直到问题解决。 –

+0

感谢您的回复。我不使用VCL TExcelApplication和其他组件(我发现安装了这个组件,不知道在哪里找到以及如何安装它,如果你能给我一些建议,谢谢....我刚刚开始使用delphi)您发布的代码,但运行,我得到此错误:“无法设置类Numberformat范围的属性” - 日期 - 和“无法设置类范围的Horizo​​ntalAlignment属性” - 为xlright。对不起,但我是初学者...谢谢 – user2225950

回答

1

根据您的其他问题,你使用后期绑定(使用Variant),而不是早期绑定(使用VCL TExcelApplication和其他组件)。这意味着没有定义像xlRight这样的特定类型,因为您尚未使用提供它们的类型库导入。你必须自己定义他们:

var 
    ... 
    NewAlign: OleVariant; 
const 
    xlBottom = $FFFFEFF5; 
    xlLeft = $FFFFEFDD; 
    xlRight = $FFFFEFC8; 
    xlTop = $FFFFEFC0; 
    xlHAlignCenter = $FFFFEFF4; 
    xlHAlignCenterAcrossSelection = $00000007; 
    xlHAlignDistributed = $FFFFEFEB; 
    xlHAlignFill = $00000005; 
    xlHAlignGeneral = $00000001; 
    xlHAlignJustify = $FFFFEFDE; 
    xlHAlignLeft = $FFFFEFDD; 
    xlHAlignRight = $FFFFEFC8; 
begin 
    // XLApp is the instance of Excel you set up from your previous 
    // questions 
    XLApp.Workbooks[1].Worksheets[1].Range['C1:C5'].NumberFormat := 'dd/mm/yy'; 
    NewAlign := xlHAlignRight; 
    XLApp.Workbooks[1].Worksheets[1].Range['C1:C5'].HorizontalAlignment := NewAlign; 
end; 

分配dd/mm/yy @是没有意义的,因为它要么日期格式dd/mm/yy或文字@,但不能同时使用。

+0

感谢您的答复。 我不使用VCL TExcelApplication和其他组件(我发现安装了这个组件,不知道在哪里可以找到以及如何安装它。如果你能给我一些建议谢谢你。......我刚开始用delphi) 我用你发布的代码,但在运行,我得到这个错误: “无法设置为类NUMBERFORMAT范围内的财产” - 日期 - 和 “无法设置为类范围的Horizo​​ntalAlignment属性” - 为xlright 。 对不起,但我是一个初学者... 谢谢 – user2225950

+0

转到[德博拉帕特的网站](http://www.djpate.freeserve.co.uk/AutoExcl.htm#FormatRange)。它很旧(从德尔福5天左右开始,IIRC),但它仍然有一些关于使用早期和晚期绑定来处理Excel自动化的有用信息。 –

+0

至于如何查找和使用'TExcelApplication',这是一个与*不同的问题。如果你想问一下,发布一个新问题。 :-) @David:感谢编辑。 –