Własny komunikat na pasku stanu

przez | 2024-01-09

Czasami chcemy na pasku stanu pokazać jakiś komunikat. Przykładowo nasza aplikacja przetwarza dane (co może trwać np. kilkadziesiąt sekund) i chcemy wyświetlić informację, aby użytkownik się nie niecierpliwił. Albo być może co jakiś czas chcemy pokazać procent zaawansowania wykonanej operacji.

Teraz pojawia się pytanie, jak taki tekst umieścić.

Excel

Dla obiektu Application należy zmienić właściwość StatusBar

Sub TekstNaPaskuStanu()
    Application.StatusBar = "Przetworzono 5 z 180 plików..."
End Sub

Jeśli chcemy usunąć tekst z pasku stanu (bo np. skończyliśmy przetwarzanie danych) to należy przypisać pusty tekst (jeśli tego nie zrobimy, to wcześniej wyświetlany tekst będzie na pasku stanu albo do czasu wyłączenia programu Excel albo do czasu aż inne makro nie ustawi własnego tekstu (lub wyczyści pasek stanu)):

Sub UsuńTekstZPaskaStanu()
    Application.StatusBar = ""
End Sub

Access

Aby nie było za łatwo, w Accessie nieco inaczej ustawia się tekst na pasku stanu. Musimy metodzie SysCmd przekazać dwa argumenty: pierwszy rodzaj polecenia czyli acSysCmdSetStatus, a drugi to tekst, który ma się pojawić na pasku stanu.

Sub TekstNaPaskuStanu()
    SysCmd acSysCmdSetStatus, "Przetworzono 5 z 180 plików..."
End Sub

Aby usunąć tekst należy metodzie SysCmd przekazać argument acSysCmdClearStatus

Sub UsuńTekstZPaskaStanu ()
     SysCmd acSysCmdClearStatus
End Sub

Word

Tutaj jest niespodzianka. Po napisaniu takiego kawałka kodu i uruchomieniu nic się nie stało.

Sub TekstNaPaskuStanu()
    Application.StatusBar = "Przetworzono 5 z 180 plików..."
End Sub

Pomimo, że właściwość StatusBar istnieje to w pomocy technicznej znalazłem informację, że ta właściwość nie jest już obsługiwana. Więc w Wordzie nie da się umieścić własnego tekstu na pasku stanu.

Dodaj komentarz

Twój adres e-mail nie zostanie opublikowany. Wymagane pola są oznaczone *

Witryna wykorzystuje Akismet, aby ograniczyć spam. Dowiedz się więcej jak przetwarzane są dane komentarzy.