Word 2016 for Mac 中的 CreateObject(“Excel.Application”)

2024-02-10

我有 Word 2016 VBA 代码来读取 Excel 文档中的数据。

这适用于 Windows 平台(Windows 7 和 Windows 10)。

在 Mac 上,它失败了CreateObject("Excel.Application")操作说明。

运行时错误'-2146959355 (80080005)'
自动化错误

这是 Office 2016 for Mac(当前使用版本 16.23)中的问题,还是我的“环境”以及 Office 在 Mac 上安装方式的问题?

它曾经可以工作,但在 Office 2016 for Mac 更新后停止工作。我不记得哪个版本导致了这个问题。近两年以来,我在每次 Office 更新时都会检查此代码,但总是失败。
我尝试使用 Parallels Desktop 运行 Windows 10 虚拟机,在这个虚拟 Windows 环境中,代码可以正常运行。我需要“本地”运行它。

以下代码重现了该问题:

Sub MyTestOfCreateObject()
    Dim xlapp As Object
    Set xlapp = CreateObject("Excel.Application")
    xlapp.Visible = True
    xlapp.Quit
    Set xlapp = Nothing
End Sub

我尝试更换CreateObject("Excel.Application") with Set xlapp = New Excel.Application。我收到同样的错误消息。

我希望 xlapp 用作 Excel 对象。


经过在 Mac Word VBA 中进行大量试验和错误后,以下内容对我有用。我发现的一件重要的事情是CreateObject("Excel.Application")返回一个Excel.Workbook对象而不是Excel.Application对象(和GetObject(...)做同样的事)。这似乎是早期版本的 Excel for Mac 的一项更改。另一个原因是启动行为有些不一致,因此我添加了延迟重试。

    Sub Test1()
        Dim objExcelWkbk As Object
    
        On Error Resume Next
        
        ' GetObject() and CreateObject() behave inconsistently... retry a few times
        Dim iRetry As Integer
        iRetry = 1
        Do While iRetry <= 3
            ' I also tried:
            '     Set objExcelWkbk = New Excel.Application
            ' Although this *will* launch Excel, it always gives an "Class does not support Automation or does not support expected interface" error
            
            ' If Excel is already open then assign to the variable
            ' For Excel, an Excel.Application.Workbook object is returned when successful (rather than Excel.Application)
            Set objExcelWkbk = GetObject(, "Excel.Application")
            CheckAndReportError ("Try#" & iRetry & " (A) GetObject()")
            Wait 2
            If Not objExcelWkbk Is Nothing Then
                Exit Do
            End If
            
            ' If Excel was not previously open then object variable will be empty
            ' so create the object
            Set objExcelWkbk = CreateObject("Excel.Application")
            CheckAndReportError ("Try#" & iRetry & " (B) CreateObject()")
            Wait 2
            If Not objExcelWkbk Is Nothing Then
                Exit Do
            End If
            
            iRetry = iRetry + 1
        Loop
        Err.Clear
        
        If objExcelWkbk Is Nothing Then
            Debug.Print "Failed to create Excel object"
        Else
            Debug.Print "Excel version " & objExcelWkbk.Application.Version & "; OS " & objExcelWkbk.Application.OperatingSystem
            CheckAndReportError ("(C) objExcelWkbk.Application.Version")
            objExcelWkbk.Application.Quit
            CheckAndReportError ("(D) objExcelWkbk.Application.Quit()")
        End If
        
        Set objExcelWkbk = Nothing
    End Sub
    
    Sub CheckAndReportError(Label As String)
        If Err.Number = 0 Then
            Debug.Print Label & " no error"
            Exit Sub
        End If
        Debug.Print Label & " error #" & Err.Number & ": " & Err.Description
        Err.Clear
    End Sub
    
    Sub Wait(ByVal Seconds As Single)
        Dim CurrentTimer As Variant
        WaitUntil = Timer + Seconds
        Do While Timer < WaitUntil
            DoEvents
        Loop
    End Sub
    
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

