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

Word OLE object AddPicture 圖片問題

缺席
juneo
高階會員


發表:103
回覆:190
積分:118
註冊:2004-05-13

發送簡訊給我
#1 引用回覆 回覆 發表時間:2011-01-17 17:40:12 IP:111.251.xxx.xxx 訂閱
Q1:我想將圖片(1.bmp)插入在游標所在的位置,並且用"與文字排列"的圖片格式?
Q2:搜尋到指定的文字,然後用另外一段文字替換?
Q3:想請問一下如何將表格的線段顯示隱藏?

目前用很笨的方法就是加入分行符號來跑到第二頁,但是圖片不會跟著到第二頁>"<
使用過WordApplication1物件但是光開啟檔案就有很大的問題。
後來還是用OLE的方式才比較好操作,但是BCB有關office的方面範例好少~~~~~XD
是不是BCB在Office這方面有問題阿?
感謝您看完我的問題,謝謝。

以下是程式碼:
[code cpp]
void __fastcall TForm1::Button3Click(TObject *Sender)
{
Variant wordApp;
Variant wordDocuments;
Variant word_range;
Variant wordTables;
Variant wordSelection;
Variant Range;
Variant vCell;
Variant vTable;
AnsiString temStr,FilePath;
if (wordApp.IsEmpty())
wordApp=Variant::CreateObject("Word.Application");
else
wordApp=GetActiveOleObject("Word.Application");
if (wordApp.IsEmpty()){
ShowMessage("Unable to find Word application.");
return;
}
//顯示/隱藏WORD
wordApp.OlePropertySet("Visible",true);
wordDocuments = wordApp.OlePropertyGet("Documents");
//開啟舊檔 /新檔案用Add
FilePath = ExtractFilePath(Application->ExeName);
temStr = FilePath "BBB.doc";
wordDocuments.OleProcedure("Open",temStr.c_str());

//
wordApp.OlePropertyGet("Selection").OleProcedure("GoTo",1,1,1,1); //wdStory

wordDocuments=wordApp.OlePropertyGet("ActiveDocument");
word_range=wordDocuments.OleFunction("Range");
temStr = "ABCDEFG";
word_range.OleFunction("InsertAfter", temStr.c_str());
word_range.OleFunction("InsertParagraphAfter");

wordApp.OlePropertyGet("Selection").OleProcedure("EndKey",6); //wdStory
for(int i=0;i<40;i )
wordApp.OlePropertyGet("Selection").OleProcedure("TypeParagraph");

temStr = "40 line";
word_range.OleFunction("InsertAfter", temStr.c_str());

wordApp.OlePropertyGet("Selection").OleProcedure("EndKey",6); //wdStory
Variant vPic,vPItem; //插入圖片
vPic = wordDocuments.OlePropertyGet("Shapes");
vPic.OleFunction("AddPicture","1.bmp",2,2,10,400);//,f,t,left,top,w,h,EmptyParam

Variant vRange = wordApp.OlePropertyGet("Selection").OlePropertyGet("ShapeRange").OlePropertyGet("WrapFormat");
vRange.OlePropertySet("Type_", wdWrapNone); //wdWrapTight
//vRange.OlePropertyGet("WrapFormat").OlePropertySet("Side", 3);
//vRange.OlePropertyGet("WrapFormat").OlePropertySet("Type", 3);

//vPic.OleFunction("Item",1).OleFunction("WrapFormat");//.OleFunction("Type_",wdWrapNone);
//vRange.OleFunction("Item",1).OleFunction("WrapFormat").OleFunction("Type", 1);
//WordDocument1.Shapes.Item(PicItem).WrapFormat.Type_ := wdWrapNone;//
/*
WdWrapType 可以是下列 WdWrapType 常數之一。
wdWrapInline
wdWrapNone
wdWrapSquare
wdWrapThrough
wdWrapTight
wdWrapTopBottom
*/


}
//---------------------------------------------------------------------------

[/code]


系統時間:2017-10-23 21:17:48
聯絡我們 | Delphi K.Top討論版
本站聲明
1. 本論壇為無營利行為之開放平台,所有文章都是由網友自行張貼,如牽涉到法律糾紛一切與本站無關。
2. 假如網友發表之內容涉及侵權,而損及您的利益,請立即通知版主刪除。
3. 請勿批評中華民國元首及政府或批評各政黨,是藍是綠本站無權干涉,但這裡不是政治性論壇!