ステータスバーに進捗状況等の情報を表示させる(Applicationオブジェクト、SysCmd メソッド)

AccessVBA開発

<Excel VBA>
Application.StatusBar = “こんな感じで表示されます。”

<Access VBA>
Application.CommandBars(“Status Bar”).Visible = True ‘ ステータスバーを表示する。
Application.CommandBars(“Status Bar”).Visible = False ‘ ステータスバーを非表示にする。
SysCmd メソッド

【表示文字列+インジケータを表示】

・Access画面の右下に指定した表示文字列+インジケータを表示してくれます。
SysCmd acSysCmdInitMeter, “表示文字列”, 最大値

・指定された値でインジケータの進捗具合を更新します。
SysCmd acSysCmdUpdateMeter, 最大値を超えない任意の値

・インジケータが不要になったら、消去させます。
SysCmd acSysCmdClearStatus

※進捗状況は、acSysCmdUpdateMeter で指定した値を使って
インジケーターに表示する割合を計算して再表示してくれます。
例えば、最大値が 100 のときに 50 を指定すると、インジケーターが半分まで進みます。
最大値を超えた値を指定するとインジケータが正しく表示されません。
※複数回呼び出し可です。

【インジケータは、不要で文字列だけ表示させたい場合】

・Access画面のステータスバーに表示を行う
SysCmd acSysCmdSetStatus , 表示する文字列

・ステータスバーの表示の消去
SysCmd acSysCmdSetStatus , “ ”
   または、
    SysCmd acSysCmdClearStatus

※指定できる文字数は、いずれも約 80 文字です。
表示する文字がステータスバーよりも長いと、
SysCmd メソッドはステータスバーに収まるように文字を切り捨てます。

https://docs.microsoft.com/ja-jp/office/vba/api/access.application
https://docs.microsoft.com/ja-jp/office/vba/api/access.application.syscmd
https://www.hiskip.com/technique/vba/accessvba/974.html

タイトルとURLをコピーしました