Как создать VB-скрипт, который преобразует отдельные вкладки Excel в CSV-файлы, где поля содержат точки с запятой - PullRequest
0 голосов
/ 19 января 2019

Я использую макрос, который разбивает вкладки файлов Excel на отдельные файлы CSV. Проблема, с которой я сталкиваюсь, состоит в том, что некоторые поля содержат точки с запятой, и во время преобразования CSV поле разделяется на другой столбец.

Мне было интересно, есть ли способ, чтобы макрос не распознавал точки с запятой в качестве разделителей?

Спасибо

Public Sub SaveWorksheetsAsCsv()

Dim WS As Excel.Worksheet
Dim SaveToDirectory As String

Dim CurrentWorkbook As String
Dim CurrentFormat As Long

CurrentWorkbook = ThisWorkbook.FullName
CurrentFormat = ThisWorkbook.FileFormat
' Store current details for the workbook

    SaveToDirectory = "C:\Users\Antonio Robles\Dropbox\Fit_Bit_Samples\Logistics\Logistics\Sample Files\csv_files\"

    For Each WS In ThisWorkbook.Worksheets
        WS.SaveAs SaveToDirectory & WS.Name, xlCSV
    Next

Application.DisplayAlerts = False
ThisWorkbook.SaveAs Filename:=CurrentWorkbook, FileFormat:=CurrentFormat
Application.DisplayAlerts = True
' Temporarily turn alerts off to prevent the user being prompted
'  about overwriting the original file.

End Sub

Ответы [ 2 ]

0 голосов
/ 19 января 2019

Хорошо, понял проблему.Я использовал этот макрос на моей операционной системе Windows в Excel.Затем я получил доступ к тому же файлу, используя мой linux os (ubuntu) в dropbox, через libre office calc csv версию, кое-как, получив доступ к нему через libre, он автоматически внес некоторые изменения, и я сохранил его.Поэтому урок заключается в том, что libre может изменять изменения из файла excel / csv.

0 голосов
/ 19 января 2019

Проблема, с которой я сталкиваюсь, заключается в том, что некоторые поля содержат точки с запятой, и во время преобразования csv поле разделяется на другой столбец.

Я получаю следующий пример вывода из вашей программы.Он не разделяется на новые столбцы на точках с запятой.

good morning : hello    aa
we want it; right       bb
let us go , together    cc

Пожалуйста, перепроверьте на своем конце.Это было невозможно в комментариях, поэтому ответил на него.

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