Домашняя страница Undo Do New Save Карта сайта Обратная связь Поиск по форуму
МИР MS EXCEL - Гость.xls

Вход

Регистрация

Напомнить пароль

 

= Мир MS Excel/Ссылка Javascript - Мир MS Excel

Старая форма входа
  • Страница 1 из 2
  • 1
  • 2
  • »
Модератор форума: китин, _Boroda_  
Мир MS Excel » Вопросы и решения » Вопросы по VBA » Ссылка Javascript (Макросы Sub)
Ссылка Javascript
VIA Дата: Вторник, 18.02.2014, 12:38 | Сообщение № 1
Группа: Гости
Приветствую!

Помогите, пожалуйста. Мне необходимо автоматически забирать данные с интернет страницы, но!!!
Нужные данные открываются ссылкой, которая выполняет JavaScript.
Это реально сделать посредством VBA и если реально, то как?

<TD><A class=Tab2Lnk
title="Resource Account Attributes"
href='javascript:setValue(document.mainform,"maintabs","_FM_VIEW_ATTRIBUTES");submitCommand(document.mainform, "Recalculate")'>Attributes</A></TD>

Заранее благодарю.
 
Ответить
СообщениеПриветствую!

Помогите, пожалуйста. Мне необходимо автоматически забирать данные с интернет страницы, но!!!
Нужные данные открываются ссылкой, которая выполняет JavaScript.
Это реально сделать посредством VBA и если реально, то как?

<TD><A class=Tab2Lnk
title="Resource Account Attributes"
href='javascript:setValue(document.mainform,"maintabs","_FM_VIEW_ATTRIBUTES");submitCommand(document.mainform, "Recalculate")'>Attributes</A></TD>

Заранее благодарю.

Автор - VIA
Дата добавления - 18.02.2014 в 12:38
alex77755 Дата: Вторник, 18.02.2014, 12:51 | Сообщение № 2
Группа: Проверенные
Ранг: Обитатель
Сообщений: 362
Репутация: 64 ±
Замечаний: 0% ±

Дал бы адрес сайта и что из него надо взять.
Мжет надо сформировать и послать запрос...


Могу помочь в VB6, VBA
Alex77755@mail.ru
 
Ответить
СообщениеДал бы адрес сайта и что из него надо взять.
Мжет надо сформировать и послать запрос...

Автор - alex77755
Дата добавления - 18.02.2014 в 12:51
VIA Дата: Вторник, 18.02.2014, 13:31 | Сообщение № 3
Группа: Гости
Сайт внутренний, ссылка на него снаружи к сожалению не работает.
 
Ответить
СообщениеСайт внутренний, ссылка на него снаружи к сожалению не работает.

Автор - VIA
Дата добавления - 18.02.2014 в 13:31
alex77755 Дата: Вторник, 18.02.2014, 13:46 | Сообщение № 4
Группа: Проверенные
Ранг: Обитатель
Сообщений: 362
Репутация: 64 ±
Замечаний: 0% ±

Тогда пробуй Fiddler посмотреть запросы, формируй запрос и получай ответ


Могу помочь в VB6, VBA
Alex77755@mail.ru
 
Ответить
СообщениеТогда пробуй Fiddler посмотреть запросы, формируй запрос и получай ответ

Автор - alex77755
Дата добавления - 18.02.2014 в 13:46
VIA Дата: Вторник, 18.02.2014, 13:49 | Сообщение № 5
Группа: Гости
В адресной строке, после открытия сайта, введеный скрипт

javascript:setValue(document.mainform,"maintabs","_FM_VIEW_ATTRIBUTES");submitCommand(document.mainform, "Recalculate")

тоже выполняется как нужно и формирует необходимую мне страничку.
Можно ли "это" отправить запросом в уже открытое окно IE?
 
Ответить
СообщениеВ адресной строке, после открытия сайта, введеный скрипт

javascript:setValue(document.mainform,"maintabs","_FM_VIEW_ATTRIBUTES");submitCommand(document.mainform, "Recalculate")