Word 2016 for Mac 中的 CreateObject(“Excel.Application”) 的相关文章

  • Intellij 基本完整的 ctrl + space 在 mac 上不起作用

    我在跑步IntelliJ on my macOS Big Sur and ctl space对于基本完整似乎不起作用 我查看了 首选项 gt 键盘映射 gt 代码完成 gt 基本 它似乎按顺序排列 有任何想法吗 发现操作系统本身已经采取了这
  • NSWindow 关闭时退出应用程序

    当主应用程序 唯一的应用程序 关闭时 如何正确退出 Mac OS X 应用程序 我知道有一个方法 void windowWillClose NSNotification notification in NSWindowDelegate 但它
  • 如何获取 Word 应用程序的 Hwnd/进程 ID,并将其设置为前台窗口

    我希望我的 Word 应用程序在自动化完成后进入前台 Excel 中的等效项很简单 Excel Application 对象有一个 Hwnd 属性 您可以将其与 Windows API 结合使用 SetForegroundWindow In
  • 通过 Excel VBA 保存并关闭 powerpoint

    下面的代码根据定义的名称创建多个图表 然后打开具有这些定义的名称的 powerpoint 文件并转储到图表中 除了最后一部分之外 一切都正常 保存并关闭文件 我已将尝试保存和关闭文件的尝试标记为绿色 任何帮助表示赞赏 Sub Slide19
  • 安装 Ruby 后,MAC OS X 上的活动开发人员路径无效

    我收到此错误 xcrun 错误 无效的活动开发人员路径 Applications Xcode app 缺少 xcrun Applications Xcode app usr bin xcrun This solution https sta
  • 从单元格中具有多种颜色的单元格中提取字体颜色

    我有一个 Excel 工作表 我正在尝试将其存入 MySQL 数据库 我使用 VBA 将数据作为文本写入文件 然后将其上传到数据库 在工作表的单元格中 有一些已用颜色编码的字符串 颜色具有一定的含义 因此当我将值移入数据库时 我想保留它们
  • 尝试在 Mac Snow Leopard 上安装 PyCurl 时出现问题

    我的应用程序需要使用 PyCurl 因此我尝试将其安装在我的 Mac 上 但发现了很多问题和错误 要求 首先我必须说我的Mac上运行的Python版本是基于32位的 因为我需要使用WxPython 这需要32位Python 为此 我使用了
  • 自动计算Excel VBA UDF与单元格属性相关

    我编写了一个 UDF 来计算特定颜色和特定线条样式的单元格 我发布了整个函数 Function CountTime rData As Range cellRefColor As Range As Variant Dim indRefColo
  • NSMenuItem、自定义视图和 mouseUp 的奇怪问题:

    我在这里遇到了一个非常非常奇怪的 NSMenu 问题 我使用的大约一半的 NSMenuItems 通过 NSMenuItem 上的 setView 方法具有自定义视图 在此自定义视图中 我实现了 mouseUp 来捕获用户单击菜单项的时间
  • 以编程方式将参数传递到访问报告中

    我有一个现有的 Access MDB 我正在向运行现有报表的现有表单添加一个命令按钮 所做的更改是 此按钮需要传入一个包含正在报告的记录 ID 的参数 当前报告在 MDB 中的每条记录上运行 我已经更改了报告运行的查询 以使用 ID 值参数
  • 在 Mac OS X 应用程序上找到 Core Data 的 sqlite 数据库

    在哪里可以找到 Mac OS X 应用程序的 Core Data sqlite 数据库 我找到了它 但它是 momd 文件夹 包含 3 个文件 VersionInfo plist mom omo 我怎样才能看到它的内容 在 OS X 10
  • Xcode:如何使用具有跨项目引用的单独项目在应用程序中嵌入框架?

    我使用的是 Xcode 4 3 我有一个用于嵌入式 Mac OS X 框架的现有 Xcode 项目 最初在 Xcode 3 中创建 该项目有几个目标 但该项目中的主要目标是我的框架 该框架设计为嵌入 Mac Apps 中 并设置了适当的安装
  • activeProcessorCount 和processorCount 之间有什么区别?

    The NSProcessInfo类有两个名为processorCount and activeProcessorCount 该文档对于处理核心和活动处理核心之间的区别尽可能没有帮助 或者 换句话说 什么才算是一个inactive可可的处理
  • 检查工作表是否存在,如果不存在则创建-VBA [重复]

    这个问题在这里已经有答案了 我已经测试了许多代码 这些代码检查工作表是否存在 基于名称 如果不存在则创建一个 其中一些循环所有工作表 一些引用工作表 如果创建错误则意味着该工作表不存在 哪一种是最合适的 正统的 更快的方式来完成这个任务 目
  • python 找不到 pydicom 模块

    错误信息 In 1 import pydicom as dicomio ImportError Traceback most recent call last
  • 使用 python 制作本地服务器应用程序的最佳方法

    我想要简单轻松地集成 python 和 vba 人们 如果他们在阅读本文后亲自见到我 阅读本文可能会杀了我 但我正在使用 django 开发服务器来实现此目的 有没有什么简单又好的方法 仅举个例子 我想使用 python 模块 openpy
  • 宏VBA获取Outlook 2003中选定的文本

    我正在尝试使用此代码片段来获取 Outlook 2003 中选定的文本 Sub SelectedTextDispaly On Error Resume Next Err Clear Dim oText As TextRange Get an
  • 在 Word 2010 中开发功能区选项卡,在组标签名称中使用 & 符号

    我正在开发一个用于模板的功能区选项卡 MyTemplate dotm 对于 Word 2010 我的问题 我想在组的标签中使用与号 我尝试了很多方法 也用谷歌搜索了很多关于这个问题的信息 但没有任何效果 named amp decimal
  • VBA Excel 选择以字符开头的命名范围

    我在命名范围方面遇到了一些问题 我在不同的工作表上有多个命名范围 我想用VBA隐藏或显示所有这些范围 命名范围的示例 r1 name1 另一张纸上的第二个是r1 name2 因此 所有范围都以前面相同的代码开头 r1 我如何循环遍历以 r1
  • 从新的 xlsx 文件中删除宏

    功能部分 下面的代码将 xlsm 文件中的 2 个选项卡保存到新的 xlsx 文件中 文件保持打开状态以进行编辑 错误 xlsm 选项卡在工作表代码中有触发器 该触发器无效 一旦在 xlsx 工作表中输入任何内容 就会导致错误 所需输出 编

