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

如何使用 Delphi 在 Word上插圖

尚未結案
carter6
初階會員


發表:53
回覆:108
積分:42
註冊:2002-12-16

發送簡訊給我
#1 引用回覆 回覆 發表時間:2003-05-01 10:14:12 IP:61.59.xxx.xxx 未訂閱
請問各位 不知道 Delphi 可以在 Word 上插圖嗎?? Delphi 初學者
pgdennis
資深會員


發表:41
回覆:526
積分:443
註冊:2002-05-23

發送簡訊給我
#2 引用回覆 回覆 發表時間:2003-05-02 00:05:04 IP:61.59.xxx.xxx 未訂閱
這是word從檔案中插圖的VBA....前面的開檔動作等,請參考之前的文章...     
     Selection.InlineShapes.AddPicture FileName:= _
        "C:\Documents and Settings\dennisdai\My Documents\My Pictures\002.jpg", _
        LinkToFile:=False, SaveWithDocument:=True
永遠追不上技術更新的速度~~
------
星期一,二...無窮迴圈@@
carter6
初階會員


發表:53
回覆:108
積分:42
註冊:2002-12-16

發送簡訊給我
#3 引用回覆 回覆 發表時間:2003-05-02 09:32:03 IP:218.170.xxx.xxx 未訂閱
那...... 不能用 Delphi 直接控制去插圖嗎?
pgdennis
資深會員


發表:41
回覆:526
積分:443
註冊:2002-05-23

發送簡訊給我
#4 引用回覆 回覆 發表時間:2003-05-02 10:50:31 IP:218.163.xxx.xxx 未訂閱
引言: 那...... 不能用 Delphi 直接控制去插圖嗎?
你誤會我意思了.雖然那是 class="code"> procedure TForm1.Button1Click(Sender: TObject); var V:variant; S: Selection; begin V := CreateOleObject('word.Application'); V.Visible := True; V.Documents.add; V.Selection.InlineShapes.AddPicture('C:\jenny.jpg',False,True); end; 永遠追不上技術更新的速度~~
------
星期一,二...無窮迴圈@@
carter6
初階會員


發表:53
回覆:108
積分:42
註冊:2002-12-16

發送簡訊給我
#5 引用回覆 回覆 發表時間:2003-05-04 18:10:06 IP:211.74.xxx.xxx 未訂閱
謝謝!! 但是有錯耶 V.Documents.add; Not enough actual parameters. V.Selection.InlineShapes.AddPicture(''C:\jenny.jpg'',False,True); Type of actual and formal var parameters must be identical . 會出現錯誤 不知該怎麼改!!
qoo1234
版主


發表:256
回覆:1167
積分:659
註冊:2003-02-24

發送簡訊給我
#6 引用回覆 回覆 發表時間:2003-05-04 19:02:52 IP:61.225.xxx.xxx 未訂閱
參考看看: 將圖片插入word的指定位置 var FPicture:OleVariant; //插入圖片 FPicture:=MSWord.documents.item(1).InlineShapes.AddPicture('C:\0003.jpg',False, True ); FPicture.ConvertToShape.select; //轉成可移動模式... documents.Application.Selection.ShapeRange.width:=大小; documents.Application.Selection.ShapeRange.height:=高度; documents.Application.Selection.ShapeRange.IncrementLeft(左); documents.Application.Selection.ShapeRange.IncrementTop(右); 發表是最好的記憶!
carter6
初階會員


發表:53
回覆:108
積分:42
註冊:2002-12-16

發送簡訊給我
#7 引用回覆 回覆 發表時間:2003-05-04 22:44:02 IP:211.74.xxx.xxx 未訂閱
不好意思!! MSWord. 之後好像沒有 documents 應是 MSWord.Application.Documents.Item(1) 但是就沒有 InlineShapes.AddPicture('C:\0003.jpg',False, True ); 這段了 是不是您忘了什麼 如果想起來 請跟我說 因為我打這樣還是錯 MSWord.Application.Documents.Item(1).InlineShapes.AddPicture('C:\0003.jpg',False, True); 會出現錯誤 Type of actual and formal var parameters must be identical .
pgdennis
資深會員


