怎样在DELPHI中新建一个WORD文档 |
答題得分者是:deity
|
sl@cableplus.com.cn
高階會員 發表:168 回覆:359 積分:130 註冊:2004-03-26 發送簡訊給我 |
|
deity
尊榮會員 發表:90 回覆:876 積分:678 註冊:2003-05-09 發送簡訊給我 |
sl@cableplus.com.cn你好:
可参考下面写法
http://www.delphibbs.com/delphibbs/dispq.asp?lid=1514274
http://www.delphifans.com/article_view.asp?id=264 摘录
具体实现过程如下:
1) 创建一个新的应用程序工程,在窗体中添加一个Button组件和一个Edit组件。
2) 在Uses语句中添加ComObj单元。
3) 在窗体的OnCreate事件处理过程中创建Word实例,具体方法与前面类似。
4) 添加Button组件的OnClick事件的处理过程,具体见下面的程序清单。
程序清单
unit Unit1;
interface
uses
Windows, Messages, SysUtils, Classes, Graphics, Controls, Forms, Dialogs,
StdCtrls,ComObj ;
type
TForm1 = class(TForm)
Button1: TButton;
Edit1: TEdit;
procedure FormCreate(Sender: TO b j e c t ) ;
procedure Button1Click(Sender: TO b j e c t ) ;
private
{ Private declarations }
public
{ Public declarations }
end ;
var
Form1: TForm1;
v_app: variant;
implementation
{$R *. D F M }
procedure TForm1.FormCreate(Sender: TO b j e c t ) ;
begin
try
v_app : = GetActiveOleObject( ' Wo r d . A p p l i c a t i o n ' ) ;
except
v_app : = CreateOleObject( ' Wo r d . A p p l i c a t i o n ' ) ;
end;
end ;
procedure TForm1.Button1Click(Sender: TObject) ;
var
v_doc, v_ran : Variant;
begin
// 在Wo r d中新建一个文档,并添加文本,然后设置粗体和字体大小
v_app.Visible: = True ;
v_app.Documents.Add;
v_app.Documents.Item(1).Range.Text:=Edit1.Text;
v_doc:=v_app.Documents.Item(1) ;
v_doc.Paragraphs.Add;
v_ran:=v_doc.Paragraphs.Item(1).Range;
v_ran.Bold:=1;
v_ran.Font.Size : = 25 ;
end;
end . ——行径窄处,留一步与人行——
|
sl@cableplus.com.cn
高階會員 發表:168 回覆:359 積分:130 註冊:2004-03-26 發送簡訊給我 |
|
sl@cableplus.com.cn
高階會員 發表:168 回覆:359 積分:130 註冊:2004-03-26 發送簡訊給我 |
如下代码:双击BOTTON按钮
procedure TFrmOAKnowledgeEdit.Button1Click(Sender: TObject);
var
Word, doc: Variant;
begin
inherited;
try
Word := GetActiveOleObject('Word.Application');
except
Word := CreateOleObject('Word.Application');
end;
//打开一个WORD文档
if OpenDialog1.Execute then
begin
doc := word.documents.Open(OpenDialog1.FileName, False);
word.visible := true;
end;
希望对该文档进行编辑,然后保存,并通过流文件(FileStream)保存到数据库中 // 创建文件流:
Word_FileStream := TFileStream.Create(此处应该怎么写?, fmOpenWrite or fmCreate);
Word_FileStream.Position := 0;
//保存进数据库('Content')字段中
TBlobField(QryMaster.FieldByName('Content')).loadfromStream(OpenDialog1.FileName);
|
deity
尊榮會員 發表:90 回覆:876 積分:678 註冊:2003-05-09 發送簡訊給我 |
你好:
// 创建文件流:
Word_FileStream := TFileStream.Create(your file name,fmOpenWrite or fmCreate);
Word_FileStream.Position := 0;
可以参考下面这段:
var blobstream:tblobstream;
filestream;Tfilestream;
begin
try
table1.insert;
blobstream:=table1.createblobstream(table1.fieldbyname('Content'),bmreadwrite);
filestream:=tfilestream.create('c:\test.doc');
blobstream.copyfrom(filestream,filestream.size);
table1.post;
finally
blobdtream.free;
filestream.free;
end;
试试看
——行径窄处,留一步与人行—— 發表人 - deity 於 2004/03/29 23:10:57
|
本站聲明 |
1. 本論壇為無營利行為之開放平台,所有文章都是由網友自行張貼,如牽涉到法律糾紛一切與本站無關。 2. 假如網友發表之內容涉及侵權,而損及您的利益,請立即通知版主刪除。 3. 請勿批評中華民國元首及政府或批評各政黨,是藍是綠本站無權干涉,但這裡不是政治性論壇! |