使用Qt如何在Excel的最后插入一个sheet页,注意是最后
昨天使用
QAxObject* newSheet = worksheets->querySubObject("Add()");
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());
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这个函数,那还真不知道咋办。。。