тоже выполняется как нужно и формирует необходимую мне страничку.
Можно ли "это" отправить запросом в уже открытое окно IE?

Автор - VIA
Дата добавления - 18.02.2014 в 13:49
alex77755 Дата: Вторник, 18.02.2014, 14:05 | Сообщение № 6
Группа: Проверенные
Ранг: Обитатель
Сообщений: 362
Репутация: 64 ±
Замечаний: 0% ±

если в адресной строке, то это уже проще. Кликни по адресной строке и посмотри полный адрес
а в процедуру попробуй вставить что-то подобное:
[vba]
Код
    Set WebBrowser = New InternetExplorer
      WebBrowser.Visible = True
        URL = "http://----------сюда вставь полный адрес--------------"
        WebBrowser.Navigate URL

      T = Now
      Do While Not (WebBrowser.ReadyState = 4)
          If Now - T >= 5 / 86400 Then Exit Do    'Выход через  5 секунд
          DoEvents
      Loop
  
[/vba]
Откроется нужная страница?


Могу помочь в VB6, VBA
Alex77755@mail.ru


Сообщение отредактировал alex77755 - Вторник, 18.02.2014, 14:07
 
Ответить
Сообщениеесли в адресной строке, то это уже проще. Кликни по адресной строке и посмотри полный адрес
а в процедуру попробуй вставить что-то подобное:
[vba]
Код
    Set WebBrowser = New InternetExplorer
      WebBrowser.Visible = True
        URL = "http://----------сюда вставь полный адрес--------------"
        WebBrowser.Navigate URL

      T = Now
      Do While Not (WebBrowser.ReadyState = 4)
          If Now - T >= 5 / 86400 Then Exit Do    'Выход через  5 секунд
          DoEvents
      Loop
  
[/vba]
Откроется нужная страница?

Автор - alex77755
Дата добавления - 18.02.2014 в 14:05
VIA Дата: Вторник, 18.02.2014, 14:53 | Сообщение № 7
Группа: Гости
Я непонятно написал выше.
Видимый URL всегда https://intranet/account/view.jsp
Но если в адресную строку вставить javascript:setValue(document.mainform,"maintabs","_FM_VIEW_ATTRIBUTES");submitCommand(document.mainform, "Recalculate")
То все тоже срабатывает.
 
Ответить
СообщениеЯ непонятно написал выше.
Видимый URL всегда https://intranet/account/view.jsp
Но если в адресную строку вставить javascript:setValue(document.mainform,"maintabs","_FM_VIEW_ATTRIBUTES");submitCommand(document.mainform, "Recalculate")
То все тоже срабатывает.

Автор - VIA
Дата добавления - 18.02.2014 в 14:53
alex77755 Дата: Вторник, 18.02.2014, 15:20 | Сообщение № 8
Группа: Проверенные
Ранг: Обитатель
Сообщений: 362
Репутация: 64 ±
Замечаний: 0% ±

Понятно. Тогда хуже.
Я получал данные функцией
[vba]
Код
Function GetHTML(URL As String) 'Функция скачивает файл по ссылке URL
Dim oXMLHTTP
     On Error Resume Next
     Set oXMLHTTP = CreateObject("MSXML2.XMLHTTP")
     With oXMLHTTP
        .Open "GET", URL, False
        .Send
          GetHTML = .ResponseText
     End With
     Set oXMLHTTP = Nothing
End Function
[/vba]
Но самая большая была в определении строки запроса.
В одном случае помог IE.
После вставки в строку скрипта и выполнения нужные данные отображены?
Тогда попробуй ПКМ по месту с данными и в окошке посмотри Адрес URL
Мне он как раз и показал не постоянно отображаемый, а строку запроса.


Могу помочь в VB6, VBA
Alex77755@mail.ru
 
