トップページ

#16_3 ステータスバーの操作


処理の進捗状況を表示しよう

第9章のラベルの項目で、ラベルをプログレスバーとして利用する方法を解説しました。ラベルの場合はユーザーフォーム上にプログレスバーを表示させていましたが、今回紹介するのは、Excelの下方に表示されます。

まずは実例を見てみましょう。以下のように、ステータスバーに処理の進捗状況を表示させるマクロを作成します。

ポイントは沢山あります。DisplayStatusBarプロパティは現在のステータスバーの状態をブール型の値で返すプロパティであり、その現在の状態を変数に格納しておきます(マクロ実行後に元の状態に戻すため)。次に、DisplayStatusBarプロパティの値にTrueを代入してステータスバーを表示させます。

また、StatusBarプロパティに値を代入することで、その値がステータスバーに表示されます。

このくらいのマクロであれば処理が一瞬で終わってしまうため、ステータスバーの効果を実行してもらうためにWaitメソッドを使用しています。Waitメソッドはマクロの実行を1秒間中断するメソッドです。

処置が終わった後には文字列を消してステータスバーの表示内容をExcelの既定値に戻し、最後にステータスバーの状態をマクロの実行する前の状態に戻しています。