Excel VBA Loadpicture

Hallo *All,

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!

Was ist denn hier los ???
Danke für eure Hilfe

Hi,

steht denn der Code zum anzeigen der Logos vor der Stelle an der gedruckt wird?

Falls ja könnte ein doevent an der passende Stelle vielleicht das Problem lösen.

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!

Hi,

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.