Форум программистов
 

Восстановите пароль или Зарегистрируйтесь на форуме, о проблемах и с заказом рекламы пишите сюда - alarforum@yandex.ru, проверяйте папку спам!

Вернуться   Форум программистов > Microsoft Office и VBA программирование > Microsoft Office Excel
Регистрация

Восстановить пароль
Повторная активизация e-mail

Купить рекламу на форуме - 42 тыс руб за месяц

Ответ
 
Опции темы Поиск в этой теме
Старый 05.07.2014, 14:14   #1
MSD
Пользователь
 
Регистрация: 23.03.2009
Сообщений: 85
По умолчанию Импорт из текстового файла с условием

Добрый день. Есть данные с промышленного сканера в тхт, разделители запятые, пример прилагаю, необходимо импортировать в эксель с сохранением формата т.к. у многих штрихкодов есть впереди нули и эксель их съедает при вставке.... подскажите как лучше сделать, спасибо.
Вложения
Тип файла: txt Файл со сканера.txt (770 байт, 121 просмотров)
Тип файла: rar Что необходимо получить.rar (7.0 Кб, 9 просмотров)
MSD вне форума Ответить с цитированием
Старый 05.07.2014, 14:29   #2
Hugo121
Старожил
 
Регистрация: 11.05.2010
Сообщений: 5,166
По умолчанию

Данные - импорт из текста - с разделителями.
В мастере ставите этим столбцам текстовый формат.
Всё.
webmoney: E265281470651 Z422237915069 R418926282008
Hugo121 вне форума Ответить с цитированием
Старый 05.07.2014, 21:03   #3
MSD
Пользователь
 
Регистрация: 23.03.2009
Сообщений: 85
По умолчанию

А как это сделать автоматом? Макросом то есть.....??
MSD вне форума Ответить с цитированием
Старый 05.07.2014, 21:05   #4
Hugo121
Старожил
 
Регистрация: 11.05.2010
Сообщений: 5,166
По умолчанию

Запишите процесс в макрос.
webmoney: E265281470651 Z422237915069 R418926282008
Hugo121 вне форума Ответить с цитированием
Старый 05.07.2014, 21:40   #5
MSD
Пользователь
 
Регистрация: 23.03.2009
Сообщений: 85
По умолчанию

Нужен пример самого макроса я же попросил, я в этом не особо шарю а дальше я уже сам...)
MSD вне форума Ответить с цитированием
Старый 05.07.2014, 22:09   #6
Hugo121
Старожил
 
Регистрация: 11.05.2010
Сообщений: 5,166
По умолчанию

Включаем рекордер, производим импорт, выключаем рекордер. Что там сложного, что там нужно знать, кроме меню программы?
Код:
Option Explicit

Sub Макрос1()
'
' Макрос1 Макрос
'

'
    With ActiveSheet.QueryTables.Add(Connection:= _
        "TEXT;C:\Downloads\Файл со сканера.txt" _
        , Destination:=Range("$A$1"))
        .Name = "Файл со сканера"
        .FieldNames = True
        .RowNumbers = False
        .FillAdjacentFormulas = False
        .PreserveFormatting = True
        .RefreshOnFileOpen = False
        .RefreshStyle = xlInsertDeleteCells
        .SavePassword = False
        .SaveData = True
        .AdjustColumnWidth = True
        .RefreshPeriod = 0
        .TextFilePromptOnRefresh = False
        .TextFilePlatform = 866
        .TextFileStartRow = 1
        .TextFileParseType = xlDelimited
        .TextFileTextQualifier = xlTextQualifierDoubleQuote
        .TextFileConsecutiveDelimiter = False
        .TextFileTabDelimiter = True
        .TextFileSemicolonDelimiter = False
        .TextFileCommaDelimiter = True
        .TextFileSpaceDelimiter = False
        .TextFileColumnDataTypes = Array(2, 1, 1, 1, 1, 1, 1, 1)
        .TextFileTrailingMinusNumbers = True
        .Refresh BackgroundQuery:=False
    End With
End Sub
webmoney: E265281470651 Z422237915069 R418926282008
Hugo121 вне форума Ответить с цитированием
Старый 05.07.2014, 23:20   #7
MSD
Пользователь
 
Регистрация: 23.03.2009
Сообщений: 85
По умолчанию

спасибо за подсказку... но еще маленький вопрос, как дописать чтобы файл со сканера можно было выбирать а не привязываться к определенному месту? Спасибо.
MSD вне форума Ответить с цитированием
Старый 06.07.2014, 10:26   #8
Hugo121
Старожил
 
Регистрация: 11.05.2010
Сообщений: 5,166
По умолчанию

Код:
Option Explicit

Sub Макрос1()
    Dim SelectedItem$

    With Application.FileDialog(msoFileDialogFilePicker)
        .Title = "Выберите файл для отчета"    'надпись в окне диалога
        'путь по умолчанию к папке /где расположен исходный файл
        .InitialFileName = ThisWorkbook.Path & Application.PathSeparator & "*.txt"
        .AllowMultiSelect = False    'запрет выбора нескольких файлов
        If .Show = False Then Exit Sub
        SelectedItem = .SelectedItems(1)
    End With

    With ActiveSheet.QueryTables.Add(Connection:= _
                                     "TEXT;" & SelectedItem _
                                     , Destination:=Range("$A$1"))
        .Name = "Файл со сканера"
        .FieldNames = True
        .RowNumbers = False
        .FillAdjacentFormulas = False
        .PreserveFormatting = True
        .RefreshOnFileOpen = False
        .RefreshStyle = xlInsertDeleteCells
        .SavePassword = False
        .SaveData = True
        .AdjustColumnWidth = True
        .RefreshPeriod = 0
        .TextFilePromptOnRefresh = False
        .TextFilePlatform = 866
        .TextFileStartRow = 1
        .TextFileParseType = xlDelimited
        .TextFileTextQualifier = xlTextQualifierDoubleQuote
        .TextFileConsecutiveDelimiter = False
        .TextFileTabDelimiter = True
        .TextFileSemicolonDelimiter = False
        .TextFileCommaDelimiter = True
        .TextFileSpaceDelimiter = False
        .TextFileColumnDataTypes = Array(2, 1, 1, 1, 1, 1, 1, 1)
        .TextFileTrailingMinusNumbers = True
        .Refresh BackgroundQuery:=False
    End With
End Sub
webmoney: E265281470651 Z422237915069 R418926282008
Hugo121 вне форума Ответить с цитированием
Ответ


Купить рекламу на форуме - 42 тыс руб за месяц



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Импорт текстового файла в БД, смена кодировки Emmelman Microsoft Office Access 6 22.01.2013 17:52
Импорт данных из текстового файла в структуру glinin Общие вопросы C/C++ 1 20.10.2011 08:35
Импорт данных из текстового файла chobo Microsoft Office Excel 7 28.10.2010 14:29
Импорт из текстового файла в Excel (DBF) Slava БД в Delphi 3 22.07.2009 20:28