Мне нужно конвертировать файл, содержащий разделитель "|"превзойти файл, используя 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», он будет работать нормально.Что-то не так с моим кодом?
Ошибка:
Кроме того, как я могу изменить значение .Name , используяВы выбрали файл из текстового поля вместо того, чтобы жестко закодировать его?
Спасибо.