Не удается правильно записать в CSV-файл, используя печать

Public Function WriteToFile(xyz As String)
    Dim PathToFile As String
    Dim FileNumber As Long

    Open PathToFile For Output As #FileNumber
    Print #FileNumber, xyz
End Function

Строка xyz записана в две строки вместо одной, почему? Есть ли ограничения по длине xyz ?

Всего 2 ответа


Упомяните также ячейку, чтобы написать

Клетки (1, 1) = XYZ

Это будет писать в 1-й строке и первом столбце


Sub testWriteToFile()
    WriteToFile "abcd", "Your file Full Name"
    TextStreamWrite "abcde", "Your second file Full Name"
End Sub
Public Function WriteToFile(xyz As String, PathToFile As String)
    FreeFile 1

    Open PathToFile For Output As #1
      Print #1, xyz
    Close #1
End Function

Для размеров более 2 ГБ используйте этот код:

Private Function TextStreamWrite(xyz As String, PathToFile As String)
    Const ForReading = 1, ForWriting = 2, ForAppending = 3
    Const TristateUseDefault = -2, TristateTrue = -1, TristateFalse = 0
    Dim fs, f, ts, s
    Set fs = CreateObject("Scripting.FileSystemObject")
    fs.CreateTextFile PathToFile
    Set f = fs.GetFile(PathToFile)
    Set ts = f.OpenAsTextStream(ForWriting, TristateUseDefault)
        ts.Write xyz
    ts.Close
End Function

Не забудьте заменить «Полное имя вашего файла» и «Полное имя вашего второго файла» на путь к вашим файлам ...


Есть идеи?

10000