在 2019 年 8 月 Windows 更新之前运行子例程 RunMe 可以正常工作。
2019 年 8 月 Windows 更新后,运行子例程 RunMe 失败。它报告以下错误消息:“无效的过程调用或参数(错误 5)”
Public Sub RunMe()
Dim wksTestArray() As Worksheet
MsgBox SendArrayToFunction(wksTestArray())
End Sub
Public Function SendArrayToFunction(ByVal vntArray As Variant) As Boolean
SendArrayToFunction = True
End Function
请注意:该错误仅发生在未分配的数组上。
对于函数来说,接受 Variant 非常有用,Variant 可以是值数组,也可以是对象数组,例如,IsArrayAllocation 是一个需要此功能的示例函数。
有解决办法吗?
最佳答案
此更新影响 VB6、VBA(包括所有版本的 Office)以及 VBScript!
Microsoft 目前正在调查此问题:https://support.microsoft.com/en-us/help/4512488/windows-8-1-update-kb4512488 (查看标题为“此更新中的已知问题”部分下的最后一行)
更新:
微软刚刚发布了针对此问题的补丁:https://support.microsoft.com/en-us/help/4517298/windows-8-1-update-kb4517298
关于excel - 在 2019 年 8 月 Windows 更新之前将对象数组发送到变体可以正常工作,但更新后会失败,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/57497723/