已经知道一个ole变量是个interface,如何把ole转成interface?(解决了必定重谢!) 变量已是interface,直接调用方法就可以了,否则要得到接口,使用类型库,创建接口 解决方案 » 免费领取超大流量手机卡,每月29元包185G流量+100分钟通话, 中国电信官方发货 softcool(泰山):能否来个例子之类,清楚点。解决100! OleVariant转成Interface吗?IUnKnown(yourOleVariant) as IYourInterface; 不行的!我试过了。interface not support 那是你的Interface没有在本机注册了。运行一下你的APPSERVER,注册一下吧。或者用Regsvr32进行注册。 具体点,就是我现在有个olecontainer,这个对象是excel如何从这个对象得到TExcelApplication一类所需的接口ExcelApplication,或ExcelWorkBook之类。 无类型库使用函数CoCreateInstance,返回一个接口 这样的话,你没有定义EXCEL的Interface的文件。那么就直接调用这个OleVariant对象。比如WordApplication,就是YourOleVariant.Save(....)具体函数查看MSDN中的Office文档。 你没有定义EXCEL的Interface的文件:请问如何定义? Delphi5就有,实际上它是从COM对象中import进来的。在D5中可以usesexcel97或者excel2000 早就uses了,但还是没用。我想从OleContainer这个控件来获得excel的接口 OleContainer中不是有OleObject和OleObjectInterface两个属性吗?你用用OleObjectInterface,并将其强制转换。用as进行转换吧,这样类型不对还可以报错。 我早试过了,两个都报错!!: chechy(chechy) :怎么办??? 我没用过OLECONTAINER,我也不知道。我一般都是用Ole Automation的。 Ole Automation:这个又是如何用??能否来个实例? Demos\ActiveX\OleAuto\Word8是对Word的操作。照葫芦画瓢,可以操作Excel。 多谢你!但这个不是我要的效果,我为什么用olecontainer,因为这样我的菜单可以与word的菜单结合,但如何从olecontainer获得接口。 现在问题是搞不清楚到底OleObjectInterface是什么类型,如果能将其类型识别,那么一切问题都能解决。 对阿,但我估计,看帮助,应该就是excelapplication,但是没法强制转 我刚才试了一下Word,发现确实不是_application,而是_document。我觉得以此道理,在Excel中可能是WorkSheet。下面是我的代码:unit Unit7;interfaceuses Windows, Messages, SysUtils, Classes, Graphics, Controls, Forms, Dialogs, StdCtrls, OleCtnrs, Word2000;type TForm1 = class(TForm) OleContainer1: TOleContainer; Button1: TButton; procedure Button1Click(Sender: TObject); private { Private declarations } public { Public declarations } end;var Form1: TForm1;implementation{$R *.DFM}procedure TForm1.Button1Click(Sender: TObject);begin ShowMessage((OleContainer1.OleObjectInterface as Word2000._Document).Name);end;end. 哈哈,蠢,一直没试别的接口,是ExcelWorkBook接口!thank uthank uthank uthank uthank u delphi怎么实现右键打开文件的功能? 请问调用默认邮件发送程序,发送指定附件 如何将一个标题为“A”的对话框在显示之前关闭掉 即杀在内存里 如何 把查询出的 结果 提交到 远程计算机上???? 请帮帮忙:绘图时为何闪烁??? 下面的d6+sqlserver数据库连接有什么区别?那种更好? 想自己写一个能播放RM格式文件的程序,不知道怎样开始 哪儿有DELPHI6开发人员指南 delphi中如何制作开关式按钮,EASY吧 Help!!怎样给listView加背景图片??怎样让里面的item放在任意位置????? 送分题,错误何处?请指教.一定给分 怎样在控件中实现Caption!
IUnKnown(yourOleVariant) as IYourInterface;
或者用Regsvr32进行注册。
如何从这个对象得到TExcelApplication一类所需的接口ExcelApplication,或ExcelWorkBook之类。
比如WordApplication,就是
YourOleVariant.Save(....)
具体函数查看MSDN中的Office文档。
请问如何定义?
excel97或者excel2000
我想从OleContainer这个控件来获得excel的接口
你用用OleObjectInterface,并将其强制转换。用as进行转换吧,这样类型不对还可以报错。
: chechy(chechy) :怎么办???
下面是我的代码:unit Unit7;interfaceuses
Windows, Messages, SysUtils, Classes, Graphics, Controls, Forms, Dialogs,
StdCtrls, OleCtnrs, Word2000;type
TForm1 = class(TForm)
OleContainer1: TOleContainer;
Button1: TButton;
procedure Button1Click(Sender: TObject);
private
{ Private declarations }
public
{ Public declarations }
end;var
Form1: TForm1;implementation{$R *.DFM}procedure TForm1.Button1Click(Sender: TObject);
begin
ShowMessage((OleContainer1.OleObjectInterface as Word2000._Document).Name);
end;end.