ich hab ein Macro, das über ADO Daten aus einer DB liest. In Abhänigkeit von den erhaltenen Daten werden dann Logos angezeigt.
Dazu sind Images eingefügt und werden mit Loadpicture befüllt.
So weit, so gut, alles läuft prima.
Nun soll das Teil über Triggerfile ferngesteuert werden.
D.h. im 5 Sek. Takt (DoEvents Sleep 5000) wird ein Ordner abgefragt. Taucht dort ein Triggerfile auf, wird es geöffnet und der Inhalt in das Tabellenblatt übertragen. Anschließend wird das o.g. Macro gestartet und das Tabellenblatt auf den Standarddrucker ausgegeben.
Alles läuft durch ohne Fehler.
Das Problem ist, dass der Druck erfolgt und dann erst die geladenen Logos auftauchen!
Danke für die Bemühung.
Makro-1: (im Modul) Triggerfile suchen im 5-Sek. Zyklus
Wenn gefunden Makro-2 im gleichen Modul aufrufen
Makro-2: Triggerfile auslesen und Indexbegriff in Zelle übertragen
Makro-3 im Tabellenblatt aufrufen
Makro-3: DB öffnen und mit SQL Informationen zum Indexbegriff einlesen
Logo.JPG mit Loadpicture in das vordef. Image laden
DB schließen
Makroende und damit zurück zu Makro-2
Makro-2: Tabellenblatt drucken
Makroende und damit zurück zu Makro-1
Makro-1: DoEvents
5 Sek. schlafen legen
nächster Schleifendurchlauf
Der Debugger zeigt mir den ordnungsgemäßen Durchlauf. Es werden somit auch alle SUBR gefunden - kein Fehler!
schwer zu sagen, wo das Problem liegt ohne das Ganze testen zu können.
Hast du schon mal den kompletten Code per Einzelschritt (F8) durchlaufen? Da kannst du sehen, ob alles in der gewünschten Reihenfolge abgearbeitet wird.
Vielleicht braucht das Object, in das du das Bild lädst, noch sowas wie ein refresh oder redraw (weiß nicht ob es das in vba gibt), damit es „merkt“ dass ein neues Bild angezeigt wird. Oder versuche es nach dem Loadpicture mit einem doevents.
Sonst hab ich momentan auch keine Idee, wo das Problem liegen könnte bzw. wie du dem auf die Spur kommen kannst.