Delphi编程如何控制生成Office文档?有关于Office的api吗?(100分)

  • 主题发起人 主题发起人 windyson
  • 开始时间 开始时间
W

windyson

Unregistered / Unconfirmed
GUEST, unregistred user!
我利用Delphi编程,需要在程序中启动Word,把一段数据送入生成一个.Doc文
档;同样,启动Excel,送入一段数据生成一个.xls的电子表格。现在我只知道
利用Ole容器控件启动Word和Excel,却不知道如何控制生成相应的的文档和表
格。请问是否有关office编程的api供调用,来读取和控制生成office文档?
有其他的方法实现以上功能吗?
 
还是ole!此方面问题在已答问题中不知有多少,你可以搜索‘ole’...
简单说一下:
USES COMOBJ,(FOR D4)
声明olevariant变量用于创建ole对象:
wordobj:=createobject('word.basic');
Excelobj:=createobject('Excel.application');...
用ole对象的相关方法操作该对象:
word: insert('...');
Excel:range,cell...
具体函数可以参阅vba的相关文档,有详细说明。或msdn...
 
menxin在这方面可是有一定见解的,听他的吧。
 
Ole分类的问题有有关的介绍,但都比较粗浅,希望能给个较完整的应用事例来!
 
推荐看看TQZ的那个DB TO WORD,不错的。
实际上是发点VB FOR APP代码什么的,呵呵。
 
windyson:
买本VBA的书看看,看Help毕竟吃力,VBA对Word等的控制还是比较复杂的,
功能非常强
menxin:
你写的函数名是否有笔误?
 
有一个上好的例子,去下载tqz大虾的Editor choice的东西吧,原程序全在里面,将大富翁离线包转为doc文件的东东
 
CJ 和 DNChen 提到的<a href=DispQ.asp?LID=116421程序在此</a>.
 
OLE 自动化
 
You can get to any of the interfaces exposed by the word
automation server. These can be found by loading MSWORD8.OLB
into Delphi which will display the type library information.
You can also use the Application's WordBasic property to get
at the VB used in Word. The following sample demonstrates both
avenues:
implementation
uses ComObj;
{$R *.DFM}
var
V: OleVariant;
procedure TForm1.Button1Click(Sender: TObject);
begin
V := CreateOleObject('Word.Application');
V.ShowMe;
V.WordBasic.FileNew;
V.WordBasic.Insert('test');
V.Run('mymac');
V.WordBasic.FileSave;
end;

end.
 
OLE Auto是一个方法,这在Delphi的许多书籍都提到.
另外一个方法就是利用DDE,在深度历险中可以找到现成的控件.
 
3word,3excel控件,就能完成你的需要,还带DEMO,
用了就好
 
关于Office objects,可以参考MSDN,或者Office的帮助(安装时不会自动加上
Wordbasic等的帮助)
我建议不要用CreateOLEObject的方式(所谓的Late Binding),而是直接访问
COM对象(Early Binding),这样效率更高,而且有很多语法late Binding不支持,
比如给某个Property 赋值。
当然,early binding 要求先Import Library.
 
多谢各位指点,我已经开始看有关OLE自动化方面的内容。由于还未看全,有一点不解。请问:
如果已存在office文档,是否可以不打开而通过ole来直接取出其中的文本,表格等信息?相应的函数是什么?
 
RTF 格式可以吗 我在BCB的例子中有源代码,希望对你有帮助
 
像你那样用vb吧,毕竟是一个公司做的,有什么好办法了?
 
《Delphi3入门到精通》的书上有个比较简单的例子。如果有必要可以给你寄过去,
挺简单,不过也可利用Word的书签把数据放在指定位置,作报表很好用。记得《电脑商情报》上有过一篇文章介绍过,我记不请了,好象不行。
 
to sherman:
How can i get the 3word and 3excel. Email to me:jini_wang@21cn.com,
Thank you!!!
 
通过OLE接口,函数的说明在Office97的帮助文件中,
安装时可以选择,缺省不安装。MSDN中好像也有。
 
OLE 自动化能够解决!
 

Similar threads

D
回复
0
查看
767
DelphiTeacher的专栏
D
D
回复
0
查看
809
DelphiTeacher的专栏
D
后退
顶部