0

我有兴趣使用ActiveQt 我查看了生成的QAxObject“工作表”文档中的 Copy() 方法将工作表复制到工作簿的末尾,该方法的写法如下:

void Copy(QVariant Before = 0, QVariant After = 0);

显然,如果不将某些内容传递给参数 Before,就无法将值传递给参数 After。

我一直在努力寻找一种方法来做到这一点,但没有找到任何线索

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

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

如果没有解决方案只使用 After

那么关于如何将工作表添加到工作簿末尾的任何建议?或者如何使用可选参数ActiveQt

提前致谢!

4

2 回答 2

0

QVariant具有默认构造的空值。假设给定的方法接受缺少的参数,这就是您应该用于“缺少”参数的方法。

例如:

Copy({}, after); // C++11
Copy(QVariant(), after); //C++98
于 2017-08-29T14:29:34.677 回答
0

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

sheet->dynamicCall("Copy(QVariant, QVariant)", QVariant(), sheet->asVariant());

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

sheet->dynamicCall("Copy(QVariant, QVariant)", QVariantList {QVariant(), sheet->asVariant()});
于 2017-08-29T14:42:41.437 回答