5.Excel 2007 以降のリボンを操作する |
1.リボンを最小化表示する/リボンを元の状態(表示)に戻す 2.リボン(メニュー全て)を非表示にする/リボン(メニュー全て)を表示にする 3.ユーザーが画面操作できないように設定する 4. 5. 6. |
下記プログラムコードに関する補足・注意事項 動作確認:Windows Vista・Windows 7 (32bit) / VB6.0(SP6) Excel 2010 Option :[Option Explicit] 参照設定:Microsoft Excel *.* ObjectLibrary / Microsoft Scripting Runtime 参照設定方法参照 使用 API: その他 :ツール→オプション→全般→エラートラップで[エラー発生時に中断]以外にチェックを入れておいて下さい。 :Excel の起動及び終了は、[VBからエクセルを起動・終了する]を使ってサンプルをテストして下さい。 |
1.リボンを最小化表示する/リボンを元の状態(表示)に戻す |
コントロールID [MinimizeRibbon]は、Excel 2010 からの機能なので、Excel 2007 では使用できません。 Private Sub Command3_Click() 'リボンの表示(元に戻す) If Val(xlApp.Version) >= 14 Then If xlApp.CommandBars.GetPressedMso("MinimizeRibbon") = True Then xlApp.CommandBars.ExecuteMso "MinimizeRibbon" End If End If End Sub Private Sub Command4_Click() 'リボンの最小化 If Val(xlApp.Version) >= 14 Then If xlApp.CommandBars.GetPressedMso("MinimizeRibbon") = False Then xlApp.CommandBars.ExecuteMso "MinimizeRibbon" End If End If End Sub |
2.リボン(メニュー全て)を非表示にする/リボン(メニュー全て)を表示にする |
こちらは、Excel 2007/Excel 2010 の両方で使用できますが、メニューの全てが非表示なります。 Private Sub Command5_Click() 'リボンの非表示 If Val(xlApp.Version) >= 12 Then xlApp.ExecuteExcel4Macro "SHOW.TOOLBAR(""Ribbon"",False)" End If End Sub Private Sub Command6_Click() 'リボンの表示(元に戻す) If Val(xlApp.Version) >= 12 Then xlApp.ExecuteExcel4Macro "SHOW.TOOLBAR(""Ribbon"",True)" End If End Sub |
3.ユーザーが画面操作できないように設定する |
よく閉じるボタンや最大化ボタンの取り外しをやっておられるのを見かけますが、私が試した限りでは、Excel 2010 では、Excel を起動したアプリからは、[最大化/元に戻す]ボタンを取り外す事ができませんでした。(通常の方法では) それよりも、下記の1行を加えてユーザーからの全ての操作をできないようにした方が簡単で確実です。 まずは、下記を試してみて、それでも不満があるのでしたら、他の方法を挑戦して見て下さい。 xlApp.Interactive = False 'ユーザーからの操作を受け付けないようにします。 必ず、作業が完了したら元に戻して(True)おいて下さい。 Interactive プロパティ True の場合、Excel が対話モードになります。既定値は True です。値の取得および設定が可能です。 このプロパティが False に設定されると、キーボードやマウスからの入力を受け付けなくなり、全てのユーザーからの操作を受け付けません。 ただし、表示されたダイアログボックスへの入力は可能です。又は、VB6.0 からのプログラムからの入力やマクロ等の動作は可能です。 |
4. |
5. |
6. |
検索キーワード及びサンプルコードの別名(機能名) |
Excel 2007 Excel 2010 リボン メニュー リボンの最小化 メニューの非表示 クイックアクセスツールバー ツールバー ユーザーからの操作されたくない ユーザーからの操作を禁止する |