Mac端Excel如何通过VBA将工作簿各工作表拆分为独立文件
调整后适配Mac系统的VBA代码
Sub ExportSheetsToXLSX() Dim xWs As Worksheet Dim xlsxFile As String ' 获取Mac当前用户桌面路径 Dim desktopPath As String desktopPath = Environ("HOME") & "/Desktop/" For Each xWs In Application.ActiveWorkbook.Worksheets xWs.Copy xlsxFile = desktopPath & xWs.Name & ".xlsx" Application.ActiveWorkbook.SaveAs Filename:=xlsxFile, _ FileFormat:=xlOpenXMLWorkbook, CreateBackup:=False Application.ActiveWorkbook.Saved = True Application.ActiveWorkbook.Close Next End Sub
核心修改说明
- 替换失效的
CurDir函数,通过Environ("HOME")读取Mac当前用户的根目录,拼接后得到可靠的桌面路径,适配Mac系统的路径规则 - 导出格式从CSV调整为XLSX,同步修改了文件后缀和
SaveAs方法的FileFormat参数,xlOpenXMLWorkbook对应标准无宏xlsx格式 - 保留了适配Mac的
/路径分隔符,无需额外调整 - 运行前建议检查工作表名称,避免包含
/:等系统禁止的文件名字符,防止保存报错;首次运行如果弹出权限请求,给Excel授予桌面文件夹的读写权限即可正常使用
内容的提问来源于stack exchange,提问作者brauer-t
相关产品推荐
相关产品推荐

