gpt4 book ai didi

excel - Word for Mac - 调用 Excel.Application.Workbooks 时出错。打开运行时错误 -2146959355 (80080005)

转载 作者:行者123 更新时间:2023-12-04 22:23:54 29 4
gpt4 key购买 nike

我正在尝试在 Word 中打开一个 Excel 文件以读取某些单元格的值并对 word 中的新文件做一些魔术。

我使用 Microsoft Windows 做过很多次的事情。现在我无法使用 Windows 并且必须使用我的私有(private)计算机,我在使用我在 Mac 上编写的文件时遇到了一些问题。

我在两个操作系统上使用相同的版本:Office Word 2016,但是当我在我的 mac 中运行宏时出现错误。

我得到一个

Runtime-Error with code -2146959355 (80080005).



代码很大,但我尝试剥离以找到错误。不用说,我已经达到了剥离更多等于删除宏的地步。所以,这是给我错误的代码。我无法理解原因。
Sub AutoOpen()

Dim objExcel As New Excel.Application
Dim exWb As Excel.Workbook
Dim excelFile As String
excelFile = ActiveDocument.Path & Application.PathSeparator & "file.xlsx"

If (Dir(excelFile) <> "") Then
Set exWb = objExcel.Workbooks.Open(excelFile)
exWb.Close
Else
MsgBox ("File not found")
End If
End Sub

错误是指 SetexWb
相同的代码在 Windows 中运行

最佳答案

问题是,在 Mac 上,通过 New 或 CreateObject 创建新的 COM 对象当前已损坏。或者至少,对于一些全新安装 Mac OS 和 Office 的用户来说,它被破坏了。

如果你能把你的代码再固定一点,我想你会看到这个错误发生在“Dim objExcel As New Excel.Application”之后的第一个可执行行中。

多年来,此问题已多次向 Microsoft 报告,但均未得到明显回应。我的猜测是他们的开发人员。团队对他们的 Mac OS 配置进行了历史性的更改,他们已经忘记了这意味着他们没有遇到这个问题,或者在 Mac 上使用 COM 具有专业知识的人已经离开,微软正在拖延,直到他们能够恢复一些相关的专业知识。

似乎没有任何明显的微软文档关于它。

更新。

在 Mac Word 的 v. 16.34 中,情况似乎发生了一些变化。

GetObject 仍然没用。

但如果你这样做

Dim app as Object
Set app = CreateObject("Excel.Application")

app不再是Nothing。不幸的是,如果你这样做

类型名称(应用程序)

你得到“WorkBook”,这意味着代码仍然没有返回正确的对象。

但是在这里,我至少现在可以做类似的事情
If UCase(Typename(app)) = "WORKBOOK" Then
Set app = App.Application
End If

关于excel - Word for Mac - 调用 Excel.Application.Workbooks 时出错。打开运行时错误 -2146959355 (80080005),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/59791807/

29 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com