👆

【Excel VBA】ユーザーに最低限の操作しかさせない

に公開

概要

Excelを開いた時にツールバーなどを非表示にしたり、画面をガードすることでユーザーに最低限の操作しかさせないようにします。

非表示&ガードする

はじめに

Excelを開いた時に実行されるようにするため、この中に書きます。

Private Sub Workbook_Open()
End Sub

 

画面を最大化する

ActiveWindow.WindowState = xlMaximized

 

リボンを非表示にする

Application.ExecuteExcel4Macro "SHOW.TOOLBAR(""Ribbon"", False)"

 

シートのタブを非表示にする

ActiveWindow.DisplayWorkbookTabs = False

 

シートをプロテクトする

ThisWordbook.Sheets("プロテクトしたいシート名").Protect

 

シートを非表示にする

ThisWorkbook.Sheets("非表示にしたいシート名").Visible = False

 

数式バーを非表示にする

Application.DisplayFormulaBar = False

 

グリッドラインを非表示にする

ActiveWindow.DisplayGridlines = False

 

列番号&行番号を非表示にする

ActiveWindow.DisplayHeadings = False

 

オプション

非表示&ガードする際につけてもいい処理です。

画面の更新を制御する

Application.ScreenUpdating = False

 

自動計算を制御する

Application.Calculation = xlManual

再表示&ガードを解除する

FalseにしたものをTrueにしていけばいいです。
コーディングする順番はFalseにしていった時と同じ順番で書けば大丈夫です。
再表示させるにはどこかのセルにダブルクリック隠しオプションを指定するのがおすすめです。

ダブルクリック隠しオプション

Private Sub Workbook_SheetBeforeDoubleClick(ByVal Sh As Object, ByVal Target As Range, Cancel As Boolean)

    If Sh.Application.ActiveSheet.Name = "隠しコマンドをいれるシート名" And Target.Column = 列番号 And Target.Row = 行番号 Then
    End If

End Sub

Discussion