我对使用ActiveQt将工作表复制到工作簿末尾很感兴趣。我已经查看过QAxObject "Worksheet“生成的文档中的方法Copy(),它写成如下所示:
void Copy(QVariant Before = 0, QVariant After = 0);显然,在不将某些东西传递给参数之前,无法将值传递给参数。
我一直在努力寻找做这件事的方法,但没有找到任何线索。
我看了一下C#和VBA,但它们都使用了我在ActiveQt中找不到的“缺失”常量。
目前,我在临时表之前添加(或复制),最后将其删除。
让这样方法在没有解决方案的情况下在前后移动、添加和复制所需参数以仅在之后使用是不合逻辑的
那么,对于如何在工作簿的末尾添加工作表,有什么建议吗?或者如何在ActiveQt中使用可选参数
提前感谢!
发布于 2017-08-29 22:29:35
QVariant具有默认构造的空值。这就是你应该用来处理“缺失”参数的地方,假设一个给定的方法接受一个缺失的参数。
例如:
Copy({}, after); // C++11
Copy(QVariant(), after); //C++98发布于 2017-08-29 22:42:41
我刚刚找到了解决方案,问题在于我是如何传递参数的:
sheet->dynamicCall("Copy(QVariant, QVariant)", QVariant(), sheet->asVariant());但在通过超链接阅读了Copy方法的文档后,我发现我误读了文档,我应该像这样传递它:
sheet->dynamicCall("Copy(QVariant, QVariant)", QVariantList {QVariant(), sheet->asVariant()});https://stackoverflow.com/questions/45941295
复制相似问题