線上訂房服務-台灣趴趴狗聯合訂房中心
發文 回覆 瀏覽次數:1435
推到 Plurk!
推到 Facebook!

delphi 与word2003

答題得分者是:pceyes
wq236589
一般會員


發表:21
回覆:37
積分:16
註冊:2008-08-27

發送簡訊給我
#1 引用回覆 回覆 發表時間:2008-10-22 16:30:17 IP:123.181.xxx.xxx 訂閱
我在网上找了很多通过delphi打开,新建,打印word文档的帖子越看越晕,哪个高手能写一段简单的打开,新建,打印word文档的代码(最好能带详细说明的)以供小弟学习,不胜感激。我用的是office2003
pceyes
尊榮會員


發表:70
回覆:657
積分:1140
註冊:2003-03-13

發送簡訊給我
#2 引用回覆 回覆 發表時間:2008-10-22 17:30:32 IP:220.141.xxx.xxx 訂閱
以下程式碼,自word97, word2000, word2002(word Xp),word2003皆可使用,請有word2007者回應可否使用,謝謝。
ComObj, StdCtrls;

type
TForm1 = class(TForm)
OpenDialog1: TOpenDialog;
SaveDialog1: TSaveDialog;
Button1: TButton;
Button2: TButton;
Button3: TButton;
Button4: TButton;
procedure OpenWorddoc;
procedure Button2Click(Sender: TObject);
procedure Button4Click(Sender: TObject);
procedure Button3Click(Sender: TObject);
procedure Button1Click(Sender: TObject);
private
{ Private declarations }
WordApp : OleVariant;
Doc : OleVariant;
SaveNoChanges : OleVariant;
vLink : OleVariant;
vReadOnly :OleVariant;
Documents : OleVariant;
public
{ Public declarations }
end;

var
Form1: TForm1;

implementation

{$R *.dfm}

// 開啟 MS-WORD
procedure TForm1.OpenWorddoc;
begin
vLink := unassigned ; // 不使用(可改為Null)
vReadOnly := true ; // 唯讀
// 開始Word應用程式
try
// 如果已有word程式存在,直接使用
WordApp:= CreateOleObject('Word.Application');
end;
// 顯示Word
WordApp.Application.Visible := true;
// 開啟你的文件
Documents := WordApp.Documents;
if Form1.OpenDialog1.Execute then begin
Doc :=Documents.Open(OpenDialog1.FileName,vLink, vReadOnly);
end;
end;

// 列印
procedure TForm1.Button2Click(Sender: TObject);
begin

WordApp.DisplayAlerts := 0; // 不顯示提示訊息
doc.close(SaveNoChanges); // 關閉文件
wordapp.saveas(SaveDialog1.FileName);
end;
SaveNoChanges := True;
doc.close(SaveNoChanges);
end;

// 開檔
procedure TForm1.Button1Click(Sender: TObject);
begin
OpenWorddoc;
end;

end.
------
努力會更接近成功
編輯記錄
pceyes 重新編輯於 2008-10-23 04:48:29, 註解 無‧
pceyes 重新編輯於 2008-10-23 04:49:14, 註解 無‧
wq236589
一般會員


發表:21
回覆:37
積分:16
註冊:2008-08-27

發送簡訊給我
#3 引用回覆 回覆 發表時間:2008-10-23 08:37:08 IP:123.181.xxx.xxx 訂閱
忘记说写入文档的代码了,帮忙把写入文档的代码也写一下,谢谢。
(主要是那些写入文档时常用的指令,比如换行、空格......)
編輯記錄
wq236589 重新編輯於 2008-10-23 09:34:37, 註解 無‧
pceyes
尊榮會員


發表:70
回覆:657
積分:1140
註冊:2003-03-13

發送簡訊給我
#4 引用回覆 回覆 發表時間:2008-10-23 09:40:01 IP:122.118.xxx.xxx 訂閱

[code delphi]
// 寫入文檔
procedure TForm1.Button5Click(Sender: TObject);
begin
doc.Range.InsertAfter('寫入文檔的代碼');
end;

[/code]

===================引 用 wq236589 文 章===================
忘记说写入文档的代码了,帮忙把写入文档的代码也写一下,谢谢。
(主要是那些写入文档时常用的指令,比如换行、空格......)
------
努力會更接近成功
wq236589
一般會員


發表:21
回覆:37
積分:16
註冊:2008-08-27

發送簡訊給我
#5 引用回覆 回覆 發表時間:2008-10-23 10:24:22 IP:123.181.xxx.xxx 訂閱
新建、清空文档的代码怎么写?
pceyes
尊榮會員


發表:70
回覆:657
積分:1140
註冊:2003-03-13

發送簡訊給我
#6 引用回覆 回覆 發表時間:2008-10-23 11:16:13 IP:124.199.xxx.xxx 訂閱

[code delphi]
// 新建
procedure TForm1.Button5Click(Sender: TObject);
begin
doc := documents.Add;
end;

// 清空文檔
procedure TForm1.Button5Click(Sender: TObject);
begin
doc.Range.Text := '';
end;

[/code]
------
努力會更接近成功
編輯記錄
pceyes 重新編輯於 2008-10-23 12:28:49, 註解 無‧
pceyes 重新編輯於 2008-10-23 12:29:07, 註解 無‧
zhouying82
高階會員


發表:150
回覆:272
積分:189
註冊:2004-03-16

發送簡訊給我
#7 引用回覆 回覆 發表時間:2008-10-23 20:54:17 IP:116.230.xxx.xxx 訂閱
刚刚用D2009 WORD2007试了一下,完全可以用。
------
断断续续的学了几年,还是一个初学者,永远支持Delphi !
系統時間:2024-05-08 9:31:12
聯絡我們 | Delphi K.Top討論版
本站聲明
1. 本論壇為無營利行為之開放平台,所有文章都是由網友自行張貼,如牽涉到法律糾紛一切與本站無關。
2. 假如網友發表之內容涉及侵權,而損及您的利益,請立即通知版主刪除。
3. 請勿批評中華民國元首及政府或批評各政黨,是藍是綠本站無權干涉,但這裡不是政治性論壇!