• ベストアンサー
※ ChatGPTを利用し、要約された質問です(原文:ツールバーを非表示にするマクロ)

ツールバーを非表示にするマクロ

このQ&Aのポイント
  • あるHPで以下のコードを見つけて試してみました。起動時に表示しているツールバーは消えるのですが、ファイルを閉じた場合に別のツールバーが開いてしまいます。どこかコードがおかしいのでしょうか?当方EXCEL2000です。
  • ツールバーを非表示にするマクロを試してみましたが、ファイルを閉じた場合に別のツールバーが開いてしまいます。どこが問題なのでしょうか?EXCEL2000を使用しています。
  • あるHPで見つけたツールバーを非表示にするマクロを試してみましたが、起動時に表示しているツールバーは消えるのに、ファイルを閉じた場合に別のツールバーが開いてしまいます。問題の原因は何でしょうか?EXCEL2000を使用しています。

質問者が選んだベストアンサー

  • ベストアンサー
  • bonaron
  • ベストアンサー率64% (482/745)
回答No.1

コードが間違っていると思われます。 Sub Test() Dim i, p(50), ToolCount With Application MsgBox "ツールバーを非表示にします。" 'カウンター変数の初期化 ToolCount = 0 '<------ For i = .CommandBars.Count To 2 Step -1 If .CommandBars(i).Visible = True Then ' カウンター変数1UP ToolCount = ToolCount + 1 '<--- この位置 '表示されていたら配列pにインデックスを書き込んで 'そのコマンドバーを非表示にする。 p(ToolCount) = i .CommandBars(i).Visible = False End If Next i MsgBox "ツールバーを元に戻します。" For i = 1 To ToolCount '配列pに書き込まれたインデックスを読み込んで 'そのコマンドバーを表示する。 .CommandBars(p(i)).Visible = True '<--- Next i End With End Sub

dai-papa
質問者

お礼

完璧です。ありがとうござました。

全文を見る
すると、全ての回答が全文表示されます。

