调用WORD宏怎么这么乱啊??

cplxw 2007-01-22 04:54:04
程序如下:
Variant vWordApp, vSelect,vFont;
vWordApp = Variant::CreateObject("Word.Application");
Variant vWordDoc = vWordApp.Exec(PropertyGet("Documents"));
vWordDoc.Exec(Procedure("Add"));
// vWordApp.Exec(PropertySet("Visible")<<true);
vSelect = vWordApp.Exec(PropertyGet("Selection"));
Variant vActdoc = vWordApp.Exec(PropertyGet("ActiveDocument"));
Variant vTable = vActdoc.Exec(PropertyGet("Tables"));

vTable.Exec(Function("Add")<<vSelect.Exec(PropertyGet("Range"))<<1<<2<<1<<0);//建第一张表
vSelect.Exec(Function("TypeText")<<"col1");//单元格1
vSelect.Exec(Function("MoveRight")<<12);
vSelect.Exec(Function("TypeText")<<"col2");//单元格2
vSelect.Exec(Function("MoveRight")<<12);
vSelect.Exec(Function("MoveDown")<<5<<1<<1);//移至表格下
vSelect.Exec(Function("TypeText")<<"第一张表");
vSelect.Exec(Function("TypeParagraph"));
vSelect.Exec(Function("InsertBreak")<<7);//分页

vTable.Exec(Function("Add")<<vSelect.Exec(PropertyGet("Range"))<<1<<2<<1<<0);//建第二张表
vSelect.Exec(Function("TypeText")<<"col1");
vSelect.Exec(Function("MoveRight")<<12);
vSelect.Exec(Function("TypeText")<<"col2");
vSelect.Exec(Function("MoveRight")<<12);
vSelect.Exec(Function("MoveDown")<<5<<1<<1);
vSelect.Exec(Function("TypeText")<<"第二张表");
vSelect.Exec(Function("TypeParagraph"));
vSelect.Exec(Function("InsertBreak")<<7);//分页

vTable.Exec(Function("Add")<<vSelect.Exec(PropertyGet("Range"))<<1<<2<<1<<0);//建第三张表
vSelect.Exec(Function("TypeText")<<"col1");
vSelect.Exec(Function("MoveRight")<<12);
vSelect.Exec(Function("TypeText")<<"col2");
vSelect.Exec(Function("MoveRight")<<12);
vSelect.Exec(Function("MoveDown")<<5<<1<<1);

vWordApp.Exec(PropertySet("Visible")<<true);


如果把VISIBLE提前(即程序中把最后一句屏蔽掉,把第五行的屏蔽去掉),得出的结果是正常的,否则就出问题了(即第二张表变没了,如果多几个建表的程序段,则是中间所有的表都变没了,只剩下第一和最后的表),大家可以试试。

个人感觉MoveDown用的有问题,但为什么把visible提前就没事了呢?
真是乱啊!!

宏高手们,迫切等待你们的提点!!
...全文
368 2 打赏 收藏 转发到动态 举报
写回复
用AI写文章
2 条回复
切换为时间正序
请发表友善的回复…
发表回复
daydayup234 2007-04-10
  • 打赏
  • 举报
回复
把它的宏逐句翻成cb代码看看
daily66 2007-04-09
  • 打赏
  • 举报
回复
帮顶

703

社区成员

发帖
与我相关
我的任务
社区描述
C++ Builder ActiveX/COM/DCOM
社区管理员
  • ActiveX/COM/DCOM社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