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

Verzögerung zwischen Code Darstellung und MsgBox

Verzögerung zwischen Code Darstellung und MsgBox
03.02.2019 20:46:27
Tommy
Hallo zusammen,
ich habe folgendes Problem. Es ist zwar ein PowerPoint Problem, aber vielleicht kann mir trotzdem hier jemand helfen:
Der folgende Code formatiert zwei Felder in einer PowerPoint Präsentation und soll dann eine MsgBox öffnen mit einer ja/nein Frage.
Aus irgendeinem Grund taucht die MsgBox aber schon auf, obwohl die Formatierung noch gar nicht abgeschlossen ist. Die Formatierung ist erst 2-3 Sekunden später abgeschlossen bzw wird erst nach 2-3 Sekunden so dargestellt. Woran könnte das liegen?
Danke für eure Hilfe!
Code:
Dim objPP As Object
Dim objP As Object 'PowerPoint.Presentation
Dim Start As Integer
Dim Ende As Integer
Dim DoIt As Integer
Dim StepByStep As Boolean
Dim ToTheEnd As Boolean
Dim NurLinks As Boolean
Dim LinksuOben As Boolean
Set objPP = GetObject(, "PowerPoint.Application")
Set objP = objPP.ActivePresentation
Start = UF_FormatAssii.TB_AssiVon.Value
Ende = UF_FormatAssii.TB_AssiBis.Value
ActivePresentation.Slides(Start).Shapes("Blau").Fill.Transparency = 0.5
ActivePresentation.Slides(Start).Shapes("Grün").Fill.Transparency = 0.5
If UF_FormatAssii.OB_totheEnd = True Then
Antwort = MsgBox("Test1", vbYesNoCancel + vbDefaultButton2)
ElseIf UF_FormatAssii.OB_StepbyStep = True Then
Antwort = MsgBox("Test2?", vbYesNoCancel + vbDefaultButton2)
End If

1
Beitrag zum Forumthread
Beitrag zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
AW: Verzögerung zwischen Code Darstellung und MsgBox
04.02.2019 09:41:49
Luschi
Hallo Tommy,
Du mußt mehr mit Objekt-Variablen arbeiten, da kann man die Eigenschaften der Objekte auch _ abfragen, deshalb teste mal:

Dim objPP As Object
Dim objP As Object 'PowerPoint.Presentation
Dim objSH_1 As Object, objSH_2 As Object
Dim Start As Integer, Ende As Integer, DoIt As Integer
Dim StepByStep As Boolean, ToTheEnd As Boolean
Dim NurLinks As Boolean, LinksuOben As Boolean
Dim Antwort As Integer
Set objPP = GetObject(, "PowerPoint.Application")
Set objP = objPP.ActivePresentation
Start = UF_FormatAssii.TB_AssiVon.Value
Ende = UF_FormatAssii.TB_AssiBis.Value
Set objSH_1 = objPP.Slides(Start).Shapes("Blau").Fill
Set objSH_2 = objPP.Slides(Start).Shapes("Grün").Fill
objSH_1.Transparency = 0.5
objSH_2.Transparency = 0.5
Stop 'hier hält der Debugger an und per F8-Taste kann man den Code durchsteppen
Do While True
Debug.Print objSH_1.Transparency = 0.5, objSH_2.Transparency = 0.5
If objSH_1.Transparency = 0.5 And objSH_2.Transparency = 0.5 Then
Exit Do
Else
DoEvents
End If
Loop
Gruß von Luschi
aus klein-Paris
'der Vergleich auf 'True' ist doppeltgemoppelt, da UF_FormatAssii.OB_totheEnd selbst ein
'Wahrheitswert ist und jeder If-Vergleich nur 'True' oder 'False' ergibt
'warum soll man 'True' mit 'True' nochmals vergleichen?
'If UF_FormatAssii.OB_totheEnd = True Then
'deshalb
If UF_FormatAssii.OB_totheEnd Then
Antwort = MsgBox("Test1", vbYesNoCancel + vbDefaultButton2)
ElseIf UF_FormatAssii.OB_StepbyStep Then
Antwort = MsgBox("Test2?", vbYesNoCancel + vbDefaultButton2)
End If
Gruß von Luschi
aus klein-Paris
PS: kann es z.Z. nicht testen, da meine flotte Grafikkarte alles im NU erledigt.
Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige