VBAのリボンの非表示等の画面設定方法

VBA
スポンサーリンク

今回は、VBAでシステムを構築する際に、仕上げとなる画面設定について紹介します。

スポンサーリンク
スポンサーリンク

画面設定とは?

画面設定とは、VBAでシステムを作ってユーザーに渡す際に、ユーザーが自由にシートや列行を追加・削除したり、リボンを触られたりしないように設定しておくことです。

具体的には

  • リボンを非表示にする。
  • ウィンドウを非表示にする。
  • 数式バー・ステータスバーを非表示にする。

今回はこれらについて紹介しますが、それ以外に、上記3つのプログラムをブックを開いたタイミングで動かす方法についても紹介します。

スポンサーリンク

リボンを非表示・再表示

Sub リボン非表示()
    Application.ExecuteExcel4Macro "show.toolbar(""ribbon"",false)"
End Sub
Sub リボン再表示()
    Application.ExecuteExcel4Macro "show.toolbar(""ribbon"",true)"
End Sub

ExecuteExcel4Macroメソッドを使うとExcel4.0マクロ関数を実行できます。

構文:Applicationオブジェクト.ExecuteExcel4Macro(String)

Show.Toolbar関数※Excel4.0マクロ関数

構文:show.toolbar(""ribbon"",設定値)

設定値にFalseを指定するとリボンが非表示に、Trueを指定するとリボンが表示します。

スポンサーリンク

ウィンドウを非表示・再表示

Sub ウィンドウ非表示()
    Dim st As Worksheet
    For Each st In Worksheets  'For Eachですべてのワークシートに設定します。
        If st.Visible = True Then
            st.Select
            With ActiveWindow
                .DisplayGridlines = False  '枠線を非表示
                .DisplayHeadings = False  '行列番号を非表示
            End With
        End If
    Next
    ActiveWindow.DisplayWorkbookTabs = False 'シート見出しの非表示
End Sub
Sub ウィンドウ再表示()
    Dim st As Worksheet
    For Each st In Worksheets 'For Eachですべてのワークシートに設定します。
        If st.Visible = True Then
           st.Select
            st.Protect Mypass
            With ActiveWindow
                .DisplayGridlines = True '枠線を表示
                .DisplayHeadings = True  '行列番号を表示
            End With
        End If
    Next
    Sheets("メインメニュー").Select
    ActiveWindow.DisplayWorkbookTabs = True 'シート見出しの表示
End Sub
構文:Windowオブジェクト.DisplayGridlines

ワークシートの枠線を設定できます。Trueを指定すると枠線は表示、Falseを指定すると枠線は非表示になります。

構文:Windowオブジェクト.DisplayHeadings

ワークシートの行列番号を設定できます。Trueを指定すると行列番号は表示、Falseを指定すると行列番号は非表示になります。

構文:Windowオブジェクト.DisplayWorkbookTabs

シート見出しを設定できます。Trueを指定するとシート見出しは表示、Falseを指定するシート見出しは非表示になります。

スポンサーリンク

数式バー・ステータスバーを非表示・再表示

Sub 数式バーステータスバー非表示()
    With Application
        .DisplayFormulaBar = False '数式バーの非表示
        .DisplayStatusBar = False 'ステータスバーの非表示
    End With
End Sub
Sub 数式バーステータスバー再表示()
    With Application
        .DisplayFormulaBar = True '数式バーの表示
        .DisplayStatusBar = True 'ステータスバーの表示
    End With
End Sub
構文:Applicationオブジェクト.DisplayFormulaBar

数式バーを設定できます。Trueを指定すると数式バーは表示、Falseを指定すると数式バーは非表示になります。

構文:Applicationオブジェクト.DisplayStatusBar = True

ステータスバーを設定できます。Trueを指定するとステータスバーは表示、Falseを指定するとステータスバーは非表示になります。

スポンサーリンク

ブックが開くと同時にプログラムを動かす

ブックが開いたタイミングで上記3つのプログラムを動かしたい場合はイベントプロシージャを使います。

「プロジェクトエクスプローラー」「ThisWorkbook」をダブルクリックします。

オブジェクトボックスWorkbookにして、Workbook_Openプロシージャに下記のコードを記述して、それぞれのプロシージャを呼びだします。

※Workbook_Openプロシージャはブックの起動時に動き出すプロシージャです。

Private Sub Workbook_Open()
    Application.ScreenUpdating = False
    リボン非表示
    ウィンドウ非表示
    数式バーステータスバー非表示
    Application.ScreenUpdating = True
End Sub
スポンサーリンク

参考書籍

スポンサーリンク

まとめ

今回はシステム構築時の画面設定について紹介しました。

次回はシステムの終了時に使えるプロシージャについて紹介します。

VBAでbookを閉じる処理(システム終了)
通常のExcelの終了操作ではなく、「システム終了」ボタン(システム終了のプロシージャ)でExcelを閉じる処理を紹介します。

コメント

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