首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >如何使用ActiveQt在excel中将工作表追加到工作簿末尾?

如何使用ActiveQt在excel中将工作表追加到工作簿末尾?
EN

Stack Overflow用户
提问于 2017-08-29 22:09:18
回答 2查看 293关注 0票数 0

我对使用ActiveQt将工作表复制到工作簿末尾很感兴趣。我已经查看过QAxObject "Worksheet“生成的文档中的方法Copy(),它写成如下所示:

代码语言:javascript
复制
void Copy(QVariant Before = 0, QVariant After = 0);

显然,在不将某些东西传递给参数之前,无法将值传递给参数。

我一直在努力寻找做这件事的方法,但没有找到任何线索。

我看了一下C#和VBA,但它们都使用了我在ActiveQt中找不到的“缺失”常量。

目前,我在临时表之前添加(或复制),最后将其删除。

让这样方法在没有解决方案的情况下在前后移动、添加和复制所需参数以仅在之后使用是不合逻辑的

那么,对于如何在工作簿的末尾添加工作表,有什么建议吗?或者如何在ActiveQt中使用可选参数

提前感谢!

EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2017-08-29 22:29:35

QVariant具有默认构造的空值。这就是你应该用来处理“缺失”参数的地方,假设一个给定的方法接受一个缺失的参数。

例如:

代码语言:javascript
复制
Copy({}, after); // C++11
Copy(QVariant(), after); //C++98
票数 0
EN

Stack Overflow用户

发布于 2017-08-29 22:42:41

我刚刚找到了解决方案,问题在于我是如何传递参数的:

代码语言:javascript
复制
sheet->dynamicCall("Copy(QVariant, QVariant)", QVariant(), sheet->asVariant());

但在通过超链接阅读了Copy方法的文档后,我发现我误读了文档,我应该像这样传递它:

代码语言:javascript
复制
sheet->dynamicCall("Copy(QVariant, QVariant)", QVariantList {QVariant(), sheet->asVariant()});
票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/45941295

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档