随机推荐

  • 如何获取嵌入Flash影片的URL?

    今天我试图获取我的 Flash 电影所在的 URL I found 这里有一个类似的问题 https stackoverflow com questions 396412 how can my flash app determine its
  • Apache 在 URL 中隐藏查询字符串但保持 URL 正常工作

    我有两种类型的 URL 但它们可以在查询字符串之后包含任何内容 因为我们有 1000 个 URL 帖子 两者都有 id 我希望隐藏 删除它 但页面仍然加载 这些页面是 WordPress 中的自定义 slugs 我没有在 Apache 2
  • 将 boost::array 转换为带参数的函数 (const float (&arr)[12])

    我有一个boost array
  • R 中 PCA 的结果载荷

    在R中进行PCA时 p lt princomp iris 1 4 我通过以下两种方法得出不同Component的系数 IrisLoading lt p loadings 1 2 methods1 use the fist two Comp
  • 在大型数据集上使用 grep 或 fgrep 的循环速度非常慢

    我正在尝试做一些非常简单的事情 grep 从列表中 对目录中的文件进行精确匹配的字符串 try grep each line from the files for i in cat data datafile do LOOK echo i
  • 为什么根窗口小部件与窗口的大小不同?

    我正在尝试使用自定义小部件GridLayout 但结果总是在角落里出现一个很小的网格 而不是在整个窗口中扩展的网格 示例代码 import kivy kivy require 1 5 1 from kivy app import App f
  • 到大端还是小端? [关闭]

    就目前情况而言 这个问题不太适合我们的问答形式 我们希望答案得到事实 参考资料或专业知识的支持 但这个问题可能会引发辩论 争论 民意调查或扩展讨论 如果您觉得这个问题可以改进并可能重新开放 访问帮助中心 help reopen questi
  • ReactDOM.render 放在 React 中的什么位置

    这里是入门 https facebook github io react docs getting started htmlReact的例子 在例子中 下面的代码片段是单独的main js file ReactDOM render h1 H
  • 从委托访问列表视图 currentIndex

    我有一个QMLListView委托从另一个文件加载其组件的地方 单击委托项目时 我想更新ListView CurrentIndex and highlight所选项目 当我明确设置时它有效id of the ListView 但是因为我想使
  • Scala 2.13 视图与 LazyList

    我正在将一个项目从 Scala 2 12 1 迁移到 2 13 6 并发现SeqView flatMap现在返回一个View 其中没有distinct方法 因此 我有一段代码不再编译 val nodes debts view flatMap
  • 如何以正确的类型安全方式迭代记录键?

    让我们针对一些属性构建一个示例记录 type HumanProp weight height age type Human Record
  • 如何获取光标下的单词?

    假设有一个mousestop事件附加到整个文档 找出确切事件的最佳方法是什么word当鼠标停止移动时 在光标下方 如果有任何文本 我可以从事件处理程序获取底层 jQuery 元素 document elementFromPoint e cl
  • MATLAB:在子图中绘制/保存网格函数的 X-Y 视图

    正如标题所示 我试图将网格函数的 2 变量切片 例如 作为 jpg 保存为子图 我想使用 m 文件来执行此操作 因为我有很多要生成的图 我已经弄清楚如何在他们自己的图形上绘制视图 但我无法让它们正确地绘制为图形中的子图 为了说明我的意思 以
  • 绘制包含 80% (x, y) 点的圆

    我有一个二维数组 x y 的点 我想绘制一个包含该点 80 的圆 并且我想知道所得圆的半径 有没有办法用 python 来做到这一点 我一直在寻找一种方法来做到这一点 但没有成功 我很抱歉没有尝试 但我完全迷失了在不给圆半径的情况下取 80
  • 进程何时处理信号

    我想知道linux进程什么时候处理信号 假设进程已经安装了信号的信号处理程序 我想知道进程的正常执行流程何时会被中断并调用信号处理程序 根据http www tldp org LDP tlk ipc ipc html http www tl
  • 访问实例变量的语法? (目标-C)

    在 Objective C 中访问实例变量的正确语法是什么 假设我们有这个变量 interface thisInterface UIViewController NSMutableString aString property nonato
  • 与D3的关系图

    如何使用 D3 创建以下图表 我不知道这种类型的可视化的名称 我能找到的最接近的是 力导向 图 图例 填充的节点是人 非填充的节点是属性 例如最喜欢的颜色 这是我的版本 http jsfiddle net doraeimo JEcdS em
  • Python win32com“参数数量无效”

    我正在尝试使用 win32com 使用以下代码将多个 xlsx 文件转换为 xls import win32com client f r input xlsx xl win32com client gencache EnsureDispat
  • iOS 应用程序上的自定义字体 - 在模拟器中工作但不适用于 iPad

    在这里遇到一个奇怪的问题 我正在为我的学校项目 非商业 开发一个游戏 并且我正在使用自定义字体黑法院 http www dafont com black chancery font 根据 GNU GPL 免费 我遵循了多个来源的说明 其中包
  • Word 2016 for Mac 中的 CreateObject(“Excel.Application”)

    我有 Word 2016 VBA 代码来读取 Excel 文档中的数据 这适用于 Windows 平台 Windows 7 和 Windows 10 在 Mac 上 它失败了CreateObject Excel Application 操作