Live-Forum - Die aktuellen Beiträge
Datum
Titel
29.03.2024 13:14:12
28.03.2024 21:12:36
28.03.2024 18:31:49
Anzeige
Archiv - Navigation
1556to1560
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
Inhaltsverzeichnis

Application.DisplayAlerts = False ohne Funktion

Application.DisplayAlerts = False ohne Funktion
19.05.2017 09:10:39
komatsur
Guten Tag,
Mein Excel-File hat mehrere Sheets in denen Daten automatisiert von div. Webseiten (Webinterface von selbstentwickelten Steuerungen) geladen werden sollten, damit ich die unterschiedlichen Systeme vergleichen kann. Ich greife somit zb. auf http://192.168.1.79/index.htm
und http://192.168.1.80/index.htm
zu und vergleiche diese Files. Wenn jetzt eine Steuerung nicht am Netz hängt, erhalte ich eine Fehlermeldung, dass diese nicht erreichbar ist und genau diese Fehlermeldung möchte ich in jeder Tabelle unterbinden. Hätte es erfolglos folgendermaßen versucht:
Sub Query_webcontent()
Application.DisplayAlerts = False
ActiveWorkbook.RefreshAll
Application.DisplayAlerts = True
End Sub

Hat wer Rat oder einen Tipp für meine weitere Recherche?
Vielen Dank, komatsur

8
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
AW: Application.DisplayAlerts = False ohne Funktion
19.05.2017 10:23:28
yummi
Hallo komatsur,
ohne den Code zu kennen, ist es schwer den richtigen Ansatz zu liefern.
Aber mal als Anregung:
Entweder das DisplayAlerts in die Funktion reinziehen und um den Teil drum herum bauen, der die Fehlermeldung verursacht oder mit error.resume next oder so arbeiten.
Aber das sind ohne den code zu kennen nur mutmassungen.
Am besten du setzt dir mal einen breakpoint im code bevor der fehler auftritt und gehst step by step weiter, um zu schauen was passiert.
gruß
yummi
AW: Application.DisplayAlerts = False ohne Funktion
19.05.2017 10:44:32
komatsur
Hallo yummi,
danke für deine Nachricht. Ich denke, ich habe meine Situation zu wenig bzw. ungenau beschrieben.
Ich habe zwei Tabellen, in einer werden die Daten mit "aus dem Web" von http://192.168.1.79/index.htm geladen und in der anderen mit "aus dem Web" von http://192.168.1.80/index.htm.
Wähle ich jetzt "Alle aktualisieren" funktioniert solange alles gut, solange beide Webinterfaces erreichbar sind, ist jedoch mind. eine der Seiten gerade nicht erreichbar, erhalte ich eine Fehlermeldung von Excel(nicht von VBA) die "http://192.168.1.80/index.htm konnte nicht geöffnet werden. Der Internetserver oder Proxy konnte nicht gefunden werden"lautet und genau diese Messagebox möchte ich unterbinden.
Aus diesem Grund habe ich mir gedacht, dass es mit oben genannten Code eigentlich funktionieren müsste. Ich starte den Code, deaktiviere die Meldungen, aktualisiere alle Daten (diesesmal über den Code und nicht die Schaltfläche), reaktiviere wieder die Meldungen und das wars, aber leider funktioniert dies eben nicht so wie ich mir gedacht habe :( Die Felder werden zwar aktualisiert (natürlich nur von dem WI welches auch online ist), aber für das Andere bekomm ich trotzdem die Fehlermeldung, obwohl das DisplayAlerts um die Funktion vom Aktualisieren herumgebaut wurde.
gruß, komatsur
Anzeige
AW: Application.DisplayAlerts = False ohne Funktion
19.05.2017 11:51:00
komatsur
sorry, hat das Kontrollkästchen vom Forum für noch ungelösten Beitrag vergessen zu aktivieren...
AW: Application.DisplayAlerts = False ohne Funktion
19.05.2017 12:27:06
Nepumuk
Hallo,
teste mal:
Option Explicit

Public Sub Query_webcontent()
    If GetLinkStatus("http://192.168.1.79/index.htm") Or GetLinkStatus("http://192.168.1.80/index.htm") Then
        Call ThisWorkbook.RefreshAll
    Else
        Call MsgBox("Mindestens eine der Seiten wurde nicht gefunden") 'nur zum testen
    End If
End Sub

Private Function GetLinkStatus(ByVal pvstrURL As String) As Boolean
    Dim objXMLHTTP As Object
    Set objXMLHTTP = CreateObject(Class:="Msxml2.XMLHTTP.4.0")
    On Error Resume Next
    Call objXMLHTTP.Open("GET", pvstrURL, False)
    Call objXMLHTTP.Send
    GetLinkStatus = objXMLHTTP.Status = 200
    Set objXMLHTTP = Nothing
End Function

Gruß
Nepumuk
Anzeige
AW: Application.DisplayAlerts = False ohne Funktion
19.05.2017 14:45:38
Nepumuk
Hallo,
an Stelle des Or muss ein And rein.
Gruß
Nepumuk
AW: Application.DisplayAlerts = False ohne Funktion
23.05.2017 09:00:37
komatsur
Hallo Nepumuk,
vielen Dank für deine Hilfe!
Musste nur "Msxml2.XMLHTTP.4.0" auf "Msxml2.XMLHTTP" ändern, da "Laufzeitfehler 429" angezeigt wurde. Im Anschluss habe ich mich etwas mit eben diesem XMLHTTP-Objekt beschäftigt/gespielt/informiert (u.a. den responseText ausgeben etc.), damit ich dieses Objekt besser kennenlerne.
Eine Sache habe ich jetzt aber noch, bei der ich nicht weiterkomm. Kann ich "Call ThisWorkbook.RefreshAll" so ersetzen, dass mir immer nur ein Tabellenblatt aktualisiert wird? Suche soetwas wie "Worksheet(Steuerung1).RefreshAll. [Steuerung1 heißt zb das Tabellenblatt mit den Aufrufen zu "http://192.168.1.79/index.htm", "http://192.168.1.79/overview.htm" und "http://192.168.1.79/analyze.htm"; Hab ca. 100 Steuerungen die ich nach diesem Prinziep auswerten möchte, sprich die URL ist abgesehen von der IP-Adr. immer gleich.
Ich brauche natürlich keinen fertigen Code o.ä., ein Hinweis auf eine mögliche Funktion/Methode wäre nett, google ist mir nicht fremd ;)
Vielen Dank, lg komatsur
Anzeige
AW: Application.DisplayAlerts = False ohne Funktion
23.05.2017 10:03:45
Nepumuk
Hallo komatsur,
teste mal:
Worksheet("Steuerung1").QueryTables(1).Refresh

Gruß
Nepumuk
AW: Application.DisplayAlerts = False ohne Funktion
23.05.2017 10:44:40
komatsur
Hallo Nepumuk,
vielen Dank, funktioniert genau so wie ich es mir gewünscht habe.
Nur als Anmerkung für zukünftige Leser, die ggf. eine Fehlermeldung erhalten: es ist ein "s" untergegangen, folgender Code funktioniert:

Worksheets("Steuerung1").QueryTables(1).Refresh
Vielen Dank nochmal, lg komatsur
Anzeige

82 Forumthreads zu ähnlichen Themen

Anzeige
Anzeige
Anzeige

Links zu Excel-Dialogen

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige