|
|
导航: |
论坛 -> DELPHI技术
斑竹:liumazi,sephil |
|
作者: |
|
2004/2/26 10:58:22 |
标题: |
Delphi操作Word的问题!请赐教 |
浏览:1763 |
|
加入我的收藏 |
楼主: |
请问谁能提供一下Delphi操作Word的详细资料吗?我现在需要一个控制复制粘贴和撤销尤其是撤销的功能。
----------------------------------------------
- |
作者: |
|
2004/2/26 11:10:33 |
1楼: |
20,Q:我想在 Delphi 程序中直接调用 Word 文档并使用 Word 的功能,这个程序该怎样编? 该用什么控件呢? A: 方法一: 1) 从 WORD.EXE 中导入 WORD 的 Type Library 2) var wd : _Application; wdt : Table; dot1,FileName: OleVariant; begin dot1 := 'c:\abc.dot'; wd := coApplication_.Create; wd.Documents.Add(dot1, EmptyParam); wdt := wd.ActiveDocument.Tables.Item(1); wdt.Cell(1,3).Range.Text := 'Hello!'; //以下是保存和关闭文档及 Word, 可以不关,下面两个例程略过此步。 //EmptyParam 用来代替不使用的参数。 FileName := 'c:\test.doc'; wd.ActiveDocument.SaveAs(FileName,EmptyParam,EmptyParam, EmptyParam, EmptyParam,EmptyParam,EmptyParam,EmptyParam,EmptyParam, EmptyParam, EmptyParam); wd.ActiveDocument.Close(EmptyParam,EmptyParam,EmptyParam); wd.Quit(EmptyParam,EmptyParam,EmptyParam); end;
方法二: var Ole: Variant; NewDoc: Variant; DocTable: Variant; begin //方法二的参数可以直接使用 Delphi 的数据类型。其它方法只能使用 OleVariant 类型. Ole := CreateOleObject('Word.Application'); Ole.Application.Visible := true; NewDoc := Ole.Documents.Add('C:\abc.dot'); DocTable := NewDoc.Tables.Item(1); DocTable.Cell(1,3).Range.Text := 'Hello!'; //设置Variant对象为UnAssigned来释放该对象的引用。 NewDoc := UnAssigned; DocTable := UnAssigned; Ole := UnAssigned; end;
方法三:使用 Server 页的 TWordApplication 控件,同理,你可以用里头的所有控件。Ole 为TWordApplication控件名称。 var NewDoc: Variant; DocTable: Variant; o: OleVariant; begin o := 'c:\abc.dot'; NewDoc := Ole.Documents.Add(o,EmptyParam); DocTable := NewDoc.Tables.Item(1); DocTable.Cell(1,3).Range.Text := 'Hello!'; NewDoc := UnAssigned; DocTable := UnAssigned; end;
推荐用方法一和方法三。因为方法二不提供类型参数检查,也因为方法二的接口调用效率低。程序中所使用的属性和方法资料可以在 Office 的 VBA 帮助中查到。需要者请在安装 Office 时选择安装 VBA 编程帮助。
----------------------------------------------
╬╬Smart programmer use Delphi╬╬
|
作者: |
|
2004/2/26 11:57:19 |
2楼: |
谢谢,能不能直接提供一下撤消和复制粘贴操作的代码呢?
----------------------------------------------
-
|
作者: |
bios (阿贡) |
★☆☆☆☆ |
-
|
盒子中级会员 |
|
2004/2/26 15:46:07 |
3楼: |
学习!
----------------------------------------------
|
作者: |
|
2004/2/26 18:23:01 |
4楼: |
已经收藏!
----------------------------------------------
我来自农村广阔的田野我的每一个动作都很夸张http://waterstone.51r.com
|
作者: |
|
2004/3/9 14:42:27 |
5楼: |
能实现界面上的一致吗?能容易的进行控制吗?我试的时候好象不行啊
----------------------------------------------
-
|
作者: |
|
2004/3/25 20:07:29 |
6楼: |
大虾们,能不能反映在固定WORD 里操作的各行? 尤其是 如果在打开的WORD 文件中,我改变了某一行的某几个字的字体,那么在DELPHI 中我怎么能反映出来?
谢谢大家的支持,我回珍惜您的精髓的!!!!!!!!!!!!!!1
----------------------------------------------
d
|
|