Re: "Bitte warten!" waehrend Makro
18.12.2002 20:17:15
Jessica
Ich habe das ganz schick mit dem Office Assi gelöst:Private asTitle As String
Private asTitle2 As String
Private asVisible As Boolean
Private oBlase As Balloon
Private rBlase As Balloon
Sub AssistentAuswahlAnzeigenUndWahlAusführen()
With Assistant
.Reduced = True
.Left = 900
.Top = 600
.MoveWhenInTheWay = True
.TipOfDay = True
.Visible = True
.Animation = msoAnimationGreeting
End With
asVisible = Assistant.Visible
asTitle = "Dateneingabe komplett!"
asTitle2 = "Bitte warten!"
Select Case BlaseAnzeigen
Case -1
If oBlase.CheckBoxes(1).Checked = True Then
DokumentSpeichern
Assistant.Animation = msoAnimationSaving
End If
ZweiteBlase
Case -2 'Der Benutzer hat den Dialog abgebrochen
If oBlase.CheckBoxes(1).Checked = True Then
DokumentSpeichern
End If
HappyEnd
End Select
HappyEnd
End Sub
Private Sub DokumentSpeichern()
ActiveWorkbook.Save
End Sub
Private Sub HappyEnd()
Assistant.Visible = asVisible
End
End Sub
Private Function BlaseAnzeigen()
Set oBlase = Assistant.NewBalloon
With oBlase
.Mode = msoModeModal
.BalloonType = msoBalloonTypeButtons
.Icon = msoIconTip
.Heading = asTitle
.Text = "Alle notwendigen Daten sind eingegeben. Wollen Sie die Berechnungen jetzt starten?" & _
" Dieser Vorgang kann einige Zeit in Anspruch nehmen."
.CheckBoxes(1).Text = "Eingegebene Werte speichern"
.Button = msoButtonSetOkCancel
BlaseAnzeigen = .Show
End With
End Function
Sub ZweiteBlase()
oBlase.Close
Blase2Anzeigen
NeueStunde = Hour(Now())
NeueMinute = Minute(Now())
NeueSekunde = Second(Now()) + 2
WarteZeit = TimeSerial(NeueStunde, NeueMinute, NeueSekunde)
Application.Wait WarteZeit
MakroStart
BlaseSchliessen
End Sub
Sub BlaseSchliessen()
rBlase.Close
Assistant.Animation = msoAnimationDisappear
Assistant.Visible = False
End Sub
Private Function Blase2Anzeigen()
Set rBlase = Assistant.NewBalloon
With rBlase
.Mode = msoModeModeless
.BalloonType = msoBalloonTypeButtons
.Icon = msoIconTip
.Heading = asTitle2
.Text = "Die Berechnungen laufen."
.Button = msoButtonSetNone
Blase2Anzeigen = .Show
End With
Assistant.Animation = msoAnimationWorkingAtSomething
End Function
Sub BlaseSchliessen()
rBlase.Close
Assistant.Animation = msoAnimationDisappear
Assistant.Visible = False
End Sub
Gruß,
Jessica