Преобразование текста с разделителями в CSV в VBA - PullRequest
0 голосов
/ 17 октября 2018

Мне нужно конвертировать файл, содержащий разделитель "|"превзойти файл, используя VBA.Мой код работает, когда я использовал постоянное местоположение пути.Но я получил ошибку, если использовал значение из текстового поля, в котором пользователь выберет местоположение файла.

Вот мой код:

    Dim wb As Workbook
Dim File1 As String

Set wb = Workbooks.Add(xlWBATWorksheet)

File1 = txtBox.Text

With wb.ActiveSheet.QueryTables.Add(Connection:= _
    "TEXT;File1" _
    , Destination:=Range("$A$1"))
    .Name = "sample"
    .FieldNames = True
    .RowNumbers = False
    .FillAdjacentFormulas = False
    .PreserveFormatting = True
    .RefreshOnFileOpen = False
    .RefreshStyle = xlInsertDeleteCells
    .SavePassword = False
    .SaveData = True
    .AdjustColumnWidth = True
    .RefreshPeriod = 0
    .TextFilePromptOnRefresh = False
    .TextFilePlatform = 437
    .TextFileStartRow = 1
    .TextFileParseType = xlDelimited
    .TextFileTextQualifier = xlTextQualifierDoubleQuote
    .TextFileConsecutiveDelimiter = False
    .TextFileTabDelimiter = False
    .TextFileSemicolonDelimiter = False
    .TextFileCommaDelimiter = False
    .TextFileSpaceDelimiter = False
    .TextFileOtherDelimiter = "|"
    .TextFileColumnDataTypes = Array(1, 1, 1, 1, 1, 1, 1, 1, 1)
    .TextFileTrailingMinusNumbers = True
    .Refresh BackgroundQuery:=False
End With
Rows("1:1").Select
Selection.Delete Shift:=xlUp
Rows("2:2").Select
Selection.Delete Shift:=xlUp

Файл1 - это местоположениефайла.Это может быть изменено в зависимости от местоположения файла TXT.Если я изменю его на пример «C: \ Users \ sample.txt», он будет работать нормально.Что-то не так с моим кодом?

Ошибка: enter image description here

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

Спасибо.

1 Ответ

0 голосов
/ 17 октября 2018

Попробуйте изменить эту строку:

 "TEXT;File1" _

на

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