青青草原综合久久大伊人导航_色综合久久天天综合_日日噜噜夜夜狠狠久久丁香五月_热久久这里只有精品

codeArt

codeArt

c++操作word接口

注意事項:1多用Range,少用Selection,因為Word中,Selection對象只有一個。
【1】開啟word
_ApplicationPtr word_app;
HRESULT hr 
= word_app.CreateInstance("Word.Application", NULL); 
【2】新建一個文檔
COleVariant vTrue((short)TRUE),vFalse((short)FALSE),vOpt((long)DISP_E_PARAMNOTFOUND, VT_ERROR);
DocumentsPtr docs;
_DocumentPtr oDoc;
docs 
= word_app->GetDocuments();
doc 
= docs->Add(vOpt, vOpt, vOpt, vOpt);  
【3】設置文檔的頁面布局
PageSetupPtr page_setup = doc->GetPageSetup();
page_setup
->PutTopMargin(0);
page_setup
->PutBottomMargin(0);
page_setup
->PutRightMargin(0);
page_setup
->PutLeftMargin(0);
【4】插入文本
SelectionPtr selection;
selection 
= word_app->GetSelection();
_ParagraphFormatPtr parafmt 
= selection->GetParagraphFormat();
parafmt
->PutLineSpacingRule(wdLineSpaceExactly);
parafmt
->PutLineSpacing(50);
_FontPtr font;
font 
= oSel->GetFont();
font
->PutBold(1);
font
->PutColor(wdColorGreen);
font
->PutSize(20);
font
->PutName(_T("宋體"));
selection
->TypeText("ABC");
oSel
->TypeParagraph();
oSel
->TypeText("12345678901234567890");
oSel
->TypeParagraph();
【5】插入文本框
ShapesPtr shapes = doc->GetShapes();
ShapePtr textbox 
=  shapspp->AddTextbox(Office::msoTextOrientationHorizontal, 11100100);
【6】文本框中插入文本
 1ShapesPtr shapes = doc->GetShapes();
 2ShapePtr textbox =  shapspp->AddTextbox(Office::msoTextOrientationHorizontal, 11100100);
 3TextFramePtr textframe = textbox->GetTextFrame();
 4RangePtr range = textframe->GetTextRange();
 5long insert_before_count = range->Characters->GetCount();
 6range->InsertAfter("TEXT");
 7if (insert_before_count != 1)
 8    range->MoveStart(COleVariant((long)Word::wdCharacter), COleVariant(insert_before_count-1));
 9if(range != 0)
10{
11    _FontPtr font = range->GetFont();
12    font->PutBold(isBold);
13    font->PutItalic(isItalic);
14    font->PutColor((Word::WdColor)FontColor());
15    font->PutSize(FontSize);
16    font->PutName(FontType().c_str());
17}
【7】設置文本框的屬性
1textbox->GetTextFrame()->PutAutoSize(Office::msoAutoShape);
2textbox->GetTextFrame()->PutMarginBottom(0);
3textbox->GetTextFrame()->PutMarginTop(0);
4textbox->GetTextFrame()->PutMarginLeft(0);
5textbox->GetTextFrame()->PutMarginRight(0);
6textbox->GetLine()->PutVisible(Office::msoFalse);
7textbox->GetFill()->PutTransparency(1);
【8】插入圖片,這里需要注意,必須得先用InlineShape,這樣可以把圖片插入到指定的頁中,不然,所有的圖片只在第一頁。
 1ShapesPtr shapes = m_WordDoc->GetShapes();
 2InlineShapesPtr inline_shapes = selection_doc->GetRange()->GetInlineShapes();
 3InlineShapePtr inline_shape = inline_shapes->AddPicture(“picture_path”, COleVariant((long)0), COleVariant((long)1));
 4ShapePtr shape = inline_shape->ConvertToShape();
 5shape->PutWidth(width);
 6shape->PutHeight(hehight());
 7shape->PutTop(Y);
 8shape->PutLeft(X);
 9if(shape->GetType() == Office::msoPicture)
10{
11    Word::WrapFormatPtr wrapp = shape->GetWrapFormat();
12    wrapp->PutType(Word::wdWrapBehind);
13}

14
【9】插入直線
1ShapesPtr shapes = doc->GetShapes();
2Word::ShapePtr line = shapes->AddLine(x1,y1, x2,y2);
3if (line->GetType() == Office::msoLine)
4{
5    Word::LineFormatPtr LineFmt = line->GetLine();
6    LineFmt->PutWeight(lr->weight_);
7}
【10】插入分隔符
selection->InsertBreak(COleVariant((long)wdColumnBreak));
selection
->InsertBreak(COleVariant((long)wdSectionBreakContinuous));
selection
->InsertBreak(COleVariant((long)wdPageBreak));

