word表格中插入一行(在线等)

[复制链接]
查看11 | 回复1 | 2012-10-9 18:11:48 | 显示全部楼层 |阅读模式
想在程序中动态生成表格,所以需要在某一行后面插入新的行,但是无论是调用Rows.Add函数,还是用Selection.InsertRow都崩溃了,不知道问题出在哪里?
COleVariant covOptional((long)1);
Tables tables=wd.m_wdDoc.GetTables();

int nCount=tables.GetCount();
acutPrintf(_T("\nnCount=%d"),nCount);
Table table=tables.Item(1);
Rows rows=table.GetRows();
rows.Add(covOptional);

回复

使用道具 举报

千问 | 2012-10-9 18:11:48 | 显示全部楼层
原来是自己理解错了,以为传入的是row对象的索引,所以参数类型开始一直写成VT_I4的,其实应该是VT_DISPATCH的,像下面这样写,把var传入Rows.Add就行了,搞了这么半天还是自己太粗心了
VARIANT var;
var.vt=VT_DISPATCH;
var.pdispVal=row.m_lpDispatch;
又遇到一个纠结问题,Rows.Add函数只能在参数指定行的上一行插入新行,selection.InsertRows也是的,可要在指定行下插入新行改怎么办呢?我这里恰恰需要在下面插入的。
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

主题

0

回帖

4882万

积分

论坛元老

Rank: 8Rank: 8

积分
48824836
热门排行