ステータスバーを表示する方法

ステータスバーを表示する

以下の画像の通り、処理に時間のかかるマクロを動かす場合ステータスバーに処理状況を表示することがあると思います。

f:id:bimori466:20210123084423p:plain


ステータスバーを処理方法をまとめたことがなかったので、調べてまとめました。

ステータスバーを表示するコード

Sub StatusBar変更()
    
    With Application
        .DisplayStatusBar = True
        .StatusBar = "時間のかかる処理をしています。"
        .DisplayStatusBar = False
    End With
    
End Sub


「Application.DisplayStatusBar = True」にすることで、ステータスバーを表示します。
「Application.StatusBar」に表示したい文字を入力します。
「Application.DisplayStatusBar = False」でステータスバーの表示無くします。

処理時間のかかるマクロを動かす場合には活用するといいかもです!

Twitterでのツッコミ

ユーザー側の設定を勝手に変えてしまうと、場合によっては大問題につながるケースもある。

そこで、教えていただいたコードをまるパクリしましたw。

Sub StatusBar変更2()
    
    Dim DisplayStatusBar As Boolean
    
    With Application
        DisplayStatusBar = .DisplayStatusBar
        
        'ステータスバーが非表示なら表示
        If DisplayStatusBar = False Then .DisplayStatusBar = True
        
        'ステータスバーの更新
        .StatusBar = "時間のかかる処理をしています。"
        
        'ステータスバーが非表示だったら元に戻す
        If DisplayStatusBar = False Then .DisplayStatusBar = False
    End With

End Sub


これなら、変数DisplayStatusBar がTure、Falseでステータスバーの表示を切り替えられるのでユーザーの設定を変更せずに済みます!
ステータスバーの状態をBoolean型で取得するとは思いつきもしませんでした。勉強になりましたm(_ _"m)


ではでは、この辺で(^^)/~~~