读书人

怎么调用word宏

发布时间: 2012-12-29 10:28:09 作者: rapoo

如何调用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调用宏可能就难了,如果只是实现楼主的宏功能还是很容易的。楼主那么问估计是为了老妖过来吧,哈哈

读书人网 >C++ Builder

热点推荐