2013-05-09 143 views
1

此功能在单击时最好将所有工作表2复制到另一个工作簿并将该工作表另存为csv文件。它不工作......我不知道如何告诉它在哪里保存文件(我希望它保存到桌面)。请帮助?尝试将工作簿的工作表2保存为CSV

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

Private Sub CommandButton2_Click() 


'save as csv' 

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


End Sub 
+0

尝试此代替'FNAME = ThisWorkbook.Path& “\” & “cambs_uploader.csv”'。请在运行之前保存文件。 – Santosh 2013-05-09 17:58:19

回答

0

如果是因为每次保存到您的桌面,然后你可以把完整路径字符串中,而不仅仅是文件名一样简单。但是,如果要通过从目录树中选择来保存它,那么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 
相关问题