Страницы: 1
RSS
Импорт данных из web, создание web запроса
 
Добрый день! Столкнулся с задачей по созданию dashboard в Excel. Вижу 2 способа реализации и оба с подводными камнями.

1. Написал запрос по импорту данных из web - все сработало. Dashboard подразумевает отображение информации в режиме, приближенном к онлайн. Данные необходимо импортировать не просто из web, а из webadmin, где естественно есть авторизация, которую мне не удалось победить.
Этот вариант не удалось реализовать.

2. Установил макрос в браузере, который запускает необходимый отчет в webadmin, сохраняет его в папку загрузки.
Далее необходимо поработать Excel, но я пока не сообразил как. В папке загрузка множатся файлы с установленным названием и номером копии. Формат сохранения сейчас такой Отчет сводный по проектам (i), где i - номер сохраненной копии.

Можно ли в excel написать макрос, который бы импортировал данные из загрузок, из файла, название которого содержит Отчет сводный по проектам с самой поздней датой создания? (В идеале средствами Excel удалить после импорта данных все файлы, находящиеся в папке загрузки и содержащие в имени файла Отчет сводный по проектам)

Что дальше с импортированными файлами сделать, я сам пропишу в Excel. Спасибо!
 
Да. Механизм работы с файлами можете реализовать через объект <Scripting.FileSystemObject>. Либо через Dir + FileDateTime.
Изменено: Влад - 15.08.2016 17:15:23
 
Спасибо! Никогда не использовал подобный подход. Где можно посмотреть примеры или описание?
 
Гугл Вам в помощь
 
Самый верный способ - это получение данных для отчета (сводной таблицы, например) непосредственно из источника без всяких файлов-посредников. Если вы это делаете в браузере, то нет проблем это сделать и в экселе. Только непонятно, что в  Вашем случае является источником данных (косвенно можно было бы понять, подсмотрев код для браузера).
Второй способ - выгрузка csv/загрузка csv - можно помочь, если увидеть что все таки выгружает браузер?  
Неизлечимых болезней нет, есть неизлечимые люди.
 
Цитата
TheBestOfTheBest написал:
Если вы это делаете в браузере, то нет проблем это сделать и в экселе.
Каким образом? В браузере я должен пройти обязательную авторизацию, затем выбрать нужный мне отчет и запустить механизм формирования отчета нажатием кнопки выполнить.
Писать запрос напрямую в базу с периодичностью - тоже не вариант (правила безопасности концерна не позволяют). Имеется только рабочий механизм формирования отчета в браузере.
Изменено: mckoy - 16.08.2016 13:18:08
 
Добрый день!

Вот кусок кода который открывает браузер и заполняет поле на форме потом нажимает кнопку, по-моему очень подходит для решения Вашей задачи.
Пробуйте, только нужно настроить под Ваш ресурс
Код
tLinkResourse = "http://www.rci.gouv.mc/rc/"
  
Set IE = CreateObject("InternetExplorer.Application")
  IE.Navigate tLinkResourse 'Загружаем страницу
 While IE.busy Or (IE.readyState <> 4): DoEvents: Wend 'Ждем загрузку страницы
         IE.Visible = True ' делаем видимым для отладки
 Set IEdoc = IE.document: DoEvents: DoEvents
  
' текст для поиска на сайте
tCompanyName="test"    
  
     '29 - Monaco
  
' ШАГ - 1 иду через веб форму
  
            'Заполняю поле для поиска
           IEdoc.getElementsByName("rse").Item(0).Value = tCompanyName
            'нажимаем кнопку
           IEdoc.getElementsByTagName("button").Item(0).Click
Таким образом, Вы сможете пройти авторизацию
Изменено: gryabs - 16.08.2016 14:44:48 (дополнение)
Страницы: 1
Читают тему
Наверх