Ответить
СообщениеПонятно. Тогда хуже.
Я получал данные функцией
[vba]
Код
Function GetHTML(URL As String) 'Функция скачивает файл по ссылке URL
Dim oXMLHTTP
     On Error Resume Next
     Set oXMLHTTP = CreateObject("MSXML2.XMLHTTP")
     With oXMLHTTP
        .Open "GET", URL, False
        .Send
          GetHTML = .ResponseText
     End With
     Set oXMLHTTP = Nothing
End Function
[/vba]
Но самая большая была в определении строки запроса.
В одном случае помог IE.
После вставки в строку скрипта и выполнения нужные данные отображены?
Тогда попробуй ПКМ по месту с данными и в окошке посмотри Адрес URL
Мне он как раз и показал не постоянно отображаемый, а строку запроса.

Автор - alex77755
Дата добавления - 18.02.2014 в 15:20
VIA Дата: Вторник, 18.02.2014, 18:01 | Сообщение № 9
Группа: Гости
Функция выдает кусок HTML кода.

Копирование через ПКМ, как и в строке отображения:
javascript:setValue(document.mainform,"maintabs","_FM_VIEW_ATTRIBUTES");submitCommand(document.mainform, "Recalculate")
 
Ответить
СообщениеФункция выдает кусок HTML кода.

Копирование через ПКМ, как и в строке отображения:
javascript:setValue(document.mainform,"maintabs","_FM_VIEW_ATTRIBUTES");submitCommand(document.mainform, "Recalculate")

Автор - VIA
Дата добавления - 18.02.2014 в 18:01
alex77755 Дата: Вторник, 18.02.2014, 18:15 | Сообщение № 10
Группа: Проверенные
Ранг: Обитатель
Сообщений: 362
Репутация: 64 ±
Замечаний: 0% ±

Всё правильно. Так и должно быть.
Есть ли в куске кода нужные вам данные?


Могу помочь в VB6, VBA
Alex77755@mail.ru


Сообщение отредактировал alex77755 - Вторник, 18.02.2014, 18:16
 
Ответить
СообщениеВсё правильно. Так и должно быть.
Есть ли в куске кода нужные вам данные?

Автор - alex77755
Дата добавления - 18.02.2014 в 18:15
alex77755 Дата: Вторник, 18.02.2014, 18:36 | Сообщение № 11
Группа: Проверенные
Ранг: Обитатель
Сообщений: 362
Репутация: 64 ±
Замечаний: 0% ±

Если есть - парсить HTML код.


Могу помочь в VB6, VBA
Alex77755@mail.ru
 
Ответить
СообщениеЕсли есть - парсить HTML код.

Автор - alex77755
Дата добавления - 18.02.2014 в 18:36
doober Дата: Вторник, 18.02.2014, 19:49 | Сообщение № 12
Группа: Друзья
Ранг: Ветеран
Сообщений: 947
Репутация: 323 ±
Замечаний: 0% ±

Excel 2010
Нужные данные открываются ссылкой, которая выполняет JavaScript.
Это реально сделать посредством VBA и если реально, то как?

Реально,если URL не секретный


 
Ответить
Сообщение
Нужные данные открываются ссылкой, которая выполняет JavaScript.
Это реально сделать посредством VBA и если реально, то как?

Реально,если URL не секретный

Автор - doober
Дата добавления - 18.02.2014 в 19:49
VIA Дата: Среда, 19.02.2014, 09:21 | Сообщение № 13
Группа: Гости
нет нужных данных в HTML - это начальная страница.
 
Ответить
Сообщениенет нужных данных в HTML - это начальная страница.

Автор - VIA
Дата добавления - 19.02.2014 в 09:21
doober Дата: Среда, 19.02.2014, 12:02 | Сообщение № 14
Группа: Друзья
Ранг: Ветеран
Сообщений: 947
Репутация: 323 ±
Замечаний: 0% ±

Excel 2010
нет нужных данных в HTML - это начальная страница.

Это для вас нет,для меня есть.
Если вы не дадите адрес начальной страницы,то и разговаривать больше не о чем.


 
Ответить
Сообщение
нет нужных данных в HTML - это начальная страница.

