Tilgang fremdriftslinjen i et Office-program på statuslinjen

stemmer
4

Jeg bygger VBA applikasjoner for både Word og Excel, er det noen måte å få tilgang til fremdriftslinje som noen ganger vises i Office statuslinjen.

Publisert på 20/10/2008 klokken 06:55
kilden bruker
På andre språk...                            


4 svar

stemmer
0

Jeg har ikke brukt fremdriftslinjen, men jeg har i det siste brukt noe sånt som dette til å plassere oppgaven status tekst i statuslinjen ...

Sub StatusBarExample()
    Application.ScreenUpdating = False 
    ' turns off screen updating
    Application.DisplayStatusBar = True 
    ' makes sure that the statusbar is visible
    Application.StatusBar = "Please wait while performing task 1..."
    ' add some code for task 1 that replaces the next sentence
    Application.Wait Now + TimeValue("00:00:02")
    Application.StatusBar = "Please wait while performing task 2..."
    ' add some code for task 2 that replaces the next sentence
    Application.Wait Now + TimeValue("00:00:02")
    Application.StatusBar = False 
    ' gives control of the statusbar back to the programme
End Sub
Svarte 20/10/2008 kl. 07:10
kilden bruker

stemmer
2

Jeg anbefaler i tillegg å spille inn den nåværende tilstanden i Status, deretter gjenopprette den når alt er ferdig.

Dim OldStatus
With Application
    OldStatus = .DisplayStatusBar
    .DisplayStatusBar = True
    .StatusBar = "Doing my duty, please wait..."
End With
' Do what you do best here (you can refresh the .StatusBar message with updted, as needed)
With Application
    .StatusBar = False
    .DisplayStatusBar = OldStatus
End With
Svarte 22/10/2008 kl. 17:35
kilden bruker

stemmer
0

AFAIK, er det ingen måte å reprodusere den blå linjen av punkter som brukes av Word og Excel for å vise fremgang mot 100%, for eksempel når du åpner en fil.

Jeg husker en gang å se noen kode for å gjenskape det på statuslinjen, men det var komplisert, og jeg vil ikke anbefale det, når det er helt tilstrekkelig i stedet for å si "X% fullført" på statuslinjen, ved hjelp Application.StatusBar.

Svarte 26/10/2008 kl. 09:49
kilden bruker

stemmer
4

Følgende vil simulere en fremdriftsindikator i Excel statuslinjen:

Public Sub UpdateStatusBar(percent As Double, Optional Message As String = "")

    Const maxBars As Long = 20
    Const before As String = "["
    Const after As String = "]"

    Dim bar As String
    Dim notBar As String
    Dim numBars As Long

    bar = Chr(31)
    notBar = Chr(151)
    numBars = percent * maxBars

    Application.StatusBar = _
    before & Application.Rept(bar, numBars) & Application.Rept(notBar, maxBars - numBars) & after & " " & _
         Message & " (" & PercentageToString(percent) & "%)"

    DoEvents

End Sub
Svarte 20/11/2008 kl. 15:38
kilden bruker

Cookies help us deliver our services. By using our services, you agree to our use of cookies. Learn more