在 Excel for Mac 2016 中另存为 CSV

     2023-02-19     51

关键词:

【中文标题】在 Excel for Mac 2016 中另存为 CSV【英文标题】:SaveAs to CSV in Excel for Mac 2016 【发布时间】:2018-11-01 04:21:17 【问题描述】:

我是一位经验丰富的 VBA 开发人员,但没有足够的 Mac 经验来完成我非常简单的项目。我想将工作表导出为 CSV 并将它们保存到存储工作簿的同一目录中。

我已经创建了一个新工作簿 (ActiveWorkbook),其中包含从主工作簿复制的数据和完全工作的 Windows 部分代码。但是在 Mac 中我无法使这部分工作,结果没有创建文件:

ThisWorkbook.Path & Application.PathSeparator & sheetname & ".csv", _
    FileFormat:=xlCSV, CreateBackup:=False 

我阅读了一些资料,发现 Excel for Mac 2016 需要使用初始文件名调用 GetSaveAsFilename 对话框并手动确认,所以我修改了我的代码,如下所示:

#If Mac Then
    s_fname = Application.GetSaveAsFilename(InitialFileName:= _
        ThisWorkbook.Path & Application.PathSeparator & sheetname & ".csv")                                          

    If s_fname <> False Then
        Application.DisplayAlerts = False
        ActiveWorkbook.SaveAs s_fname, 6                                                     
        Application.DisplayAlerts = True
    End If
#Else
    Application.DisplayAlerts = False
    ActiveWorkbook.SaveAs Filename:= _
    ThisWorkbook.Path & Application.PathSeparator & sheetname & ".csv", _
        FileFormat:=xlCSV, CreateBackup:=False                                     
    Application.DisplayAlerts = True
#End If

宏使用数据创建文件,但它们保存在 XLSX 而不是 CSV: 和对话框的默认格式为 xlsx:

当我尝试设置 FileFilter 时,我没有再次保存文件(我假设 Mac 不支持此属性)。当我尝试更换时:

s_fname=replace(s_fname,".xslx",".csv") 

我的文件夹中还有 .xlsx 文件。

您能否建议我必须在代码中设置哪个 GetSaveAsFilename FileFilter 值以强制保存 CSV 而不是 XLSX?或使用 Anotehr VBA 解决方案(文件格式更改、保存后重命名等)。

谢谢你, 维亚切斯拉夫

【问题讨论】:

看看 Ron 做了什么:rondebruin.nl/mac/mac016.htm 我也读过。该代码基于用户必须在 FileType 下拉列表中选择正确格式的循环。但我需要继续的是尽可能不从用户端采取任何行动 【参考方案1】:

你好,试着把第一部分改成这个:

If Mac Then
    OutputFile = ThisWorkbook.Path & Replace(ActiveWorkbook.Name, ".xls", "-") & ".csv"                                          

    If OutputFile <> False Then
        Application.DisplayAlerts = False
        ActiveWorkbook.SaveAs Filename:=OutputFile, FileFormat:=xlCSV, CreateBackup:=False                                                     
        Application.DisplayAlerts = True
    End If

【讨论】:

ActiveWorkbook 还没有名称 - 它是 Workbooks.Add 的结果。我也尝试了类似的方法:如果不调用 Application.GetSaveAsFileanme ,它将无法在 2016 年工作 我遵循这种方式:link to ms 但文件类型仍然是 xlsx,如您在第二张截图中看到的那样

打开 excel 2007 excel 文件并在 VBA 中另存为 97-2003 格式

】打开excel2007excel文件并在VBA中另存为97-2003格式【英文标题】:Openexcel2007excelfilesandsaveas97-2003formatsinVBA【发布时间】:2010-01-2621:12:25【问题描述】:我有一个奇怪的情况,我有一组excel文件,扩展名为.xls.,在一个目录中,我可... 查看详情

Excel VBA 使用单元格文本作为文件名在当前目录中另存为

】ExcelVBA使用单元格文本作为文件名在当前目录中另存为【英文标题】:ExcelVBASaveAsincurrentdirectoryusingcelltextasfilename【发布时间】:2017-04-2809:20:13【问题描述】:我目前可以在excel中使用复选框将当前目录中的工作簿另存为:ActiveW... 查看详情

在javascript中另存为csv文件

】在javascript中另存为csv文件【英文标题】:Saveascsvfileinjavascript【发布时间】:2017-11-1720:41:45【问题描述】:我仍然是javascript的初学者并且仍在训练,我编写了一个计算日出、日落、中午和午夜时间的代码。借助***中的许多主题... 查看详情

Applescript Excel 2016 另存为 CSV

】ApplescriptExcel2016另存为CSV【英文标题】:ApplescriptExcel2016SAVEASCSV【发布时间】:2015-11-1707:39:54【问题描述】:下面的Applescript在Excel2011中运行良好,没有任何问题。该脚本打开一个Excel文件,删除一列并删除任何“,”或“;”从... 查看详情

在 MS Word 2010 中另存为的键盘快捷键

