全國最多中醫師線上諮詢網站-台灣中醫網
發文 回覆 瀏覽次數:1370
推到 Plurk!
推到 Facebook!

請教ole word 的問題

尚未結案
T-Jason
一般會員


發表:5
回覆:20
積分:10
註冊:2003-05-19

發送簡訊給我
#1 引用回覆 回覆 發表時間:2004-03-31 10:58:25 IP:61.216.xxx.xxx 未訂閱
各位大大,小弟有2個word問題想要請問 因為比較少人轉WORD所以我找不到相關資料 procedure TForm1.Button1Click(Sender: TObject); var v : variant; begin v:= CreateOleObject('Word.Basic'); v.FileNew('Normal'); v.Insert('abc 1234567890' #10);<--1.如何把內容變顏色? v.Insert('ABC 1234567890');<--2.在word下會有對齊的問題 我轉出來結果會變成 abc 1234567890 ABC 1234567890 我是用算字串的方式,可是還是沒辦法解決對齊的問題 end; 謝謝
Miles
尊榮會員


發表:27
回覆:662
積分:622
註冊:2002-07-12

發送簡訊給我
#2 引用回覆 回覆 發表時間:2004-03-31 15:02:06 IP:218.160.xxx.xxx 未訂閱
Hi T-Jason 您好: 我的做法跟你有些不一樣, 參考一下
var
v, r : variant;
begin
   v:= CreateOleObject('Word.Application');
   v.Visible := True;
   v.Documents.Add;
   v.Documents.Item(1).Range;
   v.Selection.TypeText('abc 1234567890');
   v.Selection.TypeParagraph;
   v.Selection.TypeText('ABC 1234567890');
   v.Selection.MoveRight( Unit:=wdCharacter, Count:=14, Extend:=wdExtend);
   v.Selection.Font.Color := wdColorRed;
   v.Selection.TypeParagraph;
   v.Selection.TypeText('abdsfdssdf');
   //===不曉得你說的對齊為何, 是否為字型的關係, 若是則加入下面兩行
   v.Selection.MoveUp( Unit:=wdLine, Count:=3, Extend:=wdExtend);
   v.Selection.Font.NameAscii := '細明體';
end;
我不是高手, 高手是正在銀幕前微笑的人.
------


我不是高手, 高手是正在銀幕前微笑的人.
T-Jason
一般會員


發表:5
回覆:20
積分:10
註冊:2003-05-19

發送簡訊給我
#3 引用回覆 回覆 發表時間:2004-03-31 17:45:46 IP:61.216.xxx.xxx 未訂閱
Miles你好 我有試了一次 結果會有Undeclared identifier:'wdColorRed' 無法Compile 對齊的部份對不起,我post的不太好 我所轉出來的結果會是 結果: abc 12345 ABC 12345 因為英文字的大小寫而使得上下的'12345'無法對齊 這樣有方法可以解決嗎? 我後來有想到如果英文字轉出的字是全形字的話,不知是否可行? 發表人 - T-jason 於 2004/03/31 18:04:41
Miles
尊榮會員


發表:27
回覆:662
積分:622
註冊:2002-07-12

發送簡訊給我
#4 引用回覆 回覆 發表時間:2004-03-31 18:33:33 IP:218.160.xxx.xxx 未訂閱
Hi T-Jason您好: 試試 Uses Word2000;  英文字大小寫問題簽扯到TrueType字型的關係, 像"新細明體"為TrueType字型每個字的寬度就可能會不一樣, 所以上面的程式我將他設為"細明體"就不會了 我不是高手, 高手是正在銀幕前微笑的人. 發表人 -
------


我不是高手, 高手是正在銀幕前微笑的人.
sanhang
一般會員


發表:12
回覆:25
積分:17
註冊:2002-08-31

發送簡訊給我
#5 引用回覆 回覆 發表時間:2004-04-01 08:53:23 IP:202.39.xxx.xxx 未訂閱
引言: Miles你好 我有試了一次 結果會有Undeclared identifier:'wdColorRed' 無法Compile 對齊的部份對不起,我post的不太好 我所轉出來的結果會是 結果: abc 12345 ABC 12345 因為英文字的大小寫而使得上下的'12345'無法對齊 這樣有方法可以解決嗎? 我後來有想到如果英文字轉出的字是全形字的話,不知是否可行? 發表人 - T-jason 於 2004/03/31 18:04:41
你的需求可以自行製作巨集 觀看產出的VBA程式碼就可以知道大概的做法 例如你說的wdColorRed,在 VBA 編輯環境中 在該字上按右鍵,選取[定義] 就可以知道該被定義的常數的數值為何 wdColorRed = 255(&HFF) 所以在Delphi中你只要將wdColorRed改為255即可避免錯誤發生
T-Jason
一般會員


發表:5
回覆:20
積分:10
註冊:2003-05-19

發送簡訊給我
#6 引用回覆 回覆 發表時間:2004-04-03 09:17:05 IP:61.216.xxx.xxx 未訂閱
謝謝 Miles 跟 sanhang 謝謝你們教我上了一課,原來還可在VBA上看 我受益良多,不過我的程式可能要全部改寫成Miles的方式 :) 謝謝
系統時間:2024-06-01 22:52:55
聯絡我們 | Delphi K.Top討論版
本站聲明
1. 本論壇為無營利行為之開放平台,所有文章都是由網友自行張貼,如牽涉到法律糾紛一切與本站無關。
2. 假如網友發表之內容涉及侵權,而損及您的利益,請立即通知版主刪除。
3. 請勿批評中華民國元首及政府或批評各政黨,是藍是綠本站無權干涉,但這裡不是政治性論壇!