發表:41
回覆:526
積分:443
註冊:2002-05-23

發送簡訊給我
#8 引用回覆 回覆 發表時間:2003-05-04 23:10:37 IP:211.74.xxx.xxx 未訂閱
引言: 不好意思!! MSWord. 之後好像沒有 documents 應是 MSWord.Application.Documents.Item(1) 但是就沒有 InlineShapes.AddPicture('C:\0003.jpg',False, True ); 這段了 是不是您忘了什麼 如果想起來 請跟我說 因為我打這樣還是錯 MSWord.Application.Documents.Item(1).InlineShapes.AddPicture('C:\0003.jpg',False, True); 會出現錯誤 Type of actual and formal var parameters must be identical .
你有 uses word2000嗎...word97 2000不一樣喔 我是在word2000下測的...程式碼就只有我po的那樣..... 永遠追不上技術更新的速度~~
------
星期一,二...無窮迴圈@@
carter6
初階會員


發表:53
回覆:108
積分:42
註冊:2002-12-16

發送簡訊給我
#9 引用回覆 回覆 發表時間:2003-05-04 23:26:56 IP:211.74.xxx.xxx 未訂閱
我也是用 Word 2000 我是這樣寫阿 msword.Connect; msword.Application.Visible := true ; msword.Application.Documents.Add; msword.Application.Selection.InlineShapes.AddPicture('C:\1.jpg',False,True); msword.Disconnect; 可是還是出現我打的那些錯誤訊息阿 我用 qoo1234 大大的也是不能用阿
pgdennis
資深會員


發表:41
回覆:526
積分:443
註冊:2002-05-23

發送簡訊給我
#10 引用回覆 回覆 發表時間:2003-05-05 16:40:19 IP:218.163.xxx.xxx 未訂閱
引言: 我也是用 Word 2000 我是這樣寫阿 msword.Connect; msword.Application.Visible := true ; msword.Application.Documents.Add; msword.Application.Selection.InlineShapes.AddPicture('C:\1.jpg',False,True); msword.Disconnect; 可是還是出現我打的那些錯誤訊息阿 我用 qoo1234 大大的也是不能用阿
你好像將元件盤上的wordapplication元件和CreateOleObject('word.Application')搞混了......兩個不一樣的用法喔 你先確定在沒改我的程式的情形下,能跑嗎? <--我是正常 我沒用元件盤上的wordapplication元件..注意喔 delphi元件盤的wordapplication元件..和你用CreateOleObject('word.Application')有很大的差別.... 用CreateOleObject表示你用的word的method是runtime才去call的.. 好處是..參數,函式名稱都和word所提供的一樣,只要查msdn或vba就可以查到資料... 如果用元件盤的wordapplication元件就不一樣了,基本上delphi可能有改寫函式 ,參數,型態等..加上說明文件少...要查某個函式怎麼用.比較難...不過你編譯時他就會檢查有無錯誤..算是他的優點,不像CreateOleObject的做法,要等到真的執行到那一行時,才會發現有沒有錯誤.. 我是傾向用CreateOleObject的做法,這樣你可用的說明文件資源較多.. 至於 > 改 class="code"> procedure TForm1.Button2Click(Sender: TObject); var FPicture,C:OleVariant; begin C:=Worddocument1.Range; FPicture:=WordDocument1.Range.InlineShapes.AddPicture( 'C:\jenny.jpg',EmptyParam, EmptyParam,C); Worddocument1.Application.Visible:=true; 永遠追不上技術更新的速度~~ 發表人 - pgdennis 於 2003/05/05 16:47:22 發表人 - pgdennis 於 2003/05/05 16:58:13
------
星期一,二...無窮迴圈@@
系統時間:2024-11-23 9:25:50
聯絡我們 | Delphi K.Top討論版
本站聲明
1. 本論壇為無營利行為之開放平台,所有文章都是由網友自行張貼,如牽涉到法律糾紛一切與本站無關。
2. 假如網友發表之內容涉及侵權,而損及您的利益,請立即通知版主刪除。
3. 請勿批評中華民國元首及政府或批評各政黨,是藍是綠本站無權干涉,但這裡不是政治性論壇!