Anzeige
Anzeige
HERBERS
Excel-Forum (Archiv)
20+ Jahre Excel-Kompetenz: Von Anwendern, für Anwender
Anzeige
Inhaltsverzeichnis

VBA: Animiertes GIF in Userform

Forumthread: VBA: Animiertes GIF in Userform

VBA: Animiertes GIF in Userform
12.05.2025 14:43:50
Tomek Obi
Moin zusammen,

ich habe folgendes Problem: Ich greife über VBA aus Excel heraus auf ein anderes Programm (Solidworks) zu. Die Aktionen, die dort durchgeführt werden, dauern etwas. Um die späteren User wissen zu lassen, dass der Vorgang etwas dauert, habe ich eine Userform erstellt, die in der Zeit eingeblendet bleibt. Und um das Ganze etwas netter zu gestalten, wollte ich ein animiertes GIF in die Userform einbinden. Mein Problem ist jetzt, dass dieses GIF nicht animiert wird, solange der Code im Hintergrund weiter seine Arbeit verrichtet.

Hier ein Test-Sub zum Userform-Aufruf:

Sub warten()


'SWX_Modell_wird_erstellt.Show
SWX_Modell_wird_erstellt.Show 0
DoEvents
Application.Wait (Now + TimeValue("0:00:03"))

'SWX_Modell_wird_erstellt.Hide

End Sub


Und hier der Code der Userform:

Private Sub UserForm_Initialize()

DoEvents
'Text anpassen
Label1.Font.Size = 14
Label1.Font.Bold = True
Label1.TextAlign = fmTextAlignCenter


'GIF ansprechen:
'Variable dimensionieren
Dim HTML As String

'Hintergrundfarbe verändern
HTML = ""

'GIF einbinden
HTML = HTML & " HTML = HTML & "" "
'WebBrowser1.Navigate "F:\SW\Makros\work_in_progress2.gif"

With WebBrowser1
'HTML Datei öffnen, verändern und wieder schließen
.Navigate "About:blank"
.Document.Open
.Document.Write HTML
.Document.Close
End With

End Sub


Der Application.Wait-Befehl im Test-Sub ist nur meine Krücke, um den zeitlichen Ablauf im eigentlichen Programm zu simulieren. So wie ich den Code hier rein gestellt habe, läuft das GIF nicht, während andere Codezeilen ihre Arbeit verrichten, sondern erst danach (sofern es nicht durch den aktuell auskommentierten Hide-Befehl gekillt wird).
Hat irgendwer einen Tipp für mich, wie ich das GIF zum Laufen bekomme?

Vielen Dank im Voraus.
Anzeige

4
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
AW: VBA: Animiertes GIF in Userform
12.05.2025 14:50:58
Daniel
Hi
Korrekt, solange ein Makro läuft, wird die Userformgrafik nicht aktualisiert, das passiert erst danach.

Man kann zwar während des Makrolaufs mit dem Befehl Repaint die Grafikaktualisierung zwischen durchführen lassen, aber das funktioniert auch immer nur zwischen zwei Befehlen, bspw wenn man eine Schleife mit vielen Umläufen hat.
Du hast hier aber nur einen Befehl, dessen Ausführung lange dauert, und solange der läuft, kann Excel nichts anderes tun .

Gruß Daniel
Anzeige
AW: VBA: Animiertes GIF in Userform
12.05.2025 16:30:47
Tomek Obi
Danke für die schnelle Antwort.
Heißt das, dass es keine Möglichkeit gibt, ein animiertes GIF während des Programmablaufs zu zeigen?
AW: VBA: Animiertes GIF in Userform
12.05.2025 16:51:51
Daniel
Korrekt.
So modern ist Excel nicht.
So zumindest mein Wissensstand.
AW: VBA: Animiertes GIF in Userform
12.05.2025 17:31:50
Tomek Obi
Das ist schade.
Vielen Dank für die Aufklärung!
Anzeige

Forumthreads zu verwandten Themen