【发布时间】:2021-05-14 14:46:16
【问题描述】:
我正在尝试在 Word 中打开一个 Excel 文件以读取某些单元格的值并对 word 中的新文件做一些魔术。
我使用 Microsoft Windows 多次做过的事情。现在我无法使用 Windows 并且必须使用我的私人计算机,我在使用我在 Mac 上编写的文件时遇到了一些问题。
我在两个操作系统上使用相同的版本:Office Word 2016,但在我的 Mac 中运行宏时出现错误。
我得到了一个
运行时错误,代码为 -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
错误是指exWb的Set
同样的代码在 Windows 中运行
【问题讨论】:
-
Debug.Print excelFile返回什么?不确定,但possibly helpful。 -
该变量包含正确的路径:
/Volumes/USB/file.xlsx(我曾经检查过MsgBox) -
那么如果你完全删除
Dir,文件会打开吗? -
不。我也尝试过删除 If-Else 块...(在此之前更改文件名并且正确调用了 Else 部分)
-
VBA 可访问的位置是 ~/Library/Group Containers/UBF8T346G9.Office/。 (请参阅macadmins.software/docs/UserContentIn2016.pdf)这只是您将面临的许多问题之一,因为 Word for Mac 缺少某些功能,例如建筑模块。您在 Windows 中可能依赖的其他库将丢失,例如XML,脚本。您可能还会发现此链接有帮助:docs.microsoft.com/en-us/office/vba/api/overview/office-mac