Supportnet Computer
Planet of Tech

Supportnet / Forum / Tabellenkalkulation

Fehlermeldungen mit Makro automatisch wegklicken!!??!!





Frage

Hallo Zusammen, heute habe ich micht endlich mal angemeldet nachdem ich schon unzählige Male von dieser Seite profitiert habe. Ich hoffe ich kann zukünftig auch meinen Beitrag leisten um andere zu unterstützen! Aber mit meinem ersten Posting bitte ich Euch trotzdem um Hilfe, denn trotz ausführlicher Suche bin ich nicht fündig geworden ;-) Situation: In meiner Excel-Mappe habe ich eine Webabfrage integriert die in festgelegten Intervallen verschiedene Daten aus dem Inetrnet sammelt, die dann von einem Makro weggeschrieben werden. Soweit so gut! Nur alle paar Tage kommt es vor, das eine Internetseite eine Fehlermeldung produziert, d.h. Excel meldet mir das mit einem Fehlerdialog (Sinngemäß: Webabfrage konnte nicht aktualisiert werden da der Server www.xyz.de/start keine Rückmeldung geliefert hat). Wenn ich nun nicht anwesend bin und somit diesen Fehlerdialog nicht händisch wegklicken kann, stoppt sich hier mein Makro auf. Nun suche (und versuche ;-)) ich verzweifelt ein Makro zuschreiben das wenn dieser Fehlerauftritt, diesen Dialog mit Okay bestätigt! Muss dazu sagen das ich mich erst seit wenigen Monaten mit VBA beschäftige und somit noch Anfänger bin. Ist dies überhaupt möglich? Freue mich über jeden Beitrag, Vielen Dank und Grüße aus dem sonnigen Norden.. Svenny

Antwort 1 von JoeKe

Hallo Svenny,

sowar das nich gemeint das du ihn gleich nochmal postest. ;-))

Das es mit:

Application.DisplayAlerts = False

nicht funktioniert, kann schon sein, da die Fehlermeldung bedingt durch ein Serverfehler hervorgerufen wird.
Also eher wenig Chancen bestehen dies mittels VBA zulösen.

Gruß

JöKe

Antwort 2 von CaroS

Sorry SVENNY2006,

bin gerade schwer beschäftigt, deshalb nur kurz, aber wenn der restliche Code mit der fehlenden Aktualisierung klar kommt und weiterlaufen könnte, dann versuch es mal mit der Zeile

On Error Resume Next

am Anfang Deines Makros. Dadurch taucht die Fehlermeldung wahrscheinlich gar nicht erst auf.

Gruß,
CaroS

Antwort 3 von JoeKe

@ CaroS

kann ich mir leider nicht vorstellen, da damit nur der Code bei Laufzeitfehlern fortgeführt wird.

Gruß

JöKe

Antwort 4 von CaroS

Hallo!

Kann sein, dass ich falsch liege, aber ich hatte es so verstanden wegen:

"... d.h. Excel meldet mir das mit einem Fehlerdialog ..."

Man könnte es sicherlich genauso gut erstmal mit

If Err.Number <> 0 Then
MsgBox Error() & Chr(13) & Chr(13) & Err.Description, , "Fehler-Nr.: " & Str(Err.Number)
Err.Clear
End If

versuche, dann muss man aber On Error Resume Next weglassen. Eine von beiden Möglichkeiten würde ich auf jeden Fall mal versuchen. Was bleibt einem sonst übrig?

Gruß,
CaroS

Antwort 5 von SVENNY2006

Hi CaroS und JöKe,

danke für Eure Tips! Nachdem ich den ganzen abend daran rumgebastelt und versucht habe, lässt sich das Problem glaube ich einkreisen:

In dem Moment, wo die nicht erfolgreiche Webabfrage die Fehlermeldung hervorruft, ist quasi mein gesamtes Excel wie lahmgelegt und damit auch alle Makros! Drück ich dann auf OK verschwindet die Fehlermeldung und meine Makros laufen weiter...

Hoffe Ihr habt weitere Ideen,

Gute Nacht!

Svenny

Antwort 6 von Primut

Hi Svenny,

Ideen sind erstmal gar nicht das Problem, sondern erstmal, dein Problem überhaupt nachvollziehen zu können!!!
Ich hab nicht die geringste Ahnung, was bei dir wie läuft und wann die Fehlermeldung auftritt / bzw. auftreten kann.
Ich vermute: Du hast Excel immer offen, läßt parallel ein Makro laufen, was zu bestimmten Zeiten eine Webabfrage startet, wobei manchmal die Fehlermeldung passieren kann?
Du initiierst also die Webabfrage per Makro, kannst du vielleicht mal mal ein Code - Ausschnitt davon rüberschicken? Kenn mich mit Web - Abfragen nicht wirklich aus, müßte die Fehlermeldung aber generieren könen, um Umgehungsstrategien entwickeln zu können.

Beste Grüße soweit
    Primut


Antwort 7 von CaroS

Hallo Svenny,

Du machst Webabfragen aus einem Makro heraus und manchmal kommt eine Fehlermeldung, bei der Du auf OK klicken musst, damit das Makro weiterläuft.

Erstaunlich (bzw. positiv) ist schon, dass Dir ein OK angeboten wird und nicht die Auswahl zwischen Debuggen und Beenden. So schwerwiegend scheint der Fehler also nicht zu sein oder es wurde bereits eine Fehlerbehandlung programmiert. Andererseits frage ich mich, ob Du überhaupt das

Application.DisplayAlerts = False

oder das

On Error Resume Next

in Deinen Code aufgenommen hast. Einfache unbehandelte Fehler sollten dann eigentlich kaum noch / gar nicht mehr als Meldung angezeigt werden, es sei denn, diese sind Teil einer programmierten Fehlerbehandlung. Hier gibt es einiges aufzuklären.

Ein Blick in den Makrocode oder in die Exceldatei wäre da sehr hilfreich. (Mit http://www.netupload.de o. a. kein Problem.)

Gruß,
CaroS

Antwort 8 von JoeKe

@CaroS

ich fürchte diesmal denkst du in die falscheRichtung. ;-)
Die Fehlermeldung erscheint, sowie ich es gelesen habe, wenn die Verbindung zum Webserver nicht zustande kommt.
Das hat dann aber nichts mit einem VBA- oder Excel- bzw. Windows-Fehler zutun, den man mit obenstehenden Anweisungen vielleicht umgehen kann.
Wie du und auch @Primut geschrieben habt wäre es nötig zusehen wie Svenny die Webabfrage startet, um dort eventuell ansetzen zu können.

Gruß

JöKe

Antwort 9 von coros

Hallo an alle,

nun möchte ich auch noch meinen, auch wenn meine Lösung hier bereits teilweise genannt wurde, beitragen. Es wäre aber hilfreich, wenn Dirk hier mal posten würde, was in der Fehlermeldung genau steht und welche Laufzeitfehlernummer (z.B. Laufzeitfehler 1004) die Meldung hat. Auch wäre es hilfreich, wenn in der Fehlermeldung die "Debuggentaste" erscheint, diese mal zu betätigen und dann den gesamten Code und die Zeile, die gelb markiert wird, hier zu posten. Denn dann könnte man sicherlich gezielter helfen. Ich würde das mit folgendem Code lösen, den Du zu Anfang Deines Makros platzieren müsstest.

On Error Resume Next
If Err.Number <> 0 Then
End If


Damit sollten Dir alle Meldungen ausgeschaltet werden und das Makro müsste ohne Fehler abgearbeitet werden.

Ich hoffe, Dir hilfts.

MfG,
Oliver
Da hier der einzige Lohn für die Helfer eine Rückmeldung ist, wäre es nett, wenn Du ein
Feedback abgeben könntest, ob der Lösungsvorschlag Dein Problem gelöst hat.

Antwort 10 von SVENNY2006

Hallo Zusammen,

ersteimal VIELEN DANK für die zahlreichen Beteiligungen zu meinem Problemchen und SORRY dafür das ich mich erst jetzt rückmelde!!!

Nochmal detailierter zu dem eigentlichen Ablauf:

Meine Webabfrage aktualisiert sich selbstständig alle fünf Minuten, diese Aktualisierung schiebt nicht das Makro an sondern dieses Intervall kann man fest bei der Webabfrage hinterlegen! Das Makro schreibt dann nur die so gewonnen Daten weg!!!

Die Fehlermeldung die erscheint hat keinen speziellen Namen, als Name oben ist nur "Microsoft Excel" angegeben. Dann kommt der Text:

"https://supportnet.de konnte nicht geöffnet werden. Der Internetserver oder Proxy konnte nicht gefunden werden."

Als Symbol vor dem Text steht dieses ein gelbes Dreieck mit einem schwarzen Ausrufezeichen. Es gibt nur ein okay Feld zum Wegklicken, und oben rechts in de Ecke das bekannte Kreuz zum schließen. Ob ich nun das Kreuz drücke oder auf okay scheint egal zu sein, die Fehlermeldung verschwindet dann und mein Makro kann weiterlaufen und ich kann Excel auch wieder bedienen. Wenn diese Fehlemeldung erscheint, ist wie schon geschrieben mein gesammtes Excel lahmgelegt...

Durch Zufall habe ich heute von einem kleinem Programm gehört welches sich WINBATCH nennt. Laut Google soll mit diesem Tool es möglich sein, dass dann Windows quasi diese Meldung wegklickt! Ob es stimmt kann ich noch nicht sagen! Werde es mir gleich aber mal zum Test runterladen und probieren.

Eleganter fände ich es aber, wenn ich einen Code in mein Excel Makro integrieren könnte das diese Fehlermeldungen dann wegklickt... Alle Eure Vorschläge hab´ ich alle schon ausgiebig getestet leider ohne Erfolg;-(

Freue mich auf weitere Ideen,

Gruß
SVENNY

Antwort 11 von CaroS

Hallo Svenny,

ist ja schön, dass Du Dich über unsere Ideen freust und wie wir uns den Kopf darüber zerbrechen, wie wir Dir helfen können. Wir würden uns sehr darüber freuen, wenn Du uns mal Deine Excel-Datei zur Verfügung stellen würdest oder wenigstens das Makro, wobei sich eben schwer einschätzen lässt, was woran liegt, wenn man die Details nicht kennt.

Du hast jetzt die Chance, uns das "Leben" etwas leichter zu machen, aber Du musst natürlich nicht. Ebenso wie niemand verpflichtet ist, Dir zu helfen.

Gruß,
CaroS

Antwort 12 von Primut

Hi Svenny,

eine Frage noch: De Webabfrage läuft wie ich verstanden hab automatisch, wann beginnt aber das Makro mit dem
Zitat:
Wertewegschreiben
?, d.h. woher weiß das Makro, wann die Web-Abfrage zuende ist bzw. wie wird es gestartet? Das Makro hat dann also auch kein Problem, wenn der Fehler auftritt und keine Werte da sind?

Besten Dank

Gruß Primut

Antwort 13 von CaroS

Es stellt sich die Frage, ob das Makro mit der Webabfrage überhaupt etwas zu tun hat. Und wenn ja was.

Was würde denn passieren, wenn die Webabfrage wie bisher "selbstständig" weiterläuft und das Makro nicht läuft? (Außer dass dann niemand die Daten verwertet, aber das kann ja der Abfrage egal sein.)

Zitat:
Meine Webabfrage aktualisiert sich selbstständig alle fünf Minuten, diese Aktualisierung schiebt nicht das Makro an sondern dieses Intervall kann man fest bei der Webabfrage hinterlegen!
Trotzdem geht eine Abfrage imho immer vom Client aus und nicht vom Server. Und was heißt "selbstständig"? Vielleicht initiiert ja sogar Excel völlig "selbstständig" die Webabfrage?

CaroS

Antwort 14 von Primut

@ Caro
Zitat:
Vielleicht initiiert ja sogar Excel völlig "selbstständig" die Webabfrage?

Ja, genau, ich hab´s zB probiert unter Daten/externe Daten/gespeicherte Abfrage ausführen und dort ließ sich unter Eigenschaften das Abfrageintervall einstellen. Bei mir waren irgendwelche Standard-MS Abfragen drin, die natürlich nicht funktioniert haben, und so bekam ich schon alle 5 Minuten die Fehlermeldung generiert!

@Svenny
von der Sache her ließe sich die Fehlermeldung ganz einfach per
SendKeys {ENTER} 
beheben, das Problem besteht nur darin, das Makro muß parallel laufen und die SendKeys - Anweisung genau in dem Moment abschicken, wenn das Fehlerfenster da ist und den Focus hat!

Genau dieses exakte Zusammenspiel von Makro und Fehlermeldung macht diese Sache nicht ganz einfach, daher meine Anfrage, wann das Makro startet!

Gruß
      Primut


Antwort 15 von CaroS

Ja , danke Primut,

das ist doch mal ein kleiner Lichtblick. Ich müsste mich da aber auch erstmal einlesen und "reinwurschteln" und das wird heute nichts mehr.

Einen schönen Abend noch!
CaroS