Просмотр сообщений
|
Страниц: [1]
|
3
|
Основные форумы / Вопросы по Excel и VBA / Re:Преобразование тхт-файлов в Excel
|
: 22.02.2012, 06:44:37
|
Здравствуйте Дмитрий. Данный код для меня очень сложный Пытался переделать но неполучилось. Что я хочу из этого кода: 1. Открыть файлы txt. Для этого я заменил расширение xls на txt 2. Преобразовать в Excel и вставить данные начиная с ячейки А3 активного листа т.е. Листа1(приэтом удалить msg и input боксы). Для этого заменил эту строку Set iBeginRange = Application.InputBox("Выберите диапазон сбора данных." & vbCrLf & _ "1. При выборе только одной ячейки данные будут собраны со всех листов начиная с этой ячейки. " & _ vbCrLf & "2. При выделении нескольких ячеек данные будут собраны только с указанного диапазона всех листов.", Type:=8) на: Set iBeginRange = ActiveSheet.Range("A3") и sSheetName = InputBox("Введите имя листа, с которого собирать данные(если не указан, то данные собираются со всех листов)", "Параметр") на и ещё добавил строку преобразования в excel , Origin:=xlMSDOS, _ StartRow:=1, DataType:=xlDelimited, TextQualifier:=xlDoubleQuote, _ ConsecutiveDelimiter:=False, Tab:=True, Semicolon:=False, Comma:=False _ , Space:=False, Other:=True, OtherChar:="|", FieldInfo:= _ Array(Array(1, 1), Array(2, 1), Array(3, 1), Array(4, 1), Array(5, 1), Array(6, 2), Array(7 _ , 4)), TrailingMinusNumbers:=True после этой строки If bPolyBooks Then Workbooks.Open Filename:=avFiles(li) Но неполучается
|
|
|
4
|
Основные форумы / Вопросы по Excel и VBA / Преобразование тхт-файлов в Excel
|
: 21.02.2012, 14:46:05
|
Здравствуйте. Ипсользую макрос свод-тхт файлов для преобарозование из тхт в эксель Dim avFiles, li As Long avFiles = Application.GetOpenFilename("TXT Files(*.txt),*.txt", , , , True) If VarType(avFiles) = vbBoolean Then Exit Sub Dim objFSO As Object, objTxtFile As Object, sTxt, sAllTxt Set objFSO = CreateObject("Scripting.FileSystemObject") For li = LBound(avFiles) To UBound(avFiles) Set objTxtFile = objFSO.OpenTextFile(avFiles(li), 1) sTxt = objTxtFile.ReadAll sAllTxt = sAllTxt & vbNewLine & sTxt objTxtFile.Close Next li Set objTxtFile = objFSO.CreateTextFile("D:/AllText.txt", True) objTxtFile.WriteLine sAllTxt objTxtFile.Close Set objTxtFile = Nothing: Set objFSO = Nothing , добавляя туда нижеследующий код: Workbooks.OpenText Filename:="D:\AllText.txt", Origin:=xlMSDOS, _ StartRow:=1, DataType:=xlDelimited, TextQualifier:=xlDoubleQuote, _ ConsecutiveDelimiter:=False, Tab:=True, Semicolon:=False, Comma:=False _ , Space:=False, Other:=True, OtherChar:="|", FieldInfo:= _ Array(Array(1, 1), Array(2, 1), Array(3, 1), Array(4, 1), Array(5, 1), Array(6, 2), Array(7 _ , 4)), TrailingMinusNumbers:=True
Данный код сначала сохраняет в диск Д затем открывает. А хочется чтоб макрос не сохраняя сразу открыл в эксель, как это сделать? Т.е. при запуске, макрос предлогал выбрать тхт файл и после нажатии на кнопку "открыть" сразу преобразовал в эксель.
|
|
|
|
|