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

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

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

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

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

Ответ
 
Опции темы Поиск в этой теме
Старый 21.01.2012, 11:13   #11
slan
Форумчанин
 
Аватар для slan
 
Регистрация: 30.01.2008
Сообщений: 314
По умолчанию

Цитата:
Сообщение от R Dmitry Посмотреть сообщение
Второй вариант(1 предложил - Slan) который можно еще придумать в данном случае, создать свой собственный мастер импорта текста, и тут уж делай что хочешь
--------------
Но способ весьма затратный по времени (в плане разработки ), но зато один раз сделаете и будете пользоваться.
я даже не стал предлагать - ибо уж очень затратный
slan вне форума Ответить с цитированием
Старый 21.01.2012, 11:35   #12
slan
Форумчанин
 
Аватар для slan
 
Регистрация: 30.01.2008
Сообщений: 314
По умолчанию

можно совсем заморочиться:

создать автозагружаемый макрос в отдельной книге, который средствами api будет отслеживать появление окна мастера текстов и передавать ему имя файла

тогда действия такие:

запускаем еще один экземпляр иксель( через createobject или через shell)
в нем запускается макрос отслеживания

запускаем мастер текстов

как только макрос отслеживания обнаруживает такое окно, он вставляет туда имя файла и нажимает интер.. и закрывает свой экземпляр приложения.

должно работать..
slan вне форума Ответить с цитированием
Старый 21.01.2012, 16:51   #13
Snekich
Форумчанин
 
Аватар для Snekich
 
Регистрация: 19.11.2011
Сообщений: 128
По умолчанию

.... я думал обойдется введением пары переменных
Нет ничего невозможного, главное верить в это.
Snekich вне форума Ответить с цитированием
Старый 05.03.2013, 10:37   #14
bgr
 
Регистрация: 05.03.2013
Сообщений: 7
По умолчанию Автоматический импорт

Подскажите пожалуйста, а возможно ли импортировать несколько файлов без диалоговых окон, с ранее заданными параметрами?
bgr вне форума Ответить с цитированием
Старый 05.03.2013, 10:41   #15
kuklp
Участник клуба
 
Регистрация: 02.05.2010
Сообщений: 1,390
По умолчанию

См. пост #6.
mailto: kuklp60@gmail.com, ящики для благодарностей:
WM Z206653985942, R334086032478, U238399322728
kuklp вне форума Ответить с цитированием
Старый 05.03.2013, 12:26   #16
bgr
 
Регистрация: 05.03.2013
Сообщений: 7
По умолчанию

Если есть энтузиасты помогите плз...
задачка у меня большая, но на данный момент такая частичка: макрос загружает список файлов по фильтру с указанием размера файла и даты создания, а требуется из этого списка загрузить только файлы указанные во временном интервале (например в календаре) и импортировать в последовательности на этот же лист. с меня шоколадка

Последний раз редактировалось bgr; 05.03.2013 в 12:36.
bgr вне форума Ответить с цитированием
Старый 05.03.2013, 12:37   #17
EducatedFool
Программист VBA
СуперМодератор
 
Аватар для EducatedFool
 
Регистрация: 13.07.2008
Сообщений: 6,856
По умолчанию

Цитата:
возможно ли импортировать несколько файлов без диалоговых окон, с ранее заданными параметрами?
Да, возможно.
Например, при помощи этой программы: http://excelvba.ru/programmes/Unification

Один раз настроили параметры импорта (из какого столбца что брать, в какой столбец помещать, и т.д. и т.п., какие даты интересуют)
и потом, нажатием одной кнопки, можно сделать всю работу.

Возможно, в вашем случае имеет смысл написать отдельный макрос (попроще, ибо моя программа предназначена для обработки сложных файлов разной структуры, - а у вас задача, видимо, попроще), но ... без примеров ваших исходных файлов (и желаемого результата) вряд ли стоит ожидать какой-то конкретной помощи.
EducatedFool вне форума Ответить с цитированием
Старый 05.03.2013, 13:28   #18
bgr
 
Регистрация: 05.03.2013
Сообщений: 7
По умолчанию

