2013-05-09 3 views
1

Эта функция при нажатии должна идеально скопировать весь рабочий лист 2 в другую книгу и сохранить этот лист в виде файла csv. его не работает ... и я не знаю, как сказать, где сохранить файл (я хочу, чтобы он сохранялся на рабочем столе). Помоги пожалуйста?Пытается сохранить лист 2 книги на рабочем столе как CSV

Есть ли более простой способ, я могу это сделать?

Private Sub CommandButton2_Click() 


'save as csv' 

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


End Sub 
+0

Попробуйте это вместо 'имя_файла = ThisWorkbook.Path & "\" & "cambs_uploader.csv"'. Не забудьте сохранить файл перед запуском. – Santosh

ответ

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 
Смежные вопросы