используйте vba create csv, но формат csv неверен - PullRequest
0 голосов
/ 27 июля 2010

Я использую код, как показано ниже.

   Private Sub CommandButton1_Click()
    Const File$ = "C:\CsvfileTest2.csv"
    Dim Fso, MyFile

    Set Fso = CreateObject("Scripting.FileSystemObject")
    Set MyFile = Fso.CreateTextFile(File, True)

    MyFile.Close
    With CreateObject("ADODB.Stream")
        .Open
        .LoadFromFile File
        .Position = 0
        .Charset = "UTF-8"
        .SaveToFile File, 2
        .Close
    End With

    'Const ForReading = 1, ForWriting = 2, ForAppending = 8
    Set MyFile = Fso.OpenTextFile(File, 8, True, True)

    ' Just for the example:
    myrange1 = 10
    box = ""

    For i = 1 To myrange1
    box = ""
         For j = 1 To 10
           box = box & Sheet1.Cells(i, j) & ChrW(44)
         Next j
    MyFile.WriteLine box
    Next i

    MyFile.Close
End Sub

файл, который я создал, не является настоящим CSV.Кто-нибудь может мне помочь?если я дважды щелкните файл CSV, он будет выглядеть следующим образом.каждая строка появляется в одной ячейке, а не в десяти разных.

a, s, d, sdf, sdf, sds, dsdd, dd, dsd, sd, sds,

a, s, d,sdf, sdf, dsdd, dd, dsd, sd, sds,

a, s, d, sdf, sdf, dsdd, dd, dsd, sd, sds,

a, s,d, sdf, sdf, dsdd, dd, dsd, sd, sds,

a, s, d, sdf, sdf, sdf, dsdd, dd, dsd, sd, sds,

a,s, d, sdf, sdf, dsdd, dd, dsd, sd, sds,

a, s, d, sdf, sdf, dsdd, dd, dsd, sd, sds,

a, s, d, sdf, sdf, dsdd, dd, dsd, sd, sds,

a, s, d, sdf, sdf, dsdd, dd, dsd, sd, sds,

а, с, д, SDF, SDF, dsdd, дд, DSD, с.о., ДСН,

1 Ответ

2 голосов
/ 28 июля 2010

Ваша текущая проблема не имеет ничего общего с кавычками .Кавычки вокруг поля нужны только тогда, когда это поле содержит запятые / точки с запятой, разрывы строк и кавычки.Если он содержит какие-либо кавычки, эти кавычки должны появляться ДВАЖДЫ, например, поле, содержащее He said "Hello", должно выглядеть как "He said ""Hello""".

Вам необходимо выяснить, какой символ-разделитель используется в вашей локали. Один из способов выяснить это - запустить Excel, ввести некоторые данные в несколько ячеек и сохранить их как CSV.Выйдите из Excel и посмотрите на файл с помощью Блокнота.

Кстати, в конце вы добавляете дополнительную запятую;из-за этого ваш файл будет выглядеть так, как будто в нем 11 столбцов, а одиннадцатый пуст.

Будет "," чуть более читабельным, чем ChrW(44)?

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...