👆
【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