Допустим, я работаю над книгой А, и книга А производит .txt file
. У меня также есть рабочая книга B, в которой есть таблица, готовая для получения данных из .txt file
. я хочу импортировать .txt file
продукцию по рабочей книге A в рабочую книгу B, и я хочу сделать это с рабочей книгой A, вот мой код:
Sub result_template()
Dim FL, LL, CT As String
Dim wb As Workbook
Dim restemplate As Object
Dim sourceBook As Workbook
CT = ActiveWorkbook.Name
If MsgBox("Are you on the good bus compare tool?", 3 + 48 + 256, "check the active workbook") = vbNo Then
GoTo PROC_EXIT
Else
With Application.FileDialog(msoFileDialogFilePicker) '
.Title = "Select the log file" 'Open the file explorer
.InitialFileName = ThisWorkbook.path & "\" 'for you to select
.InitialView = msoFileDialogViewDetails 'the file you want
.AllowMultiSelect = False 'to format
.Show
If Not .SelectedItems(1) = vbNullString Then LL = .SelectedItems(1)
MsgBox LL
End With
With Application.FileDialog(msoFileDialogFilePicker) '
.Title = "Select the result template" 'Open the file explorer
.InitialFileName = ThisWorkbook.path & "\" 'for you to select
.InitialView = msoFileDialogViewDetails 'the file you want
.AllowMultiSelect = False 'to format
.Show
If Not .SelectedItems(1) = vbNullString Then FL = .SelectedItems(1)
MsgBox FL
End With
MsgBox ActiveWorkbook.Name
new_LL = Right(LL, InStr(1, LL, "\"))
new_FL = Right(FL, Len(FL) - InStrRev(FL, "\"))
CT = ActiveWorkbook.Name
Set sourceBook = Workbooks.Open(FL)
Windows(new_FL).Activate
With ActiveSheet.QueryTables.Add(Connection:="TEXT;LL", Destination:=Range("$A$3"))
.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 = True
.TextFileSemicolonDelimiter = False
.TextFileCommaDelimiter = False
.TextFileSpaceDelimiter = False
.TextFileColumnDataTypes = Array(1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1)
.TextFileTrailingMinusNumbers = True
.Refresh BackgroundQuery:=False
End With
Windows(CT).Activate
End If
PROC_EXIT:
End Sub
Excel не может найти LL (расположение журнала) есть что-то я делаю не так?
Если вы найдете более простой способ исправить мой код, пожалуйста, дайте мне знать!