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

使用Qt怎么在Excel的最后插入一个sheet页,注意是最后

2012-01-23 
使用Qt如何在Excel的最后插入一个sheet页,注意是最后昨天使用C/C++ codeQAxObject* newSheet worksheets

使用Qt如何在Excel的最后插入一个sheet页,注意是最后
昨天使用

C/C++ code
QAxObject* newSheet = worksheets->querySubObject("Add()"); 

成功创建了一个sheet页,但默认是创建在第一个的,我想把newSheet创建在最后一个 
试了Move方法好像不起作用: 
C/C++ code
QAxObject* newsheet = worksheets->querySubObject("Add()"); QAxObject *before = worksheets->querySubObject("Item(QVariant)", "Sheet1"); QAxObject *after = worksheets->querySubObject("Item(QVariant)", "Sheet2"); newsheet->dynamicCall("Move(QVariant, QVariant)", before->asVariant(), after->asVariant()); 


网上查了下好像Add()方法就有位置可设定,vba中是Add after := worksheets(1) 像这样的,不知Qt中该如何操作? 
还有Add()都有哪些变量啊?网上查了没查到啊!期待高手帮忙

[解决办法]
楼上给的方法可以插入到最后一列吗?没记错的话,应该是插入到最后一列的前面。
我的方法费劲点,先插入到最后一列的前面,然后将最后一列移到插入那列的前面。
C/C++ code
        QAxObject * last = excelSheets->querySubObject("Item(int)", count);        excelSheets->dynamicCall("Add(QVariant)", last->asVariant());        QAxObject * newSheet = excelSheets->querySubObject("Item(int)", count);        last->dynamicCall("Move(QVariant)", newSheet->asVariant());
[解决办法]
额,没看到说是最后一列,我试了下代码,插入不到最后一列,在VBA中说明如下
Remarks
If Before and After are both omitted, the new sheet is inserted before the active sheet.
所以只能插入到原来最后一列的前面,不好意思哈,没具体去测试。
要想插入到最后一列,我个人认为只能先插入后,在移动到最后一列,也就是楼主使用的方法
在VBAX11的文档中,Before,和After不存在默认值,在VB中知道怎么来用after,但是在Qt下我还真不
了解,也google了下,没有收获,╮(╯▽╰)╭
要是没有VB中没有move这个函数,那还真不知道咋办。。。

热点排行