попробую описать ситуацию...
имеем 3 папки, в которые ежедневно создаются файлы типа 2013_03_05.dat (см вложение). И ежеминутно в файл текущего дня пишутся данные построчно:
Цитата:
[05.03.2013 00:00:00]> датчик1=15,6875 Датчик2=21,375
дата, время, имя датчика, показания датчика;
датчиков может быть от 1 до 30 шт
требуется:
по выбранному временному диапазону импортировать данные из соответствующих файлов, на их основе создать сводную таблицу и построить график (во вложении примерная сводная таблица с графиком) (если временной интервал задан от определённого времени по настоящее время, то график нужен (желателен) динамический или обновляемый раз в минуту....).
как я понимаю картину...
1. нажимаю кнопку загружается список файлов (может и не нужен даже сам список файлов ...) и из списка календарём выбрать промежуток дат (или одну дату, или две-три-пять разных дат) для импорта соответствующих файлов.
2. после импорта автоматом создаётся сводная таблица и график.
Вложения
Тип файла: rar График_Автотранспорт_статистика.rar (3.76 Мб, 13 просмотров)
bgr вне форума Ответить с цитированием
Старый 05.03.2013, 21:37   #19
Скрипт
Форумчанин
 
Регистрация: 24.12.2012
Сообщений: 776
По умолчанию

bgr, у вас задача большая. На большую задачу нужно потратить много времени. Не у каждого есть много времени. Поэтому лучше разбейте вашу задачу на несколько задач, а затем соберите всё в одну задачу.

Попросите, чтобы вам показали, как можно перенести данные из текстового файла в Excel-книгу. Ведь ваша первая задача - это перенести данные из текстовых файлов в Excel-книгу.
Скрипт вне форума Ответить с цитированием
Старый 06.03.2013, 08:34   #20
bgr
 
Регистрация: 05.03.2013
Сообщений: 7
По умолчанию

Код:
Sub загрузка()
'
' загрузка Макрос
' Макрос записан 05.03.2013 (Windows User)
'

'
    With ActiveSheet.QueryTables.Add(Connection:= _
        "TEXT;F:\bm1707\BM1707\log\2013_02_05.dat", Destination:=Range("M1"))
        .Name = "2013_02_05"
        .FieldNames = True
        .RowNumbers = False
        .FillAdjacentFormulas = False
        .PreserveFormatting = True
        .RefreshOnFileOpen = True
        .RefreshStyle = xlInsertDeleteCells
        .SavePassword = False
        .SaveData = True
        .AdjustColumnWidth = True
        .RefreshPeriod = 1
        .TextFilePromptOnRefresh = False
        .TextFilePlatform = 1252
        .TextFileStartRow = 1
        .TextFileParseType = xlDelimited
        .TextFileTextQualifier = xlTextQualifierDoubleQuote
        .TextFileConsecutiveDelimiter = True
        .TextFileTabDelimiter = True
        .TextFileSemicolonDelimiter = True
        .TextFileCommaDelimiter = False
        .TextFileSpaceDelimiter = True
        .TextFileOtherDelimiter = "="
        .TextFileColumnDataTypes = Array(1, 1, 1, 1)
        .TextFileTrailingMinusNumbers = True
        .Refresh BackgroundQuery:=False
    End With
End Sub
думаю так... НО как это сделать для нескольких файлов? и именно тех которые будут отвечать заданным временным интервалам....
bgr вне форума Ответить с цитированием
Ответ


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

Опции темы Поиск в этой теме
Поиск в этой теме:

Расширенный поиск


Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Импорт TXT файлов в Excel Per4eLO Microsoft Office Excel 7 08.02.2017 19:33
Текст из нескольких txt файлов Federal Помощь студентам 6 28.12.2010 18:34
импорт из txt файлов и их обработка evdss Microsoft Office Excel 7 29.11.2010 04:43
автоматический импорт txt файлов в exel andreton Microsoft Office Excel 5 01.06.2010 01:29
Создание сразу нескольких txt файлов Nice42ru Помощь студентам 11 11.02.2010 18:35