】在MSWord2010中另存为的键盘快捷键【英文标题】:KeyboardshortcuttoSaveAsinMSWord2010【发布时间】:2017-05-0205:37:13【问题描述】:我正在从word文档创建PDF。我需要采取更多步骤将MSWord2010文档保存为PDF。?【问题讨论】:Ctrl+Shift+S应该... 查看详情

为啥同一网页在谷歌浏览器中另存为 PDF 时字体大小不同?

】为啥同一网页在谷歌浏览器中另存为PDF时字体大小不同?【英文标题】:WhythesamewebpagehavedifferentfontsizewhensaveasPDFinGoogleChrome?为什么同一网页在谷歌浏览器中另存为PDF时字体大小不同?【发布时间】:2020-09-0821:11:33【问题描述】... 查看详情

Laravel 刀片:如何删除预先填充的表单字段数据(在 db 中另存为空)

】Laravel刀片:如何删除预先填充的表单字段数据(在db中另存为空)【英文标题】:Laravelblade:Howdoyoudeleteprepoulatedformfielddata(saveindbasnull)【发布时间】:2014-11-2015:36:39【问题描述】:我正在构建一些表单,其中字段填充有数据库... 查看详情

PySpark:将临时视图转换为表格并在本地驱动器中另存为 .CSV

】PySpark:将临时视图转换为表格并在本地驱动器中另存为.CSV【英文标题】:PySpark:ConvertingaTemporaryViewtoaTableandsaveas.CSVinlocaldrive【发布时间】:2019-04-0105:47:10【问题描述】:我正在PySpark2.4中创建JDBC查询的临时视图。我的数据源是... 查看详情

java示例代码_在rest webservice中接收编码的字节数组,并对其进行解码,然后在java中另存为图像

java示例代码_在rest webservice中接收编码的字节数组,并对其进行解码,然后在java中另存为图像 查看详情

如何将 Excel 文件另存为 CSV? [复制]

】如何将Excel文件另存为CSV?[复制]【英文标题】:HowtosaveExcelfileasCSV?[duplicate]【发布时间】:2016-07-0507:49:52【问题描述】:如何在不询问另存为对话框的情况下将一堆Excel文件保存为CSV文件格式。Idon\'twantthisdialogbox.wksht.SaveAs("C:\\... 查看详情

我想拆分用逗号分隔的字符串并在 SQL Server 中另存为新行 [重复]

】我想拆分用逗号分隔的字符串并在SQLServer中另存为新行[重复]【英文标题】:IwanttosplitthestringsseperatedwithcommaandsaveasnewrowinSQLServer[duplicate]【发布时间】:2017-12-0611:36:54【问题描述】:表1:Col1|Col2-----+-------------------AAA|BB1,KB2,YB3,BP... 查看详情

Excel宏将jpg另存为附件

】Excel宏将jpg另存为附件【英文标题】:Excelmacrotosavejpgasattachment【发布时间】:2016-07-3011:39:24【问题描述】:我迷失了这个话题。我将尝试解释我正在尝试做的事情:-我的想法是能够将jpg文件上传或保存到我的access2010数据库中... 查看详情

VB.Net 为 word 5.5 .DOC 扫描文件夹和子文件夹并在不同文件夹中另存为 RTF

】VB.Net为word5.5.DOC扫描文件夹和子文件夹并在不同文件夹中另存为RTF【英文标题】:VB.NetScanFolder&SubFolderforword5.5.DOCsandSaveasRTFinadifferentFolder【发布时间】:2013-08-2014:34:57【问题描述】:我最近的任务是将大量(1000多个)WordforDo... 查看详情

excel文件的标题另存为

】excel文件的标题另存为【英文标题】:headerforexcelfilesaveas【发布时间】:2010-08-2409:44:12【问题描述】:我能够通过php输出一个excel文件,它可以在excel中正确打开。那里没有问题。当用户在Excel中单击另存为时,它带有第一个选... 查看详情

更改excel中的默认另存为类型

】更改excel中的默认另存为类型【英文标题】:changedefaultsave-astypeinexcel【发布时间】:2016-01-2114:50:25【问题描述】:我有一个宏模板文件。它显示另存为对话框,默认为“.xls”格式。我想将默认类型显示为“.xlsm”。我需要使用... 查看详情

将 Excel 范围另存为 pdf

】将Excel范围另存为pdf【英文标题】:SaveExcelrangeaspdf【发布时间】:2012-10-1522:47:17【问题描述】:我想将特定工作表或特定范围“另存为”为pdf。我尝试在我的代码中实现一个范围。这是我一直在使用的:ActiveSheet.ExportAsFixedForma... 查看详情

excel保存时弹出窗口为另存为,怎么办?

1、打开的excel表格为只读文件,修改后保存会提示另存为,关闭正使用的excel,点击该文件,点击鼠标右键打开属性,在常规中关闭只读属性;2、正在发送的文件保存也会提示另存为,将正在发送的excel文件停止发送;4、重新打... 查看详情

Excel VBA 打开并另存为

】ExcelVBA打开并另存为【英文标题】:ExcelVBAopen&saveas【发布时间】:2017-10-2506:44:03【问题描述】:我已经设法根据单元格中的值打开了一系列Excel工作簿,但我正在努力将另存为编程。您能帮我在打开每个工作簿后启用另存为... 查看详情