Это для вас нет,для меня есть.
Если вы не дадите адрес начальной страницы,то и разговаривать больше не о чем.

Автор - doober
Дата добавления - 19.02.2014 в 12:02
VIA Дата: Среда, 19.02.2014, 14:28 | Сообщение № 15
Группа: Гости
Про отсутствие нужных данных в HTML - это я alex77755 писал.
Про адрес начальной страницы повторюсь - это intranet, снаружи не работает.
 
Ответить
СообщениеПро отсутствие нужных данных в HTML - это я alex77755 писал.
Про адрес начальной страницы повторюсь - это intranet, снаружи не работает.

Автор - VIA
Дата добавления - 19.02.2014 в 14:28
doober Дата: Среда, 19.02.2014, 14:38 | Сообщение № 16
Группа: Друзья
Ранг: Ветеран
Сообщений: 947
Репутация: 323 ±
Замечаний: 0% ±

Excel 2010
Есть такой вариант.
Запускаете фидлера.Выполняете все манипуляции в браузере.Сохраняете все сессии фидлера в архив.
И мне на мыло.


 
Ответить
СообщениеЕсть такой вариант.
Запускаете фидлера.Выполняете все манипуляции в браузере.Сохраняете все сессии фидлера в архив.
И мне на мыло.

Автор - doober
Дата добавления - 19.02.2014 в 14:38
SkyPro Дата: Среда, 19.02.2014, 14:57 | Сообщение № 17
Группа: Друзья
Ранг: Старожил
Сообщений: 1206
Репутация: 255 ±
Замечаний: 0% ±

2010
Я бы порекомендовал подобные вещи делать через ПХП.
Вот пример небольшой, как при помощи cURL отправить хедеры и получить ответ.
[vba]
Код
function curl_get($url){
  $ch = curl_init();
curl_setopt($ch, CURLOPT_REFERER, 'http://САЙТ.com/');
curl_setopt($ch, CURLOPT_USERAGENT, "Mozilla/5.0 (Windows NT 6.3) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/31.0.1650.63 Safari/537.36 OPR/18.0.1284.68");
curl_setopt($ch, CURLOPT_URL, $url ); // отправляем на  
curl_setopt($ch, CURLOPT_HEADER, 0); // не отображать заголовки ответа
curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1); // возвратить то что вернул сервер
//curl_setopt($ch, CURLOPT_FOLLOWLOCATION, 1); // следовать за редиректами
curl_setopt($ch, CURLOPT_CONNECTTIMEOUT, 30);// таймаут
curl_setopt($ch, CURLOPT_SSL_VERIFYPEER, 0);// просто отключаем проверку сертификата  
curl_setopt($ch, CURLOPT_POST, 1); // использовать данные в post
curl_setopt($ch, CURLOPT_COOKIEJAR, $_SERVER['DOCUMENT_ROOT'].'/cookie.txt');
curl_setopt($ch, CURLOPT_POSTFIELDS, array(
     'sort_by'=>'a',
     'roomname'=>'login',
     'private'=>false)); // массивом передаются данные формы (если доступ только для авторизирвоанных пользователей)
  $result=curl_exec($ch);
return $result;
curl_close($ch);
};
$url = 'http://URL на который отправляются хедеры';
$result = curl_get($url);
echo $result;
[/vba]


skypro1111@gmail.com
 
