次の方法で共有

右クリックメニューが変更できない

Anonymous
2012-04-09T05:05:28+00:00

下記のマクロを実行してもセルの右クリックコンテクストメニューが全く変わりません。

Sub Auto_Open()

 Application.CommandBars(“Cell”).Enabled = False

End Sub

Macroのセキュリティは最低にセットしています。

また、Excel2003,2007(別のPC)では問題なく動いていました。

何が悪いのでしょうか?

Microsoft 365 と Office | Excel | 家庭向け | Windows

ロックされた質問。 この質問は、Microsoft サポート コミュニティから移行されました。 役に立つかどうかに投票することはできますが、コメントの追加、質問への返信やフォローはできません。

0 件のコメント コメントはありません

質問作成者が受け入れた回答

Anonymous
2012-04-10T05:22:04+00:00

先の方の投稿のコードは、配下のコントロールが多い方をということでしょうか?

コマンドバーのIDは無いと思い込んでました。そんなはずはないと思ったんですが、なぜか非表示分を表示しなかったな・・・・・

なお、IDは私の環境では2003~2010共通で通常分が424で改ページプレビューが427のようです。

これが正解でしょうね。

この回答は役に立ちましたか?

0 件のコメント コメントはありません

質問作成者が受け入れた回答

Anonymous
2012-04-10T04:25:12+00:00

こんにちは。

「ドロップダウン リストから選択(&K)」のように片方にしかないコマンドを元に、「Application.CommandBars.FindControl(ID:=1966).Parent.Enabled = False」のようにすることもできますが、普通にIDで判断してはいかがでしょうか?

Public Sub Sample()

  Dim c As Office.CommandBar

  For Each c In Application.CommandBars

    If LCase$(c.Name) = "cell" And c.ID = 424 Then

      c.Enabled = Not c.Enabled

      Exit For

    End If

  Next

End Sub

バージョンによってIDが変更されているかもしれませんが、私の方では確認していないです。

この回答は役に立ちましたか?

0 件のコメント コメントはありません

12 件の追加の回答

並べ替え方法: 最も役に立つ
  1. Anonymous
    2012-04-10T02:59:33+00:00

    みなさんありがとうございます。

    > If I = 2 Then

    理由は良く分かりませんが、環境によって、順番が違うみたいですから、区別はできないのでは?

    そうですね。ここさえ区別できたらいいのですが...

    かきでいけるような気がします

    Option Explicit

    Public CellContextMenu As CommandBar

    Sub FindCellMenu()

    Dim Bars As CommandBars, i As Integer, item, NumControls As Integer

    NumControls = 0

    Set Bars = Application.CommandBars

    For Each item In Bars

        If item.Name = "Cell" Then

            If item.Controls.Count > NumControls Then

                 Set CellContextMenu = item

                 NumControls = item.Controls.Count

            End If

        End If

    Next

    End Sub

    この回答は役に立ちましたか?

    1 人がこの回答が役に立ったと思いました。
    0 件のコメント コメントはありません
  2. Anonymous
    2012-04-10T00:54:44+00:00

    >1回目のCellは表示が「標準」と「ページレイアウト」表示の時の右クリックメニューで、2回目のCellは「改ページプレビュー」の時のものです。

    なるほど、片方は改ページプレビューですか。

    >   If I = 2 Then

    理由は良く分かりませんが、環境によって、順番が違うみたいですから、区別はできないのでは?

    この回答は役に立ちましたか?

    1 人がこの回答が役に立ったと思いました。
    0 件のコメント コメントはありません
  3. Anonymous
    2012-04-09T05:31:22+00:00

    Vista、Win7(共にX86)+Office2010(X86)で問題なく機能しました。

    まず、AutoOpenが機能していないか、CommandBarへのプロパティ設定が効いていないのか判別するために、MsgBoxを入れて見て下さい。

    いずれにしろ原因はさっぱりわかりませんので、対症療法ですが、Aut_OPenではなく、WorkbookOpenイベントを利用されたらいかがでしょうか?

    元々Auto_Openは多分Excel95時代の遺物ですので、私は全く使っておりません。

    この回答は役に立ちましたか?

    0 件のコメント コメントはありません