同じメソッド内でも動作状況を出力させたい時ありますよね
そんなときにどこでも使える配列を順番に呼び出して出力すればいいって思うのですが
グローバル変数はあんまり置きたくないなって思う方にオススメのやり方です
Option Explicit '環境office365で確認 'Constで配列を宣言するとエラーになる、調べた所宣言できないので↓の形のステータス情報を表示させる Const Arr_status As String = "1/5 : 起動ボタン," & _ "2/5 : 動作確認中," & _ "3/5 : 実行中," & _ "4/5 : 記録中," & _ "5/5 : 完了" Sub Main() ViewStatus (Array()) '何もない配列を渡して初期化する ViewStatus (Split(Arr_status, ",")) 'Splitでカンマの位置で配列に変換する ViewStatus (Split(Arr_status, ",")) '必要回数+1回呼び出してあげる ViewStatus (Split(Arr_status, ",")) ViewStatus (Split(Arr_status, ",")) ViewStatus (Split(Arr_status, ",")) ViewStatus (Split(Arr_status, ",")) '最後に非表示になる End Sub 'Application.StatusBar = 表示させたい文字 'Application.StatusBar = Falseで非表示 Sub ViewStatus(arr As Variant) If UBound(arr) = -1 Then'配列なしの場合 Application.StatusBar = False Exit Sub End If Dim i As Long Dim strNow As String: strNow = Application.StatusBar For i = LBound(arr) To UBound(arr) If Application.StatusBar = False Then Application.StatusBar = arr(i) ElseIf i = UBound(arr) Then Application.StatusBar = False ElseIf Application.StatusBar = arr(i) Then Application.StatusBar = arr(i + 1) End If If strNow <> Application.StatusBar Then Exit Sub End If Next i End Sub
コメントを残す