Я хочу экспортировать в CSV, а не «Сохранить как», поэтому создайте кнопку, которая будет включена макросом. При нажатии на нее должен быть создан CSV-файл первого листа в указанном каталоге, а также указанное имя. И мой первоначальный рабочий лист должен быть сохранен и не сохранен как.Экспорт в CSV
ответ
Если у вас нет запятых, встроенные в клетки, это может быть достаточно:
Sub CSV_Maker()
Dim r As Range
Dim sOut As String, k As Long, M As Long
Dim N As Long, nFirstRow As Long, nLastRow As Long
Sheets(1).Select
ActiveSheet.UsedRange
Set r = ActiveSheet.UsedRange
nLastRow = r.Rows.Count + r.Row - 1
nFirstRow = r.Row
Dim separator As String
separator = ","
MyFilePath = "C:\TestFolder\"
MyFileName = "whatever"
Set fs = CreateObject("Scripting.FileSystemObject")
Set a = fs.CreateTextFile(MyFilePath & MyFileName & ".csv", True)
For N = nFirstRow To nLastRow
k = Application.WorksheetFunction.CountA(Cells(N, 1).EntireRow)
sOut = ""
If k = 0 Then
sOut = vbCrLf
Else
M = Cells(N, Columns.Count).End(xlToLeft).Column
For mm = 1 To M
sOut = sOut & Cells(N, mm).Value & separator
Next mm
sOut = Left(sOut, Len(sOut) - 1)
End If
a.writeline (sOut)
Next
a.Close
End Sub
Это помогает спариться. Но тот, о котором упоминал ** Фред ** выше, простенький. – aneeshjajodia
Если точка сохранить оригинальную книгу нетронутыми, то почему бы не получить творческий. Мы можем скопировать лист в другую книгу и сохранить в формате .csv
Option Explicit
Sub ExportOneSheet()
Const strFILE_NAME As String = "C:\Users\Tom\Desktop\tes.csv"
Dim shToExport As Worksheet
' Set the sheet to copy
Set shToExport = ActiveWorkbook.Sheets("Sheet1")
' Make a copy of the sheet, when called without argument
' it will create a new workbook
shToExport.Copy
Set shToExport = ActiveWorkbook.Sheets("Sheet1")
' If the file exists the delete it. This will esure that
' there is no previous file so the replace file thing will not show
If Not Dir$(strFILE_NAME, vbNormal) = vbNullString Then
Kill strFILE_NAME
End If
' Use Save As and your original workbook stays untouched.
shToExport.SaveAs strFILE_NAME, XlFileFormat.xlCSV
shToExport.Parent.Close True
End Sub
Я надеюсь, что это помогает :)
Позвольте мне попробовать это, вернемся к вам, если это сработает. – aneeshjajodia
Ну, это прекрасно работает, как и предполагалось. **Большое спасибо**. Был бы еще более рад, если бы был способ пропустить кнопки * Да * или * Нет * для ** Замена существующего ** файла. Может быть, все пройдет, верно? – aneeshjajodia
Я изменил ответ, чтобы удалить файл, он уже есть. Поэтому теперь вам не будет предложено заменить файл. –
- 1. Rails - CSV (экспорт в CSV)
- 2. Экспорт php в csv
- 3. Экспорт в CSV - C#
- 4. Экспорт в csv ExtJS
- 5. Экспорт excel в csv
- 6. экспорт DataGridView в CSV
- 7. Экспорт в CSV
- 8. экспорт BeautifulSoup в CSV
- 9. iSeries Экспорт в CSV
- 10. CSV Экспорт в рельсы
- 11. Экспорт Interbase в CSV
- 12. Экспорт данных в CSV
- 13. Экспорт таблицы в CSV
- 14. Экспорт в CSV-версию
- 15. Экспорт $ Результаты в CSV
- 16. Экспорт записи в CSV
- 17. Batch Экспорт в CSV
- 18. Экспорт изображения в CSV
- 19. Экспорт запроса в CSV
- 20. Экспорт XML в CSV
- 21. Экспорт в файл csv
- 22. Экспорт столбцов в таблицы CSV в CSV
- 23. Импорт csv, управление и экспорт в csv
- 24. Экспорт в CSV в Javascript
- 25. экспорт в csv в python
- 26. Экспорт в CSV в PHP
- 27. Экспорт доступа к CSV
- 28. Джанго - Экспорт CSV ASCII
- 29. CSV-экспорт из ActiveScaffold
- 30. PHP CSV экспорт функции
Почему бы не сделать сохранить копию как CSV? –
Saveas csv преобразует только один лист в csv – Davesexcel
@Davesexcel OP говорит только о одном листе и на самом деле не дает никаких оснований для желания изобретать это колесо. –