请问如何在DELPHI中调用EXCEL中的函数或宏?(200分)

  • 主题发起人 主题发起人 bundur
  • 开始时间 开始时间
B

bundur

Unregistered / Unconfirmed
GUEST, unregistred user!
请问如何在DELPHI中调用EXCEL中的函数或宏,并返回结果?
如:
var
IntVar: Integer;
begin
ExcelApp := CreateOleObject('Excel.Application');
IntVar := (这里是Excel中的一个函数或宏) --> 如何实现?
比如写入 ExcelApp.宏名 --> 不行!

 
不能直接引用宏
应该把宏翻译成delpni语句
vb->delphi很容易
 
delphi中有例子的,树上也有
 
不知道。
 
//我已经试验成功的代码:
procedure TForm1.Button1Click(Sender: TObject);
var
MyWorkBook: _WorkBook;
FileName: string;

begin
ExcelApplication1.Connect;
ExcelApplication1.Visible[0] := True;
ExcelApplication1.Caption := '应用程序调用 Microsoft Excel';

FileName:='e:/temp/book1.xls';
//由于我又时候运行需要一个0,有所时候2个,
//如果报参数不匹配的错误,可以删掉或者添加后面0 的个数
MyWorkBook:= ExcelApplication1.Workbooks.Open(FileName, EmptyParam,
EmptyParam, EmptyParam, EmptyParam, EmptyParam, EmptyParam, EmptyParam,
EmptyParam, EmptyParam, EmptyParam, EmptyParam, EmptyParam, 0,0,0);
ExcelWorkbook1.ConnectTo(MyWorkBook);
ExcelWorksheet1.ConnectTo(ExcelWorkbook1.Worksheets[1] as _WorkSheet);

//调用工作簿中已经存在的名称为 My 的宏
ExcelApplication1.Run('My');
end;
 
同意楼上的
 
同意楼上的
 
MyWorkBook: _WorkBook;
???
我怎么编译没有通过??
 
加入Servers页的 TExcelApplication TExcelWorkbook TExcelWorksheet
像下面这样:

unit Unit1;

interface

uses
Windows, Messages, SysUtils, Variants, Classes,
Graphics, Controls, Forms,
Dialogs, StdCtrls, ExcelXP, OleServer;

type
TForm1 = class(TForm)
ExcelApplication1: TExcelApplication;
ExcelWorkbook1: TExcelWorkbook;
ExcelWorksheet1: TExcelWorksheet;
Button1: TButton;
procedure Button1Click(Sender: TObject);
private
{ Private declarations }
public
{ Public declarations }
end;
 
To: 小刚
非常好~
ExcelApplication1.Run('My');
我要的就是这一句! 200分全给你了^_^
这个 Run() 如果能直接调用到函数就更好了, 有办法吗? 如下我所说的 TypeName 函数.

To: 常常
我要的是调用自己在EXCEL中写的宏, 通过这个宏可以取得 EXCEL 当前的一些属性
如,用户在 EXCEL 中选中的是什么对象, 用 VBA 的 TypeName 函数取到, 这在 DELPHI 中是没法实现的!
 
后退
顶部