excel - 在 2019 年 8 月 Windows 更新之前将对象数组发送到变体可以正常工作,但更新后会失败

标签 excel vba

在 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/

相关文章:

excel - 在 Excel 中,如何在特定字符大小 15 的名称后用 "~"填充剩余单元格

vba - 使用命令按钮更改单元格颜色(VBA Excel)

c# - 如何将新的 TextRange.Run 添加到 PowerPoint 文本框?

c# - 如何使用c#访问excel中的隐藏列

sql-server - 计划的 SSIS 包创建以日期为文件名的 excel 文件

excel - 如何使用 VBA 填充系列?

excel - 在 VBA 中使用 Excel Solver 时捕获最大时间/迭代对话框

vba - 在未打开的电子表格中使用 VBA FIND() 函数(或类比)

excel - 更新记录集而不更新数据库

vba - 在 Sharepoint 站点中发布 Excel 工作簿