我一直在尝试遵循以下说明(在SO和在线的其他一些指南中)来运行Excel宏,以将多个.xls文件组合到一个.xlsx工作簿中。我正在使用macOS和Microsoft Excel for Mac 16.16.1。
Combine Multiple Excel Workbooks into one Workbook with multiple sheets
[以下链接中的代码转载,仅编辑路径:]
Option Explicit
Const path As String = "/Users/mbpro/Desktop/Project Work/Excel Sheets"
Sub GetSheets()
Dim FileName As String
Dim wb As Workbook
Dim sheet As Worksheet
FileName = Dir(path & "*.xls*")
Do While FileName <> ""
Set wb = Workbooks.Open(FileName:=path & FileName, ReadOnly:=True)
For Each sheet In wb.Sheets
sheet.Copy After:=ThisWorkbook.Sheets(1)
Next sheet
wb.Close
FileName = Dir()
Loop
End Sub
在我指向包含.xls文件的文件夹的路径之后,将运行该脚本(以及密切相关的脚本),以便为path
分配(并且Dir()
得出)一个空字符串。因为确实启用了宏,所以我相信即使我指定了在导航到文件夹并在终端机中输出“ pwd”时出现的相同目录字符串,Excel仍无法找到路径。
在VBA窗口中逐步执行说明,将FileName分配给一个空字符串。为什么Excel找不到目录?我不认为这是语法问题,是内部macOS访问控制问题吗?