gpt4 book ai didi

delphi - Delphi 的 Excel 2010 自动化错误

转载 作者:行者123 更新时间:2023-12-02 20:12:56 25 4
gpt4 key购买 nike

有谁知道为什么以下代码不适用于 Excel 2010(家庭和小型企业办公版)¿?

procedure TForm1.Button1Click(Sender: TObject);
var
rango : OleVariant;
ExcelObject : TExcelApplication;
ExcelWorksheet : TExcelWorksheet;
LCID : integer;

begin

try
ExcelObject := TExcelApplication.Create (self);
LCID := LOCALE_USER_DEFAULT;

ExcelObject.Workbooks.Add(EmptyParam, LCID);

ExcelWorksheet := TExcelWorksheet.Create(ExcelObject);
ExcelWorksheet.ConnectTo(ExcelObject.Worksheets.Item [1] as _Worksheet);

rango := ExcelWorksheet.Range['B2','B2'];
rango.Font.size := 16;
rango.Font.Bold := True;
rango.Value2 := 'test';

ExcelObject.Visible[lcid] := true;

except
on e: exception do
showmessage(e.message);

end;

end;

添加工作簿时显示“未注册类”异常:“ExcelObject.Workbooks.Add(EmptyParam, LCID);”

这适用于 Office 2010 专业版(以及旧版 Office 版本),但不适用于家庭版和小型企业版 2010 版。

最佳答案

我知道这真的很晚了,但过去两天我一直在与同样的错误作斗争,最后终于弄清楚了(我认为)。由于组件中的错误处理很糟糕,该错误具有误导性。

我得到的线索是它在同一台机器上的不同测试应用程序中完美运行 - 所以这不是类注册问题。

如果我没有正确连接东西,我会收到错误(在几个地方)。在您的情况下,您可能需要进行 CONNECT。

例如

ExcelObject := TExcelApplication.Create (self);
ExcelObject.Connect;

如果您忘记执行 ConnectTo 调用以将接口(interface)连接在一起,我也会看到这种情况。

例如

XlWorkBook.ConnectTo(XlApp.ActiveWorkbook);

希望这对其他人有帮助。

关于delphi - Delphi 的 Excel 2010 自动化错误,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/4815350/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com