我正在测试我们前端 dwh 的新版本(SAP BI 4.2 -> 4.3)。我意识到导出的 excel 文件现在似乎工作方式不同。它们仍然是 .xlsx 文件并且看起来相同,但现有的 vbs 脚本在粘贴数据时不再起作用。总是发生的错误是:
此操作不适用于多项选择
发生此错误的一个简单代码示例是:
For i = 4 To 29
objInput.Worksheets("Worksheet").Range("D"&i&":M"&i).Copy
objWorkbook.Worksheets("Worksheet").Range("D"&i&":M"&i).PasteSpecial -4163, -4142, False, False
单元格中只有数字,没有其他内容。并且总是 PasteSpecial 行导致错误。
正如我所说的,我无法在导出的 excel 文件(4.1 与 4.2)中发现任何差异,但是我看到在一种情况下例如“新”文件大 19kb - 旧文件(用于脚本)大 18,9kb。
有什么方法可以找出这两个文件之间的区别吗?或者有人知道为什么现在 vbs 中会出现这个错误吗?
答案1
找到问题了。只是因为 SAP BI 导出有错误;例如,之前添加标签也不起作用(同样的多选错误)。
答案2
我在使用工具生成的 Excel 文件时遇到了问题。我无法添加或删除工作表。我无法复制和粘贴值。它一直给出错误“此操作不适用于多个选择”,尽管我没有多个选择。
经过大量调查,我发现有一个 VeryHidden 工作表(与 Hidden 不同)。我删除了有问题的工作表后,一切正常。
您可以尝试使用“开发人员”>“Visual Basic”取消隐藏工作表。或者,您可以使用 vba/vbscript 或 openpyxl 以编程方式删除它。