【11】設置欄目個數和欄目的寬度
這里一定要注意add函數的邏輯
1SectionsPtr word_sections = doc->GetSections();
2long num = word_sections->GetCount();
3SectionPtr word_section = word_sections->Item(num-1);
4PageSetupPtr page_setup = word_section->GetPageSetup();
5TextColumnsPtr text_cols = page_setup>GetTextColumns();
6text_cols->PutEvenlySpaced(0);
7text_cols->Add(COleVariant(col_width), COleVariant((long)0), COleVariant((long)false));
【12】插入表格
 1TablesPtr tables = oSel->GetTables();    
 2TablePtr table = tables->Add(oSel->GetRange(), 25);
 3    
 4BordersPtr bords = table->GetBorders();
 5bords->PutOutsideLineStyle(wdLineStyleSingle);
 6bords->PutInsideLineStyle(wdLineStyleSingle);
 7for (int i = 1; i<=2; i++)
 8{
 9    for (int j = 1; j<=5; j++)
10    {
11        table->Cell(i,j)->GetRange()->PutText("20");
12    }

13}

14
15CellPtr cell = table->Cell(1,1);
16cell->Merge(table->Cell(1,2));
【13】保存文檔并退出
1COleVariant vTrue((short)TRUE),vFalse((short)FALSE),vOpt((long)DISP_E_PARAMNOTFOUND, VT_ERROR);
2_DocumentPtr active_doc; 
3active_doc = word_app->GetActiveDocument();
4active_doc->SaveAs(COleVariant("D:\\doc1.doc"), 
5                   COleVariant((short)0),
6                   vFalse, COleVariant(""), vTrue, COleVariant(""),
7                   vFalse, vFalse, vFalse, vFalse, vFalse);
8word_app->Quit(vOpt, vOpt, vOpt);
在word優秀的構架中還有許許多多的接口,上面只是舉例實現一個普通的文檔,希望對大家有用。

posted on 2010-08-31 19:35 codeArt 閱讀(9101) 評論(4)  編輯 收藏 引用 所屬分類: COM

評論

# re: c++操作word接口 2010-10-26 17:51 tch

so good ,3q
  回復  更多評論   

# re: c++操作word接口 2012-02-29 22:25 徐世富

你用的是word哪個版本?生成app后,如果沒有裝.net還需要哪些dll,如果本身開著一個word,保存的時候會不會出現無法保存的問題,出現rfc服務器錯誤
希望能發我郵箱543483382@qq.com,謝謝
  回復  更多評論   

# re: c++操作word接口[未登錄] 2012-08-07 17:35 劉偉

太好了。多謝博主  回復  更多評論   

# re: c++操作word接口 2014-04-21 17:08 仔仔

vs2010怎么使用能不能提供一下??!我的郵箱是min0073@163.com  回復  更多評論   

<2010年8月>
25262728293031
1234567
891011121314
15161718192021
22232425262728
2930311234

導航

統計

常用鏈接

留言簿(1)

隨筆分類

隨筆檔案

文章檔案

編程與開源

搜索

最新評論

閱讀排行榜

評論排行榜