Ответить
СообщениеЯ бы порекомендовал подобные вещи делать через ПХП.
Вот пример небольшой, как при помощи cURL отправить хедеры и получить ответ.
[vba]
Код
function curl_get($url){
  $ch = curl_init();
curl_setopt($ch, CURLOPT_REFERER, 'http://САЙТ.com/');
curl_setopt($ch, CURLOPT_USERAGENT, "Mozilla/5.0 (Windows NT 6.3) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/31.0.1650.63 Safari/537.36 OPR/18.0.1284.68");
curl_setopt($ch, CURLOPT_URL, $url ); // отправляем на  
curl_setopt($ch, CURLOPT_HEADER, 0); // не отображать заголовки ответа
curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1); // возвратить то что вернул сервер
//curl_setopt($ch, CURLOPT_FOLLOWLOCATION, 1); // следовать за редиректами
curl_setopt($ch, CURLOPT_CONNECTTIMEOUT, 30);// таймаут
curl_setopt($ch, CURLOPT_SSL_VERIFYPEER, 0);// просто отключаем проверку сертификата  
curl_setopt($ch, CURLOPT_POST, 1); // использовать данные в post
curl_setopt($ch, CURLOPT_COOKIEJAR, $_SERVER['DOCUMENT_ROOT'].'/cookie.txt');
curl_setopt($ch, CURLOPT_POSTFIELDS, array(
     'sort_by'=>'a',
     'roomname'=>'login',
     'private'=>false)); // массивом передаются данные формы (если доступ только для авторизирвоанных пользователей)
  $result=curl_exec($ch);
return $result;
curl_close($ch);
};
$url = 'http://URL на который отправляются хедеры';
$result = curl_get($url);
echo $result;
[/vba]

Автор - SkyPro
Дата добавления - 19.02.2014 в 14:57
VIA Дата: Среда, 19.02.2014, 16:10 | Сообщение № 18
Группа: Гости
:))) Не могу фидлера поставить, прав администраторских нет. А потом уверен, что антивирус взвижжит.
Беда в общем...

Про PHP не очень понял куда его и как

Я думал все как-то проще:
1. открыть браузер с нужным урлом
2. послать в строку запроса вместо урла javascript
3. спарсить открывшуюся страничку

Но понимаю, что пункт 2 вероятно невыполним. По крайней мере средствами VBA
 
Ответить
Сообщение:))) Не могу фидлера поставить, прав администраторских нет. А потом уверен, что антивирус взвижжит.
Беда в общем...

Про PHP не очень понял куда его и как

Я думал все как-то проще:
1. открыть браузер с нужным урлом
2. послать в строку запроса вместо урла javascript
3. спарсить открывшуюся страничку

Но понимаю, что пункт 2 вероятно невыполним. По крайней мере средствами VBA

Автор - VIA
Дата добавления - 19.02.2014 в 16:10
doober Дата: Среда, 19.02.2014, 17:44 | Сообщение № 19
Группа: Друзья
Ранг: Ветеран
Сообщений: 947
Репутация: 323 ±
Замечаний: 0% ±

Excel 2010
Скайпа естественно нет?.
Накрыться черным одеялом,скачать портабле версию TeamViewer.
я тихонько,что бы другие не видели yes ,зайду на комп и помогу вам


 
Ответить
СообщениеСкайпа естественно нет?.
Накрыться черным одеялом,скачать портабле версию TeamViewer.
я тихонько,что бы другие не видели yes ,зайду на комп и помогу вам

Автор - doober
Дата добавления - 19.02.2014 в 17:44
VIA Дата: Четверг, 20.02.2014, 09:11 | Сообщение № 20
Группа: Гости
Скайп можно и с телефона запустить. Чем это поможет?
Тимвьювер запустить не смог, не видит интернета. Сейчас зарегистрируюсь, выложу HTML, хотя исполняющий кусок выкладывал в первом посте.
 
Ответить
СообщениеСкайп можно и с телефона запустить. Чем это поможет?
Тимвьювер запустить не смог, не видит интернета. Сейчас зарегистрируюсь, выложу HTML, хотя исполняющий кусок выкладывал в первом посте.

Автор - VIA
Дата добавления - 20.02.2014 в 09:11
Мир MS Excel » Вопросы и решения » Вопросы по VBA » Ссылка Javascript (Макросы Sub)
  • Страница 1 из 2
  • 1
  • 2
  • »
Поиск:

Яндекс.Метрика Яндекс цитирования
© 2010-2024 · Дизайн: MichaelCH · Хостинг от uCoz · При использовании материалов сайта, ссылка на www.excelworld.ru обязательна!