請教ole word 的問題 |
尚未結案
|
T-Jason
一般會員 發表:5 回覆:20 積分:10 註冊:2003-05-19 發送簡訊給我 |
各位大大,小弟有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 發送簡訊給我 |
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 發送簡訊給我 |
|
Miles
尊榮會員 發表:27 回覆:662 積分:622 註冊:2002-07-12 發送簡訊給我 |
|
sanhang
一般會員 發表:12 回覆:25 積分:17 註冊:2002-08-31 發送簡訊給我 |
引言: 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 發送簡訊給我 |
本站聲明 |
1. 本論壇為無營利行為之開放平台,所有文章都是由網友自行張貼,如牽涉到法律糾紛一切與本站無關。 2. 假如網友發表之內容涉及侵權,而損及您的利益,請立即通知版主刪除。 3. 請勿批評中華民國元首及政府或批評各政黨,是藍是綠本站無權干涉,但這裡不是政治性論壇! |