Temat: VBA pobierz datę z strony www

Witam,
W jaki sposób pobrać datę (lub jakąś informację) z konkretnej strony internetowej ?

Interesuje mnie opcja, która nie będzie otwierała przeglądarki, tylko przy jakimś zdarzenia będzie sprawdzała informację ze strony www, jeżeli brak internetu - sprawdzi przy kolejnym powtórzeniu zdarzenia .

Dzięki za info
Paweł

Temat: VBA pobierz datę z strony www

Paweł Boguszewski:
Witam,
W jaki sposób pobrać datę (lub jakąś informację) z konkretnej strony internetowej ?

Interesuje mnie opcja, która nie będzie otwierała przeglądarki, tylko przy jakimś zdarzenia będzie sprawdzała informację ze strony www, jeżeli brak internetu - sprawdzi przy kolejnym powtórzeniu zdarzenia .

Dzięki za info
Paweł

Oczywiście chodzi mi o dostęp z VBA Access ... :)
Maciej Bartosiak

Maciej Bartosiak IT CONSULTANT

Temat: VBA pobierz datę z strony www

ja korzystałem z VBA internet controls

Temat: VBA pobierz datę z strony www

Maciej Bartosiak:
ja korzystałem z VBA internet controls

możesz podać jakiś przykład ...

Temat: VBA pobierz datę z strony www

żeby pobrać aktualną datę, informację kod dodatkowo musi wykonać, uruchomić funkcję na serwerze.
Michał Dziubek

Michał Dziubek Programista,
INFORM\'1

Temat: VBA pobierz datę z strony www

Co znaczy, że musi uruchomić funkcje na serwerze?
Pobranie danych to najproście przez Microsoft.XMLHTTP lub msxml.xmlhttp

konto usunięte

Temat: VBA pobierz datę z strony www

automatyzacja internet explorera - działa całkiem przyjemnie
http://www.excely.com/excel-vba/ie-automation.shtml

działasz jak byś był userem przeglądarki - da się symulować np. click na guzikach wywoływanych javaScriptem

Temat: VBA pobierz datę z strony www

Michał Dziubek:
Co znaczy, że musi uruchomić funkcje na serwerze?

Znaczy to, że w danej chwili chciałbym uzyskać aktualną informację, niech to będzie data i godzina.
Mówiąc o uruchomieniu funkcji na serwerze mam na myśli stronę np. php z której to pobiorę odpowiednią informację.

Musi ? nie wiem czy musi - nie wiem dlatego pytam jak z tym sobie sensownie poradzić

Dzięki
Michał Dziubek

Michał Dziubek Programista,
INFORM\'1

Temat: VBA pobierz datę z strony www

Czyli nie musi samo pobranie strony to nie problem:
Function GetWebSite(url) As String
Dim objWeb As Object
Set objWeb = CreateObject("Microsoft.XMLHTTP")
objWeb.Open "GET", url, False
objWeb.send

If objWeb.status = 200 Then
GetWebSite = objWeb.responseText
Else
GetWebSite = "Nie udało się"
End If

Set objWeb = Nothing

End Function


Kwestia, bardziej tego jak ze zwróconego kodu HTML pobrać to co nas interesuje...Michał Dziubek edytował(a) ten post dnia 31.10.12 o godzinie 10:49

Temat: VBA pobierz datę z strony www

Michał Dziubek:
Czyli nie musi samo pobranie strony to nie problem:
Function GetWebSite(url) As String
Dim objWeb As Object
Set objWeb = CreateObject("Microsoft.XMLHTTP")
objWeb.Open "GET", url, False
objWeb.send

If objWeb.status = 200 Then
GetWebSite = objWeb.responseText
Else
GetWebSite = "Nie udało się"
End If

Set objWeb = Nothing

End Function


Kwestia, bardziej tego jak ze zwróconego kodu HTML pobrać to co nas interesuje...

Coś podobnego znalazłem :

Public Function ExecuteWebRequest(url As String) As String
On Error Resume Next
Dim oXHTTP As Object
Dim strDataDzis As String


If InStr(1, url, "?", 1) <> 0 Then
url = url & "&cb=" & Timer() * 100
Else
url = url & "?cb=" & Timer() * 100
End If

Set oXHTTP = CreateObject("MSXML2.XMLHTTP")
oXHTTP.Open "GET", url, False
oXHTTP.send
ExecuteWebRequest = oXHTTP.responseText
Set oXHTTP = Nothing
Debug.Print (ExecuteWebRequest)

strDataDzis = ExecuteWebRequest

MsgBox Left(strDataDzis, 10)

End Function

Co do pobrania interesującej informacji - konkretny przypadek data. Tworzę plik datadzis.php, którego zawartość równa się:

<?php echo date('Y-m-d H i s'); ?>

Z powyższej funkcji otrzymuję tylko datę i OK. Pytanie pozostaje co w przypadku :
a. pracy na RT
b. zabezpieczeń sieciowych (portów ...)
czy tutaj nie pojawią się jakieś problemu.

W moim przypadku nie nie aktywowałem żadnych dodatkowych bibliotek AC2010 i śmiga.

Dzięki - sprawdzę jeszcze Twoją funkcję.
Paweł
Michał Dziubek

Michał Dziubek Programista,
INFORM\'1

Temat: VBA pobierz datę z strony www

Kod który znalazłeś działa tak samo...
a. pracy na RT
nie ma problemu
b. zabezpieczeń sieciowych (portów ...)
czy tutaj nie pojawią się jakieś problemu.
Jeżeli będą zablokowane porty odpowiedzialne za komunikacje z internetem to nie zadziała.

rozwiązanie śmiga bo uzywasz późnego wiązania....

konto usunięte

Temat: VBA pobierz datę z strony www

MSXML2 ma jedną zasadniczą wadę - pieruńsko trudno w tym czymś wykonać logowanie do aplikacji webowej i trzymać to w sesji

Temat: VBA pobierz datę z strony www

Michał Dziubek:
Kod który znalazłeś działa tak samo...
Tak więc powstaje pytanie o różnice :
pomiędzy:
Set objWeb = CreateObject("Microsoft.XMLHTTP")
a:
Set oXHTTP = CreateObject("MSXML2.XMLHTTP")

dodatkowo: If objWeb.status = 200 Then

200 - co to ja wartość ?

Jest to dla mnie zupełnie nowy temat, dlatego pytanie - który obiekt (funkcję) powinienem wybrać ?

Dzięki
Michał Dziubek

Michał Dziubek Programista,
INFORM\'1

Temat: VBA pobierz datę z strony www

Bo to generalnie nie do tego służy, jak już miałbym chodzić po stronie z sesją i ciasteczkami to szedłbym w stronę czegoś takiego:
http://sourceforge.net/projects/libcurl-vb/

konto usunięte

Temat: VBA pobierz datę z strony www

Paweł Boguszewski:
200 - co to ja wartość ?

odpowiedź serwera HTTP że wszystko jest ok

http://www.w3.org/Protocols/rfc2616/rfc2616-sec10.html

Temat: VBA pobierz datę z strony www

Dzięki za info.

Temat można uznać za rozwiązany :)
Dzięki
Paweł



Wyślij zaproszenie do