首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > 开发语言 > C++ Builder >

怎么调用word宏

2012-12-29 
如何调用word宏Sub Macro1() Macro1 Macro 宏在 2009-4-13 由 USER 录制Selection.MoveUp Unit:wdLin

如何调用word宏
Sub Macro1()
'
' Macro1 Macro
' 宏在 2009-4-13 由 USER 录制
'
    Selection.MoveUp Unit:=wdLine, Count:=1
    Selection.MoveDown Unit:=wdLine, Count:=1
    Selection.TypeText Text:="摔跤"
    Selection.MoveDown Unit:=wdLine, Count:=1
    Selection.TypeText Text:="女子自由式55公斤"
    Selection.MoveUp Unit:=wdLine, Count:=2
    Selection.MoveDown Unit:=wdLine, Count:=1
    Selection.TypeText Text:="秩序单"
    Selection.MoveDown Unit:=wdLine, Count:=1
    Selection.TypeText Text:="决赛"
    Selection.MoveRight Unit:=wdCharacter, Count:=1
    Selection.TypeText Text:="2009-04-12 14:20"
    Selection.MoveDown Unit:=wdLine, Count:=1
    Selection.TypeText Text:="摔跤馆"
    Selection.MoveDown Unit:=wdLine, Count:=1
    Selection.TypeText Text:="名次 "
    ShowVisualBasicEditor = True
   
End Sub
如何改成c++builder
[解决办法]
OLE专业户来也!!!

#define wdLine 5
#define wdCharacter 1
#define wdExtend 1

void __fastcall TForm1::Button1Click(TObject *Sender)
{
    String strDocFile = "C:\\ccrun\\123.doc";
    Variant vWordApp;

    try
    {
        vWordApp = Variant::CreateObject("Word.Application");
    }
    catch(...)
    {
        MessageBox(Handle, "启动Word出错!",
                Application->Title.c_str(), MB_OK 
[解决办法]
 MB_ICONERROR);
        vWordApp = Unassigned;

        return;
    }

    vWordApp.OlePropertyGet("Documents").
            OleFunction("Open", strDocFile.c_str());

    // 63 63 72 75 6E 2E 63 6F 6D
    Variant vSelect = vWordApp.OlePropertyGet("Selection");

    vSelect.OleFunction("MoveUp", wdLine, 1);
    vSelect.OleFunction("MoveDown", wdLine, 1);
    vSelect.OleFunction("TypeText", "摔跤");

    vSelect.OleFunction("MoveDown", wdLine, 1);
    vSelect.OleFunction("TypeText", "女子自由式55公斤");

    vSelect.OleFunction("MoveUp", wdLine, 2);
    vSelect.OleFunction("MoveDown", wdLine, 1);
    vSelect.OleFunction("TypeText", "秩序单");

    vSelect.OleFunction("MoveDown", wdLine, 1);
    vSelect.OleFunction("TypeText", "决赛");

    vSelect.OleFunction("MoveRight", wdCharacter, 1);


    vSelect.OleFunction("TypeText", "2009-04-12 14:20");

    vSelect.OleFunction("MoveDown", wdLine, 1);
    vSelect.OleFunction("TypeText", "摔跤馆");

    vSelect.OleFunction("MoveDown", wdLine, 1);
    vSelect.OleFunction("TypeText", "名次 ");

    vWordApp.OlePropertyGet("ActiveDocument")
            .OleProcedure("SaveAs", strDocFile.c_str());

    vWordApp.OleProcedure("Quit");
    vWordApp = Unassigned;

    ShowMessage("成功完成!");
}


[解决办法]
感觉ccrun回答的不对,LZ是问怎样调用Macro1这个宏?
[解决办法]
灌一下水确认一下偶是不是妖哥说的那个同学^_^
[解决办法]
是啊,要是用ole调用宏可能就难了,如果只是实现楼主的宏功能还是很容易的。楼主那么问估计是为了老妖过来吧,哈哈

热点排行