【发布时间】:2017-03-19 04:56:06
【问题描述】:
我使用 Windows 10、Delphi Berlin 和 Microsoft Office 2007。我尝试获取打开的 Excel 窗口的数量。当我下载 Excel 文件并打开它时,会运行一个单独的 Excel,因此一个 Excel 窗口中只存在一个工作簿。
我导入了 Microsoft Office 12.0 对象库并编写了 2 个程序。 Button1Click 与 tExcelApplication 一起使用,而 Button2Click 与 CreateOleObject('excel.application') 一起使用。在我运行 Excel 后,前者运行良好,但 Count 仅在编辑器中被识别为错误,后者返回 0。
如何消除烦人的错误信息或让 _Excel 正常工作?
type
TForm1 = class(TForm)
ExcelApplication1: TExcelApplication;
Button1: TButton;
Button2: TButton;
procedure Button1Click(Sender: TObject);
procedure Button2Click(Sender: TObject);
end;
procedure TForm1.Button1Click(Sender: TObject);
begin
Button1.Caption := IntToStr(ExcelApplication1.Windows.Count);
end;
procedure TForm1.Button2Click(Sender: TObject);
var
_Excel: Variant;
begin
_Excel := CreateOleObject('excel.application');
Button2.Caption := _Excel.windows.count;
end;
【问题讨论】: