Live-Forum - Die aktuellen Beiträge
Anzeige
Archiv - Navigation
1344to1348
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

Laufzeitfehler 91 - mit WebbrowserAddin

Laufzeitfehler 91 - mit WebbrowserAddin
31.01.2014 07:08:42
Pascal
Guten Tag
Ich habe auf einer Userform1 u.a. eine Schaltfläche, die eine weitere Userform2 öffnet.
Auf der zweiten UserForm2 ist das Webbrowser-Addin drauf, welches aus unserem Firmen-Intranet einen sogenannten Schichtenplan laden soll.
Folgender Code ist hinter dieser Schaltfläche auf der UserForm1:
Private Sub CommandButton10_Click()
Dim form As Object
Set form = Frm_Schichtplan 'Objektvariable für Schichtenplan (Webbrowser-Addin) wird gesezt.
'Lösung für Excel 2003 Problem: 3 Sekunden zum Laden warten
Application.Wait (Now + TimeValue("0:00:03"))
Workbooks(Workbookname_WDB).Activate
Frm_Schichtplan.Show
End Sub
Auf der sicht nun öffnenden UserForm (Frm_Schichtplan) hab ich folgenden Code:
Private Sub UserForm_Initialize() 'Schichtplan für den laufenden Monat wird angezeigt
Dim d As Date
Dim Monat As String
d = Now()
Me.Caption = "Schichtplan"
WebBrowser1.Navigate2 "http://firmenweb.com/forms/frc_wahl_einsatzplan.asp"
'Lösung für Excel 2003 Problem: 3 Sekunden zum Laden warten
Application.Wait (Now + TimeValue("0:00:03"))
'ermittle anhand des aktuellen Datums den Monat
Monat = Format(d, "MM")
If Monat 
Bestimmt ist mein Code-Schnitzel nicht 100% Lupenrein, aber ... ich hab das über die Zeit hin aus diversen Codes zusammengebastelt.
Nun mein Problem:
zwar wird auf Druck der Schaltfläche auf UserForm1 dann auch das Frm_Schichtplan angezeigt, und auch der entsprechende Schichtplan geladen.
aber...
Oftmals ... wenn ich kurz auf dem PC eine andere Applikation verwendete und dann wieder diesen Schichtplan öffnen will (Druck der Schaltfläche auf UserForm1) so erscheint bei mir
Laufzeitfehler 91 - Objektvariable nicht definiert.
was kann ich tun, um in jedem Fall sicherzustellen, dass der Schichtplan geöffnet wird ohne Laufzeitfehler ?
Was müsste ich also in meinem Code noch ändern / einbauen ?
Ziel soll sein, dass der Schichtplan auch dann geöffnet wird, wenn der User kurz von einer anderen Applikation auf dem PC zurückkehrt auf die UserForm und dort die Schaltfläche für das Öffnen des Schichtenplans drückt.
Hoffe, meine Frage seie so verständlich und ... bin für jeglichen Tip sehr dankbar!

2
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
AW: Laufzeitfehler 91 - mit WebbrowserAddin
01.02.2014 19:23:57
Dani
Huhu,
passiert das nur, wenn du eine andere Applikation dazwischen geöffnet hast oder auch, wenn du dein Makro in kurzen Abständen ausführst?
Ich vermuten den Übeltäter bei der Drei-Sekunden-Wartezeit, sowas öffnet immer Tür und Tor für Memory Leaks. Was passiert denn, wenn du das weg lässt? Hast du dann auch den gleichen Fehler?
Ein weiteres Problem könnte auch in dem .asp liegen.
Wieso ist der Schichtplan überhaupt geschlossen, nachdem der User in einer anderen Applikation war?
Ist relativ schwierig das so ins Blaue hinein zu debuggen.
Viele Grüße,
Dani

Anzeige
AW: Laufzeitfehler 91 - mit WebbrowserAddin
01.02.2014 20:00:26
Pascal
Guten Abend
Danke für die Antwort. Ich habe das Problem immer wieder. Dh. starte ich die UserForm und drücke gleich auf die Schaltfläche zum öffnen des Schichtplans, so kommt es meist gleich zum Laufzeitfehler 91.
wenn ich vorher aber schon mal irgendwas im Browser gemacht hatte, oder diesen z.B. im Hintergrund schon offen hab, so kommt es nicht zum Laufzeitfehler.
die drei Sekunden Wartezeit hab ich eingebaut, um den Schichtplan mit den entsprechenden Values (siehe meinen Code oben) zuerst zu laden.
D.h. wenn ich diese 3 Sekunden Wartezeit weglass, so werden die Values nicht geladen.
Wenn ich den Schichtplan per Link im Browser starte, so müsste ich zuerst auf einer Seite eben gerade all diese Values auswählen und auf eine Schaltfläche klicken, ehe dann der entsprechende Schichtenplan geladen wird. Daher versuch ich eben diese Auswahl in Form der Values direkt aus dem Makro raus zu übergeben und zu laden.
Und das funzt eigentlich ganz gut, bis eben manchmal auf den Laufzeitfehler 91.
Vielleicht sollte ich also irgendwie meinen Code so erweitern, dass bei einem Klick auf die Schaltfläche immer zuerst der Standardbrowser im Hintergrund geladen wird ?
oder ... was könnte ich noch tun?
Bin für jegliche Hinweise herzliche dankbar !
Anzeige

Links zu Excel-Dialogen

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige