Я добавляю данные в первый столбец рабочего листа и использую этот код
Sub createCSVfile()
Dim xRg As Range
Dim xRow As Range
Dim xCell As Range
Dim xStr As String
Dim xTxt As String
Dim xName As Variant
ThisWorkbook.Worksheets("Tabelle1").Range("A1").Value = "XYZ"
ThisWorkbook.Worksheets("Tabelle1").Range("A2").Value = "XYZ"
ThisWorkbook.Worksheets("Tabelle1").Range("A3").Value = "XYZ"
ThisWorkbook.Worksheets("Tabelle1").Range("A4").Value = "XYZ"
ThisWorkbook.Worksheets("Tabelle1").Range("A5").Value = "XYZ"
Set xRg = ThisWorkbook.Worksheets("Tabelle1").Range("A1:A5")
xName = Application.GetSaveAsFilename("", "CSV File (*.csv), *.csv")
Open xName For Output As #1
For Each xRow In xRg.Rows
xStr = ""
For Each xCell In xRow.Cells
xStr = xStr & xCell.Value & Chr(9)
Next
While Right(xStr, 1) = Chr(9)
xStr = Left(xStr, Len(xStr) - 1)
Wend
Print #1, xStr
Next
Close #1
If Err = 0 Then MsgBox "csv file saved"
End Sub
Чтобы сохранить его как csv и удалить все кавычки на основе это руководство.
Когда я открываю csv с помощью Блокнота, всегда есть хотя бы одна пустая строка в конце:
Не имеет значения, сохраню ли я файл вручную - та же пустая строка. Я тоже пробовал добавить что-то вроде
ThisWorkbook.Worksheets("Tabelle1").Rows(6).Delete
Но это не имеет значения, потому что в 6-й строке рабочего листа нет значений.
Есть ли способ противостоять этому или, по крайней мере, автоматизировать удаление последней строки в CSV через Блокнот?
2 ответа
Как Вольфганг Жак предложил в комментариях, я использовал этот метод вместо SaveWorkbookAs
Sub CreateAfile
Set fs = CreateObject("Scripting.FileSystemObject")
Set a = fs.CreateTextFile("c:\testfile.txt", True)
a.WriteLine("This is a test.")
a.Close
End Sub
И для последней записи я использовал a.Write
вместо a.WriteLine
Пустой строки нет. У вас есть 5 строк, каждая из которых заканчивается символом CR / LF (возврат каретки и перевод строки). Текстовый редактор отображает пустую 6-ю строку.
Чтобы избежать этого, вам придется удалить CR / LF из 5-й строки, но обычно этого не делается.
Это нормально и так.
Похожие вопросы
Новые вопросы
excel
Только для вопросов по программированию для объектов или файлов Excel или для разработки сложных формул. Вы можете объединить тег Excel с VBA, VSTO, C #, VB.NET, PowerShell, OLE-автоматизацией и другими тегами и вопросами, связанными с программированием, если это применимо. Общая помощь по MS Excel для функций одного листа доступна в Super User.