尝试将桌面上的工作簿的工作表 2 保存为 CSV

Posted

技术标签:

【中文标题】尝试将桌面上的工作簿的工作表 2 保存为 CSV【英文标题】:Trying to save sheet 2 of a workbook on the desktop as CSV 【发布时间】:2013-05-09 17:52:30 【问题描述】:

单击此功能时,理想情况下应将所有工作表 2 复制到另一个工作簿并将该工作表保存为 csv 文件。它不工作......而且我不知道如何告诉它保存文件的位置(我希望它保存到桌面)。请帮忙?

有没有更简单的方法可以做到这一点?

Private Sub CommandButton2_Click()


'save as csv'

fname = "cambs_uploader.csv"
Sheet2.SaveAs fname, xlCSV


End Sub

【问题讨论】:

试试这个 fname = ThisWorkbook.Path & "\" & "cambs_uploader.csv" 。请在运行前保存文件。 【参考方案1】:

如果每次都像保存到桌面一样简单,那么您只需将完整路径放入字符串中,而不仅仅是文件名。但是,如果您想通过从目录树中选择来保存它,那么 Excel 中最简单的方法是使用它的 Application.GetSaveAsFilename() 方法。

文档:http://msdn.microsoft.com/en-us/library/office/ff195734.aspx

例子:

Sub CommandButton2_Click()
   Dim fName As String
   Dim saveSheet As Worksheet

   Set saveSheet = ActiveWorkbook.Sheets("Sheet2") ' Change your sheet name

   saveSheet.SaveAs Application.GetSaveAsFilename("cambs_uploader.csv", ".csv", 1, "Save File")

   Set saveSheet = Nothing
Exit Sub

【讨论】:

以上是关于尝试将桌面上的工作簿的工作表 2 保存为 CSV的主要内容,如果未能解决你的问题,请参考以下文章

将工作表导出为 csv

用C语言写CSV文件,如何写出多个工作表?

跟踪可能无法保存工作簿的工作簿的登录/注销时间

在不保存工作簿的情况下更改 Excel 中的默认另存为位置

让用户选择保存 Excel 工作簿的位置

如何获取当前打开的excel工作簿的本地路径?