青青草原综合久久大伊人导航_色综合久久天天综合_日日噜噜夜夜狠狠久久丁香五月_热久久这里只有精品
  • <ins id="pjuwb"></ins>
    <blockquote id="pjuwb"><pre id="pjuwb"></pre></blockquote>
    <noscript id="pjuwb"></noscript>
          <sup id="pjuwb"><pre id="pjuwb"></pre></sup>
            <dd id="pjuwb"></dd>
            <abbr id="pjuwb"></abbr>
            亚洲精品国产精品久久清纯直播| 亚洲欧美日韩在线一区| 亚洲国产第一| 久久久青草青青国产亚洲免观| 亚洲欧美一区二区三区在线| 欧美电影在线播放| 久久国内精品视频| 一区国产精品| 亚洲国产cao| 欧美成人精品影院| 亚洲午夜视频在线观看| 亚洲先锋成人| 1024精品一区二区三区| 亚洲高清不卡在线| 欧美日韩一区高清| 久久精品色图| 欧美日韩另类字幕中文| 久久久久网址| 欧美日韩伦理在线免费| 欧美激情区在线播放| 亚洲精品一二三区| 亚洲精品美女在线观看| 欧美性做爰毛片| 美女视频黄免费的久久| 欧美日韩情趣电影| 欧美成人免费播放| 激情久久中文字幕| 亚洲一区二区免费在线| 一区二区三区高清不卡| 免费看精品久久片| 久久久女女女女999久久| 国产精品久久久久久久免费软件| 欧美成人一区在线| 亚洲福利在线观看| 久久婷婷国产综合国色天香 | 欧美精品一区二区三区四区| 久久久91精品国产一区二区精品| 欧美日韩视频| 99国产一区| 亚洲一区久久久| 亚洲图片欧美一区| 欧美精品三级日韩久久| 免费成人高清视频| 亚洲高清中文字幕| 玖玖综合伊人| 亚洲精品日韩欧美| 一本色道久久综合狠狠躁篇的优点| 男女精品视频| 亚洲专区在线| 美女精品自拍一二三四| 亚洲国产精品成人综合色在线婷婷 | 久久久蜜桃精品| 免费在线亚洲欧美| 99热这里只有精品8| 国产精品黄色| 美女日韩欧美| 亚洲第一久久影院| 久久综合久久综合九色| 亚洲国产日韩精品| 欧美一区=区| 亚洲高清免费视频| 欧美性淫爽ww久久久久无| 欧美综合二区| 日韩视频在线观看免费| 久久久久久9999| 99热精品在线观看| 欧美日本韩国一区| 浪潮色综合久久天堂| 中文亚洲字幕| 亚洲国产精品女人久久久| 国产精品一区二区久久久| 欧美国产日本韩| 欧美一区二区三区免费大片| 99精品国产在热久久婷婷| 欧美韩日精品| 国产欧美精品| 一区二区免费在线视频| 国产一区二区三区日韩| 国产精品美女视频网站| 国产精品久久久久aaaa樱花| 1024成人| 亚洲国产精品va在线观看黑人| 亚洲精品资源| 欧美成人首页| 很黄很黄激情成人| 国产欧美亚洲一区| 国产精品亚洲一区| 国产伦精品一区二区三区免费| 欧美日韩精品在线| 欧美三级电影大全| 国产精品亚洲激情| 国产一区二区主播在线| 今天的高清视频免费播放成人 | 欧美影院午夜播放| 亚洲欧美不卡| 久久久另类综合| 欧美精品二区| 国产色产综合产在线视频| 在线观看日韩欧美| 亚洲一区二区视频| 久久一日本道色综合久久| 国产午夜精品久久久| 狠狠色狠狠色综合日日tαg| 国产日韩欧美91| 亚洲毛片在线看| 久久久久久有精品国产| 亚洲剧情一区二区| 久久激情视频免费观看| 免费日韩av| 国产在线观看91精品一区| 亚洲免费成人av电影| 欧美专区日韩专区| 一区二区冒白浆视频| 蜜臀av在线播放一区二区三区| 国产精品萝li| 一本久久a久久精品亚洲| 免费美女久久99| 欧美中文字幕在线视频| 国产精品自在线| 午夜一区不卡| 国产日韩精品一区二区浪潮av| 国产麻豆日韩欧美久久| 午夜在线精品偷拍| 香蕉成人久久| 国产亚洲a∨片在线观看| 午夜精品免费视频| 亚洲免费在线看| 在线观看视频一区二区欧美日韩| 久久国产主播| 老司机一区二区三区| 亚洲国内自拍| 日韩午夜一区| 国产综合色在线| 亚洲高清激情| 欧美日韩一区二区三区在线视频| 亚洲视频导航| 久久精品一本| 亚洲美女性视频| 亚洲综合视频1区| 在线观看亚洲a| 夜夜嗨av一区二区三区网页| 国产精品一区二区你懂的| 老色批av在线精品| 欧美日韩一区二区三区四区在线观看 | 欧美一区二区高清在线观看| 伊人成人在线视频| 亚洲看片网站| 在线欧美视频| 亚洲欧美日韩精品在线| 亚洲日本在线观看| 亚洲欧美影院| aⅴ色国产欧美| 久久大综合网| 午夜免费日韩视频| 欧美精品一区二区三区在线播放 | 欧美伊人久久| 亚洲无吗在线| 亚洲国产精品一区在线观看不卡| 日韩一二三在线视频播| 亚洲电影免费观看高清完整版在线观看| 亚洲激情影院| 亚洲人成精品久久久久| 久久久精品tv| 久热精品视频在线免费观看| 国产日韩欧美在线观看| 亚洲一区二区三区涩| 一区二区三区免费网站| 欧美日韩成人免费| 亚洲国产美女| 这里是久久伊人| 欧美亚州韩日在线看免费版国语版| 国产精品99久久久久久人| 亚洲在线黄色| 国产精品免费电影| 亚洲专区在线视频| 免费不卡中文字幕视频| 精品电影在线观看| 久久精品一区蜜桃臀影院| 久久另类ts人妖一区二区| 影院欧美亚洲| 欧美日韩四区| 久久激情中文| 99re国产精品| 麻豆91精品91久久久的内涵| 亚洲精品一区二区网址| 亚洲第一精品夜夜躁人人爽| 亚洲欧洲精品一区| 国产精品免费视频观看| 美国十次成人| 亚洲在线一区二区| 欧美77777| 久久精品国产久精国产爱| 亚洲国产精品va| 国产一区视频观看| 欧美系列电影免费观看| 久久精品国产精品亚洲精品| 亚洲日韩欧美视频一区| 久久综合成人精品亚洲另类欧美| 中文欧美日韩| 99精品视频免费|