Live-Forum - Die aktuellen Beiträge
Datum
Titel
28.03.2024 21:12:36
28.03.2024 18:31:49
Anzeige
Archiv - Navigation
712to716
Aktuelles Verzeichnis
Verzeichnis Index
Übersicht Verzeichnisse
Vorheriger Thread
Rückwärts Blättern
Nächster Thread
Vorwärts blättern
Anzeige
HERBERS
Excel-Forum (Archiv)
20+ Jahre Excel-Kompetenz: Von Anwendern, für Anwender
712to716
712to716
Aktuelles Verzeichnis
Verzeichnis Index
Verzeichnis Index
Übersicht Verzeichnisse
Inhaltsverzeichnis

Update suchen

Update suchen
05.01.2006 21:05:33
Edgar
Hallo zusammen
Ich habe eine Arbeitsmappe, die in diversen Büros im Einsatz ist.
Die Arbeitsmappe wird ständig weiterentwickelt.
Die Arbeitsmappe sollte nun eine Funktion aufweisen, die den Benutzer darauf aufmerksam macht, dass auf meiner Homepage eine neue Version zur Verfügung steht.
Ob auf Knopfdruck ("Update suchen") oder automatisch nach bestimmten Zeitintervallen ist egal.
Wie kann ich mit VBA auf einer HTML-Seite Daten lesen?
mfg
Edgar

1
Beitrag zum Forumthread
Beitrag zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
AW: Update suchen
05.01.2006 21:45:04
Ramses
Hallo
Meinst du nicht, es wäre einfacher die Leute per E-Mail zu benachrichtigen ?
Anyway,... probier mal
Sub Get_My_HTM_Page()
    '(C) Ramses
    'Benötigt die Function PageExist() zum prüfen der Seite
    'Ruft Daten von einer WEB-Page über den HTTP Request von einer Seite ab
    'und speichert die Daten als lokale HTML Datei
    'Getestet unter Windows XP
    'Benötigt mindestens Windows 2000 oder XP
    'Im VB-Editor einen Verweis
    'auf Microsoft XML >= 4.0 setzen
    Dim HttpReq As New MSXML2.XMLHTTP30
    Dim myResponse As String, myCheckPage As String
    Dim mySavePath As String, HtmlCount As Integer
    Dim fSearch As FileSearch
    'Variablen füllen
    myCheckPage = "http://www.office.gmxhome.de/index.htm"
    'SavePath mit Bachslash am Schluss !!!
    mySavePath = "C:\Temp\"
    'Prüfen ob die Seite erreichbar ist
    If PageExist(myCheckPage) = False Then
        MsgBox "Die Seite kann nicht erreicht werden.", vbCritical + vbOKOnly, "Abbruch"
        Exit Sub
    End If
    'Daten abholen
    HttpReq.Open "get", myCheckPage, False
    HttpReq.Send
    myResponse = HttpReq.responseText
    'Anzahl der Dateien prüfen
    Set fSearch = Application.FileSearch
    With fSearch
        'ermitteln der Anzahl von *.html- Files im Zielordner
        .NewSearch
        .LookIn = mySavePath
        .SearchSubFolders = False '<<<<Unterordner durchsuchen True/False
        .FileType = msoFileTypeAllFiles
        .FileName = "*.html"
        .Execute
        HtmlCount = .FoundFiles.count + 1
    End With
    'temporäre Datei erstellen
    Open mySavePath & "dummy.txt" For Output As #1
    Write #1, myResponse
    Close #1
    'Datei umbenennen um sie als HTML Datei zu haben
    Name mySavePath & "dummy.txt" As mySavePath & "Office" & HtmlCount & ".html"
    MsgBox "fertig"
End Sub

Function PageExist(chkURL As String) As Boolean
    'by Ramses
    'Verweis auf Microsoft XML >= 4.0 setzen
    Dim HttpReq As New MSXML2.XMLHTTP30
    Dim myResponse As String
    HttpReq.Open "get", chkURL, False
    HttpReq.Send
    myResponse = HttpReq.responseText
    Debug.Print myResponse
    If InStr(myResponse, "404 Message--Page Not Found") Or InStr(myResponse, "error 404: Datei nicht gefunden!") _
        Or InStr(myResponse, "Sorry, the page you requested was not found") Or InStr(myResponse, "The named page does not exist ") Then
        PageExist = False
    Else
        PageExist = True
    End If
End Function

Das Ergebnisfile kannst dann mit OPEN öffnen und auf einen String prüfen der deiner Update-Information entspricht.
Noch nicht inbegriffen, ist ob überhaupt eine Internet-Verbindung exisitiert.
Aber das sollte ja dann das kleinere Problem sein.
Gruss Rainer
Allerdings ist hier noch keine prüfung
Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige