excel - 使用 VBA Excel 宏将工作表合并到一个工作簿中;macOS 的问题?
问题描述
我一直在尝试按照以下说明(在其他几个关于 SO 和在线的指南中)运行 Excel 宏以将多个 .xls 文件合并到一个 .xlsx 工作簿中。我正在为 Mac 16.16.1 使用 macOS 和 Microsoft Excel。
[来自链接的代码复制如下,仅编辑路径:]
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()
评估为)一个空字符串。因为肯定启用了宏,所以我相信 Excel 无法找到路径,即使我指定了导航到文件夹并在终端中输出“pwd”时出现的相同目录字符串。
单步执行 VBA 窗口中的指令,FileName 只是被分配给一个空字符串。为什么 Excel 找不到目录?我不认为这是语法问题,是不是一些内部 macOS 访问控制问题?
解决方案
推荐阅读
- java - 如何避免使用实现多个接口的类来破坏 Liskov 替换原则?
- angular - Npx 与 Angular cli,如何安装 @angular/cli 并在之后使用它
- spring - 无法使用 Spring JPA Native Query 获取数据
- r - 如何在 RShiny 中进行反应输入?
- android - 如何修复跳跃的折叠工具栏?
- html - 使用变量时反应危险SetInnerHTML不起作用
- javascript - 从 html 中删除 jquery 中的元素的功能无法正常工作
- java - org.xml.sax.SAXException:更新“CVE-2018-17481”时出错
- node.js - 使用gridfs上传数组时如何设置自定义字段
- c# - 从继承具体类对抽象类进行类型推断