我有兴趣使用ActiveQt
将工作表复制到工作簿的末尾
我查看了生成的QAxObject
“工作表”文档中的方法Copy(),其编写如下:
void Copy(QVariant Before = 0, QVariant After = 0);
显然没有办法将值传递给参数After而没有将参数传递给参数Before。
我一直在努力寻找一种方法来做到这一点,但没有找到线索
我看了一下C#和VBA,但他们都使用了我在ActiveQt中找不到的“缺失”常量。
目前我在临时工作表之前添加(或复制),最后我将其删除。
拥有这样的方法是不合逻辑的,需要参数的前后移动,添加和复制没有解决方案只能使用
那么有关如何将工作表添加到工作簿末尾的任何建议?
或如何在ActiveQt
中使用可选参数?
提前致谢!
答案 0 :(得分:0)
QVariant
具有默认构造的空值。这就是你应该用于“缺失”参数的东西,假设一个给定的方法接受一个缺失的参数。
E.g:
Copy({}, after); // C++11
Copy(QVariant(), after); //C++98
答案 1 :(得分:0)
我刚刚找到解决方案,问题在于我如何传递参数:
sheet->dynamicCall("Copy(QVariant, QVariant)", QVariant(), sheet->asVariant());
但在通过超链接阅读Copy方法的文档之后,我发现我误读了文档,我应该通过它:
sheet->dynamicCall("Copy(QVariant, QVariant)", QVariantList {QVariant(), sheet->asVariant()});