挑战Delphi高手,重重有赏
我想在Delphi中实现Word97(及Execel97)自动化,要能读取和设置Word97文档中段
落、行、单词的各种属性,比如某些字为黑体三号斜体字,而另一些为楷体四号粗体等等。找了很多资料,问了很多高手,均无人能给予解答。愿以1000分征答。第一个解决
者将可以得到700分,所有参与者已300分为总和适当给于分数。(给分时,我以另外的
帐号提出几个不需解答的问题,并请解答者访问一次,我将如数奉上1000分)。
问题点数:50、回复次数:11Top
1 楼sky__horse(江湖满地一渔翁)回复于 2000-09-16 16:48:00 得分 0
可能的解决办法:
打开vb中与你的问题有关的功能及帮助,应该可以解决你的问题,数月前
我对此问题作过初步探索,可惜刚刚初见端倪,就奉命去玩三弟马克斯了,因此不
能明确说行或不行,烧化兄不妨试试
Top
2 楼shaohua(流氓大亨文盲高官)回复于 2000-09-17 18:02:00 得分 0
我自己用VB实现了,但猜想也许Delphi做的会快些,所以改用delphi,两者
颇有区别。Top
3 楼lyr()回复于 2000-09-18 13:54:00 得分 0
想知道
Top
4 楼netboy()回复于 2000-09-18 17:06:00 得分 0
关注Top
5 楼Seoul(Seoul)回复于 2000-09-19 09:03:00 得分 10
其实DELPHI与VB实现的方法大体相同,我以前实现过用DELPHI实现简单报表,就是设定一部分
一部分的设定,但现在没有了源程序,无法传给你,但主要是参考WORD的VB帮助文件,设置RANG等,其实方法,属性等都是用VB的,调用时注意的是VB里“”和DELPHI‘’要处理好,只是调用O
WORD做起来十分繁琐,挺累人的,接口采用COM,DELPHI中应有例子,有空我再帮你试一下。Top
6 楼linkie(linkie)回复于 2000-09-19 09:40:00 得分 5
我相信采用OLE技术完全可以实现你的要求的。因为OLE技术可以完全控制Word和Excel等,也就是说你在Delphi下的环境,可以完全等于在Word或者Excel等自身的环境下一样。实际上, 这本身就是OLE技术存在的主要意义。不过我没有研究过OLE(上面的评价是引自OLE技术的相关文章的),虽然我不能给你什么有形的帮助,但是希望能给你带来信心。
Enjoy!Top
7 楼zcw(惊风)回复于 2000-09-19 10:07:00 得分 35
我只做了一个小例子,你自己在做扩展吧:
unit Unit1;
interface
uses
Windows, Messages, SysUtils, Classes, Graphics, Controls, Forms, Dialogs,
StdCtrls,ExtCtrls,comobj;
type
TForm1 = class(TForm)
Button1: TButton;
procedure Button1Click(Sender: TObject);
private
{ Private declarations }
WordApp:Variant;
public
{ Public declarations }
end;
var
Form1: TForm1;
implementation
{$R *.DFM}
procedure TForm1.Button1Click(Sender: TObject);
var
Range: Variant;
i:integer;
begin
WordApp := createoleobject('Word.Application');
WordApp.Visible := True;
WordApp.Documents.Add;
Range := WordApp.Documents.Item(1).Range;
WordApp.Documents.Item(1).Paragraphs.Add;
range:=WordApp.Documents.Item(1).Range(WordApp.Documents.Item(1).
Paragraphs.item(2).range.start);
Range.Text := '你的标题';
Range.Font.color:=clred;
//加空行
for i := 1 to 7 do WordApp.Documents.Item(1).Paragraphs.Add;
//在第一页,第六行写数据
Range:=WordApp.Documents.Item(1).Range(WordApp.Documents.Item(1).
Paragraphs.item(6).range.start);
Range.Text :='你的内容';
Range.Font.color:=clblack;
WordApp.Documents.Item(1).Paragraphs.Add;
end;
end.
Top
8 楼zcw(惊风)回复于 2000-09-19 10:09:00 得分 0
向你推荐一本书<<DEIPHI4核心编程技术内幕>>Top
9 楼shaohua(流氓大亨文盲高官)回复于 2000-09-20 20:17:00 得分 0
特别感谢zcw的指点和seoul的热心,也感谢所有参于回答的同志。我将尽快以ycay的帐号提出
几个主题为“感谢1”,"感谢2"之类的问题,请zcw和seoul等登录并随便发言,我将给于你们应
得的分数。谢谢各位。(问题已基本解决)
Top
10 楼Lionheart(狮心)回复于 2000-10-04 20:00:00 得分 0
无聊,很简单的一个例子,非要哗众取宠。你分很多?Top