関連するQ&A

  • 再質問:ツールバーを非表示にするマクロ

    bonaronさんありがとうございます。 以下のコードで、ツールバーの非表示→表示がOKになったのですが、ファイル起動時にツールバーを非表示にして、ファイル終了時にツールバーを元に戻したいと思っています。よって、以下のコードを非表示にするコード、元にもどすコードの二つに分けたいのですができません。 非表示にするためには、 .CommandBars(i).Visible = False End If Next i End With End Sub で閉じればできるのですが、元に戻すコードの方はどのように書いたら良いのでしょうか?ご教授願います。 ////////////////////////////////////////////// Sub Test() Dim i, p(50), ToolCount With Application MsgBox "ツールバーを非表示にします。" 'カウンター変数の初期化 ToolCount = 0 '<------ For i = .CommandBars.Count To 2 Step -1 If .CommandBars(i).Visible = True Then ' カウンター変数1UP ToolCount = ToolCount + 1 '<--- この位置 '表示されていたら配列pにインデックスを書き込んで 'そのコマンドバーを非表示にする。 p(ToolCount) = i .CommandBars(i).Visible = False End If Next i MsgBox "ツールバーを元に戻します。" For i = 1 To ToolCount '配列pに書き込まれたインデックスを読み込んで 'そのコマンドバーを表示する。 .CommandBars(p(i)).Visible = True '<--- Next i End With End Sub

  • EXCEL ツールバーを非表示にするには(VBA)

    EXCELを開いた時、ツールバー(standerd)が見えないように(非表示)したいのですが、わかりません。 VBAで下記のように記述するとエラーが返ります。 Private Sub Workbook_Open() CommandBars(3).Visible = False End Sub 教えて頂けると幸いです。

  • エクセル2007にコマンドバーはないのですか?

    Sub コマンドバー作成() Dim myBar As CommandBar Set myBar = CommandBars.Add(Name:="test") myBar.Visible = True End Sub これをしても何も起きないのですが、2007はコマンドバーがないのでしょうか? 2003の時はコマンドバーが作成されました。

  • エクセル2007で自前のツールバーを作る方法

    エクセル2000です。 以下のマクロで自前の新しいツールバーが作れ、作動します。 ところがエクセル2007ではうんともすんとも言ってくれません。 エクセル2007で使う場合はどのようにしたらよいでしょうか? ユーザーフォームで似たようなものを作る方法はわかるのですが、できれば以下の方法を使いたいのです。 Sub 三択メニュー() On Error Resume Next Application.CommandBars("選択します").Delete On Error GoTo 0 Application.CommandBars.Add Name:="選択します", Position:=msoBarFloating With Application.CommandBars("選択します") .Visible = True .Controls.Add Type:=msoControlButton With .Controls(1) .Style = msoButtonCaption .Caption = "⇒メニュー1 " .OnAction = "Msg_1" End With .Controls.Add Type:=msoControlButton With .Controls(2) .Style = msoButtonCaption .Caption = "⇒メニュー2 " .OnAction = "Msg_2" End With .Controls.Add Type:=msoControlButton With .Controls(3) .Style = msoButtonCaption .Caption = "⇒メニュー3 " .OnAction = "Msg_3" End With End With End Sub Sub Msg_1() Application.CommandBars("選択します").Delete MsgBox "追加コマンド1を処理しました。" End Sub Sub Msg_2() Application.CommandBars("選択します").Delete MsgBox "追加コマンド2を処理しました。" End Sub Sub Msg_3() Application.CommandBars("選択します").Delete MsgBox "追加コマンド3を処理しました。" End Sub

  • ユーザー設定ツールバーの表示位置

    以下のコードでブックに登録したツールバー 「設定1」のみを表示することに成功しましたが なぜかツールバーがシートの下部(シートタブの下)に 表示されてしまいます。 上に移動して保存しても、再度開くと下に表示されます。 上部(もしくは左部)に表示させたい場合はどのようにしたら良いのでしょうか?よろしくお願いします。 For Each MyCommandBar In CommandBars MyCommandBar.Enabled = False Next '数式バーを非表示 'Application.DisplayFormulaBar = False CommandBars("設定1").Enabled = True CommandBars("設定1").Visible = True

  • VBA 保存方法を教えて下さい

    Private Sub Workbook_BeforeClose(Cancel As Boolean) If MsgBox("×ボタンは使用できません。" & vbCr & _ "よろしいですか?", vbInformation + vbOKOnly) = vbOK Then Cancel = True End If End Sub 上記の様にEXCELワークブックに記述しましたが、 別に設置した「保存終了ボタン」で終了できなくなってしまいました。 Workbook_BeforeClose が邪魔しているようです。 どうすれば解決できるでしょうか? 「保存終了ボタン」に記述しているコードは下記です。 Sub 保存終了() ActiveWorkbook.Save CommandBars("Worksheet Menu Bar").Enabled = True Application.CommandBars("Standard").Visible = True Application.CommandBars("Formatting").Visible = True Application.CommandBars("Drawing").Visible = True With Application .DisplayFormulaBar = True .ShowWindowsInTaskbar = True End With Application.WindowState = xlMaximized Application.Quit MsgBox "終了します" End Sub 宜しくお願いします。

  • ユーザー設定ツールバーのみ表示したい

    ファイルを起動したときに、 ブックに添付したユーザー設定ツールバーのみを表示させ、終了時にファイル起動前のツールバー設定に戻すにはどうしたら良いのでしょうか? 現在 Dim MyCommandBar As CommandBar For Each MyCommandBar In CommandBars MyCommandBar.Enabled = False Next のコードで標準ツールバーを全て表示しないようにしているのですが、このコードではブックに添付したユーザー設定ツールバーをVisible=Trueにしても表示できないようです。 困っています、よろしくお願いします。

  • Excel VBAでツールバーにマクロを登録したい

    自作のツールバーをブックに添付し、 スタートアップにマクロを書いたブックを保存し(起動して非表示にしてあります)、 そのマクロをツールバーの各ボタンに登録しようとしています。 下記のようなコードを書いたのですが、ツールバーに作成したボタンにはマクロが登録できるのですが、 サブメニュー内のボタンには登録できません。 Dim MyWB, NBar MyWB = "stampB.xls" NBar = "stampB1.0" For i = 1 To Application.CommandBars(NBar).Controls.Count  'ボタンのキャプションと同じ名前のマクロを登録  With Application.CommandBars(NBar).Controls.Item(i)   .OnAction = MyWB & "!" & .Caption  End With Next i これをどのように改良したら、サブメニュー内のボタンにもマクロを登録できるようになりますでしょうか? ご存知の方どうぞよろしくお願いします。

  • エクセル2003 自作ツールバー(コマンドバー)の選択戻り値取得方法

    ツールバーのショートカットを自作して 入力を楽にしようと考えております。 ツールバーには、直接入力するリストを表示させ そのリストの中から選んで、セルに記入させると 言うマクロを作ろうとしているのですが、 選択された、リストの戻り値を取れないため、 苦戦しております。 戻り値の取得方法とかあるのでしょうか? 宜しくお願いいたします。 コードを以下に記します。 Option Explicit Option Base 1 Dim myCB As CommandBar Dim myCBCtrl As CommandBarButton Dim myData() As String Dim n As Integer, i As Integer ---------------------------------------------------------------- Sub AddCmdBarBtn() Call 配列 On Error Resume Next CommandBars("MyMacro2").Delete Set myCB = Application.CommandBars.Add(Name:="MyMacro2", _ Position:=msoBarPopup, Temporary:=True) For i = 1 To 5 Set myCBCtrl = myCB.Controls.Add(Type:=msoControlButton) With myCBCtrl .Caption = myData(i) .OnAction = "ツールバーマクロ" End With Next i myCB.ShowPopup End Sub ---------------------------------------------------------------- Private Sub ツールバーマクロ() ActiveCell.Value = myCB.Controls.Item.Caption<<<此処を上手く処理できません(泣) End Sub ---------------------------------------------------------------- Private Sub 配列() ReDim myData(5) For n = 1 To 5 myData(n) = "名前" & n Next n End Sub ---------------------------------------------------------------- このマクロを右クリックイベントで使って行きたいと考えている のですが。

  • Word ツールバーの削除

    下記の様なマクロを組み込みました。 しかしこのマクロ自体不必要になったので削除したのですがツール→ユーザー設定→ツールバーにはツールバー及びボタンが残ってしまいました。 ツール→ユーザー設定→ツールバーで削除をすれば消えますが新たにWordを立ち上げると消えていません。 マクロでCommandBars("Indent").Deleteともしましたが結果は同じでした。 どうすれば消えるのでしょうか?どなたかご教授願います。 Sub auto_open() Dim myBar As CommandBar, myButton As CommandBarButton '新しいMenuBarを追加 Set myBar = CommandBars.Add 'MenuBarに名前を設定 myBar.Visible = True myBar.Name = "Indent" myBar.Position = msoBarTop '新しいボタンを追加 Set myButton = myBar.Controls.Add With myButton .Caption = "[チュックインデント]" .Style = msoButtonCaption End With 'ボタンが押下時実行マクロ設定 myButton.OnAction = "checkIndent" myBar.Visible = True End Sub Sub auto_close()

専門家に質問してみよう