“ ActiveX组件无法创建对象” Excel中的错误

问题描述 投票:0回答:1

当我运行下面的代码时,我在标题所在的行中看到标题中的错误。我到处都是StackOverflow和其他地方,找不到有效的帮助。有指针吗?

此代码两天前在Windows 10和Mac OSX上都可以正常工作,然后又遇到了另一个(非VBA)问题,Microsoft技术支持代表重新安装了Office 365以尝试对其进行修复。现在,我得到一个相同的Excel对话框:每当我尝试在Windows 10和Mac OSX上运行此简单子程序时,“ ActiveX组件无法创建对象”。

Sub changeSheetsZoomLevel()
Dim n As Integer, sh As Worksheet
n = 0
For Each sh In ThisWorkbook.Worksheets ' **<-- error occurs here**
    With sh
        .Activate
        ActiveWindow.Zoom = 90
        .Columns("A:A").ColumnWidth = 100
        .Columns("B:B").ColumnWidth = 70
        .Cells.EntireRow.AutoFit
        n = n + 1
    End With
Next sh
MsgBox n & " sheets reformatted"
End Sub

我仅显示此子例程,但还有许多其他子例程,包括一些处理Word文档的子例程。

当我在这些对话框中单击“帮助”按钮时,在两个操作系统上出现的下一个对话框是不同的,如下所示。

enter image description here

我什至再次尝试了Microsoft支持,他们让我将64位Office安装到Windows中,而不是32位版本。但这没有帮助。

excel vba windows activex
1个回答
0
投票

尽管我调查了@ MBB70评论中建议的解决方案,但我发现这不是问题。相反,这是对我有用的解决方案:

1)新建一个Excel工作簿,然后2)将所有vba代码从我的原始工作簿转移到其中3)将所有工作表从我的原始工作簿转移到其中4)使用工具->参考...在VBA编辑器中添加所需的参考,如下所示:

enter image description here

新工作簿现在可以在Mac OSX和Windows 10中正常工作。

© www.soinside.com 2019 - 2024. All rights reserved.