【问题标题】:code ole automation excel error代码ole自动化excel错误
【发布时间】:2013-03-31 00:12:01
【问题描述】:

这段代码给我错误

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

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

我该如何解决这个问题?

谢谢

【问题讨论】:

  • 请停止在您的主题行中添加标签信息。标签可用是有原因的。请使用它们。 (您还一直将XE3 放在标题上,但使用XE2 标签。下定决心 - 是 XE2 还是 XE3?)您还需要更具体。如果您不告诉我们错误是什么,“此代码给我错误”没有任何意义 - 我们无法从我们所在的位置看到您的屏幕。您遇到的具体错误是什么?哪一行代码导致错误?第一个是Sheet.Cells,第二个是ex.CellsSheetex 是什么?
  • 你没有说错误是什么。但是你可以看到错误。那么为什么不在问题中呢?尝试猜测并不是很有趣。请始终包含完整的错误消息,逐字复制。 -1,直到问题得到解决。
  • 感谢您的回复。我不使用VCL TExcelApplication和其他组件(我发现这个组件安装了,不知道在哪里找到以及如何安装它。如果你能给我一些建议谢谢......我刚开始使用delphi)我用您发布但正在运行的代码,我收到此错误:“无法设置类 Numberformat 范围的属性” - 迄今为止 - 和“无法设置类范围的 Horizo​​ntalAlignment 属性” - 对于 xlright。抱歉,我是初学者……谢谢
  • 谢谢。问题出在这行代码中:XLApp.Workbooks [1]。工作表。 [1] 范围 ['C1: C5']。 NumberFormat: = 'dd / mm / yy';错误是: Numberformat 无法设置类的范围。我不知道如何解决....

标签: delphi delphi-xe3


【解决方案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 要么是文本@,但不能同时使用两者。

【讨论】:

  • 感谢您的回复。我不使用VCL TExcelApplication和其他组件(我发现这个组件安装了,不知道在哪里找到以及如何安装它。如果你能给我一些建议谢谢......我刚开始使用delphi)我用您发布但正在运行的代码,我收到此错误:“无法设置类 Numberformat 范围的属性” - 迄今为止 - 和“无法设置类范围的 Horizo​​ntalAlignment 属性” - 对于 xlright。抱歉,我是初学者……谢谢
  • 转到Deborah Pate's Site。它很旧(从 Delphi 5 年代左右开始,IIRC),但它仍然有一些关于使用 Excel 自动化以及早期和晚期绑定的有用信息。
  • 至于如何查找和使用TExcelApplication,这是一个与此分开的问题。如果您想询问它,请发布一个新问题。 :-) @David:感谢您的编辑。
猜你喜欢
  • 1970-01-01
  • 2021-04-07
  • 1970-01-01
  • 1970-01-01
  • 2017-11-24
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多