如何使用 ActiveQt 将 sheet 附加到 excel 中的工作簿末尾?

How to append a sheet to the end of workbook in excel using ActiveQt?

我有兴趣使用 ActiveQt 将 sheet 复制到工作簿的末尾 我查看了 QAxObject "Worksheet" 生成的文档中的 Copy() 方法,它是这样写的:

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

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

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

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

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

Move、Add 和 Copy 等方法需要参数 Before 和 After 而没有仅使用 After 的解决方案是不合逻辑的

关于如何在工作簿末尾添加 sheet 有什么建议吗? 或者如何在 ActiveQt?

中使用可选参数

提前致谢!

QVariant 有一个默认构造的空值。假设给定方法接受缺少的参数,这就是您应该用于 "missing" 参数的内容。

例如:

Copy({}, after); // C++11
Copy(QVariant(), after); //C++98

我刚刚找到解决办法,问题是我如何传递参数:

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

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

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