IHaveTOTryMybest
2015-04-10 15:52
采纳率: 100%
浏览 2.0k

在C++builder中,怎么样将一段文本写入到word中

我要实现的功能很简单,就是将Memo中的文本写入word中,求大神解答,最好直接上代码,在线等啊,这个弄了好几天咧,

  • 点赞
  • 写回答
  • 关注问题
  • 收藏
  • 邀请回答

3条回答 默认 最新

  • 宝龙哥 2015-04-10 23:49
    已采纳

    void __fastcall TForm1::Button1Click(TObject *Sender)
    {
    Variant vWordApp;
    try
    {
    vWordApp = Variant::CreateObject("Word.Application");
    }
    catch(...)
    {
    MessageBox(0, L"启动 Word 出错, 可能是没有安装Word.", L"提示", MB_OK | MB_ICONERROR);
    return;
    }

    // 显示Word界面
    vWordApp.OlePropertySet("Visible", true);
    // 新建一个文档
    vWordApp.OlePropertyGet("Documents").OleFunction("Add");
    //
    Variant vSelect = vWordApp.OlePropertyGet("Selection");

    // 插入一段文字
    String str1 = "要插入的第一段文字\r\n换一个行先";
    vSelect.OleProcedure("TypeText", WideString(str1));
    vSelect.OleProcedure("TypeParagraph");

    // 插入一个表格
    int nRowCount = 4; // 行
    int nColCount = 5; // 列
    vWordApp.OlePropertyGet("ActiveDocument").OlePropertyGet("Tables")
    .OleProcedure("Add", vSelect.OlePropertyGet("Range"),
    nRowCount, nColCount,
    1, // DefaultTableBehavior:=wdWord9TableBehavior
    0); // AutoFitBehavior:=wdAutoFitFixed

    // 将光标移到文档结尾
    vWordApp.OlePropertyGet("Selection").OleProcedure("EndKey", 6); //wdStory

    // 再插入一段文字
    String str2 = "要插入的第二段文字";
    vSelect.OleProcedure("TypeText", WideString(str2));
    }

    点赞 打赏 评论
  • blownewbee 2015-04-10 15:56

    用TWordApplication TWordDocument
    参考:http://blog.csdn.net/zh516846937/article/details/6936377

    点赞 打赏 评论
  • IHaveTOTryMybest 2015-04-10 17:07

    不会用TWordApplication TWordDocument咋办

    点赞 打赏 评论

相关推荐 更多相似问题