- ベストアンサー
Excel2007互換モードでの右クリックロジック
- Excel2007互換モードでの右クリック操作についての現象についてご質問です。
- WindowsXP & Excel2007の組み合わせで特定のお客様だけ右クリック操作が標準のものが表示されてしまう現象が発生しています。
- 他のお客様ではこのような現象は発生していないため、何が原因なのかをご存知の方がいらっしゃれば教えてください。
- みんなの回答 (4)
- 専門家の回答
質問者が選んだベストアンサー
>リセットしますと、今度は右クリックで何も表示されなくなりました。 Sub migi_Rest() Dim cb As CommandBar For Each cb In Application.CommandBars If cb.Name = "Cell" Then cb.Reset End If Next End Sub リセットもLoop処理してください。 おそらく、Index 12 のCommandBarが標準のもので Index 11 は改ページプレビュー用の"Cell"なのでしょう。
その他の回答 (3)
- end-u
- ベストアンサー率79% (496/625)
>id:11 ですか。 2007のデフォルトではid11はCommandBars("Formatting")ですよね。 どうも標準シート右クリックメニューのCommandBars("cell")とは別物のようです。 Sub test() Dim cnt As Long Dim i As Long With Application.CommandBars cnt = .Count ReDim v(0 To cnt, 1 To 4) v(0, 1) = "index" v(0, 2) = "name" v(0, 3) = "namelocal" v(0, 4) = "type" For i = 1 To cnt With .Item(i) v(i, 1) = .Index v(i, 2) = .Name v(i, 3) = .NameLocal v(i, 4) = .Type End With Next End With Workbooks.Add(xlWBATWorksheet).Sheets(1).Range("A1:D1").Resize(cnt + 1).Value = v End Sub ..こんな感じのでCommandBars列挙して確認したい気持ちもありますけど、 確実な対処方法として、#1で書いたようにLoop&名前判定で処理すれば良いと思います。 Sub migi_addTag() Dim cb As CommandBar Dim icbc As CommandBarControl For Each cb In Application.CommandBars With cb Select Case .Name Case "Cell" .Reset For Each icbc In .Controls icbc.Delete Next With .Controls.Add(Type:=msoControlButton, Temporary:=True) .Caption = "Message!" .OnAction = "aaa" .Tag = "aaa" End With End Select End With Next End Sub
お礼
有難う御座います。結果がでました。 migi_addTagを実行しますと、「Message!」と表示され、ちゃんと稼動しました。 ところが、現象が変わってきました。 リセットしますと、今度は右クリックで何も表示されなくなりました。 これまでこのサイトに載せたロジックをいろいろ試してみましたが変化ありません。 一番疑わしいのは、PDFMakerだと思うのですが、ご利用されていると言う事で削除が出来ません。 最新バージョンにアップデートしてみましたが、同じです。 理解できないのは、ご利用されているACROBATは9.3.2なのですが、9.4.2のアップデートをインストールしようとするとバージョンが違うと怒られました。 ADOBEはこんな細かいバージョンまで区別しているのでしょうか。 まあ、それは良いとしまして、以下が結果です。 index name namelocal type 1 Worksheet Menu Bar ワークシート メニュー バー 1 2 Chart Menu Bar グラフ メニュー バー 1 3 WordArt ワードアート 0 4 Picture 図 0 5 Drawing Canvas 描画キャンバス 0 6 Organization Chart 組織図 0 7 Diagram 図表 0 8 Ink Drawing and Writing インク描画と書き込み 0 9 Ink Annotations インク注釈 0 10 Circular Reference 循環参照 0 11 Cell セル 2 12 Cell セル 2 13 Column 列 2 14 Standard 標準 0 15 Formatting 書式設定 0 16 PivotTable ピボットテーブル 0 17 Chart グラフ 0 18 Reviewing チェック/コメント 0 19 Forms フォーム 0 20 Stop Recording 記録終了 0 21 External Data 外部データ 0 22 Formula Auditing ワークシート分析 0 23 Full Screen 全画面表示 0 24 PivotChart Menu ピボットグラフ メニュー 2 25 Visual Basic Visual Basic 0 26 Web Web 0 27 Control Toolbox コントロール ツールボックス 0 28 Exit Design Mode デザイン モードの終了 0 29 Refresh 最新の情報に更新 0 30 Watch Window ウォッチ ウィンドウ 0 31 PivotTable Field List ピボットテーブルのフィールド リスト 0 32 PivotChart Filter Pane ピボットグラフ フィルタ ウィンドウ 0 33 Borders 罫線 0 34 Protection 保護 0 35 Text To Speech 読み上げ 0 36 List リスト 0 37 Compare Side by Side 並べて比較 0 38 Workbook tabs ブック見出し 2 39 Row 行 2 40 Column 列 2 41 Row 行 2 42 Ply Ply 2 43 XLM Cell XLM セル 2 44 Document ドキュメント 2 45 Desktop デスクトップ 2 46 Nondefault Drag and Drop ドラッグ アンド ドロップ (既定以外) 2 47 AutoFill オートフィル 2 48 Button ボタン 2 49 Dialog ダイアログ 2 50 Series 系列 2 51 Plot Area プロット エリア 2 52 Floor and Walls 床面と壁面 2 53 Trendline 近似曲線 2 54 Chart グラフ 2 55 Format Data Series データ系列の書式設定 2 56 Format Axis 軸の書式設定 2 57 Format Legend Entry 凡例項目の書式設定 2 58 Formula Bar 数式バー 2 59 PivotTable Context Menu ピボットテーブル ショートカット メニュー 2 60 Query クエリ 2 61 Query Layout クエリのレイアウト 2 62 AutoCalculate 選択範囲計算 2 63 Object/Plot オブジェクト/プロット エリア 2 64 Title Bar (Charting) タイトル バー (グラフ作成) 2 65 Layout レイアウト 2
補足
66 Pivot Chart Popup ピボットグラフのポップアップ 2 67 Phonetic Information ふりがな 2 68 Auto Sum オート SUM 2 69 Paste Special Dropdown 形式を選択して貼り付けオプションのドロップダウン 2 70 Find Format 書式の検索 2 71 Replace Format 書式の置換 2 72 List Range Popup リスト範囲ポップアップ 2 73 List Range Layout Popup リスト範囲レイアウト ポップアップ 2 74 XML Range Popup XML 範囲ポップアップ 2 75 List Range Layout Popup リスト範囲レイアウト ポップアップ 2 76 Nil Nil 2 77 Filter Names フィルタ名 2 78 Excel Previewer Excel プレビューア 2 79 &Legacy Keyboard Support 前バージョンのキーボード ショートカット キーのサポート(&L) 1 80 Drawing 図形描画 0 81 Shadow Settings 影の設定 0 82 3-D Settings 3-D の設定 0 83 Borders 罫線 0 84 Borders 罫線 0 85 Draw Border 罫線の作成 0 86 Chart Type グラフの種類 0 87 Pattern パターン 0 88 Font Color フォントの色 0 89 Fill Color 塗りつぶしの色 0 90 Line Color 線の色 0 91 Drawing and Writing Pens 描画と書き込みペン 0 92 Annotation Pens インク注釈ペン 0 93 Drawing and Writing Pens 描画と書き込みペン 0 94 Annotation Pens インク注釈ペン 0 95 Order 順序 0 96 Nudge 微調整 0 97 Align or Distribute 配置/整列 0 98 Rotate or Flip 回転/反転 0 99 Lines 線 0 100 Connectors コネクタ 0 101 AutoShapes オートシェイプ 0 102 Callouts 吹き出し 0 103 Flowchart フローチャート 0 104 Block Arrows ブロック矢印 0 105 Stars & Banners 星とリボン 0 106 Basic Shapes 基本図形 0 107 Insert Shape 図形の挿入 0 108 Shapes 図形 2 109 Inactive Chart アクティブでないグラフ 2 110 Excel Control Excel コントロール 2 111 Curve 曲線 2 112 Curve Node 結節点を曲げる 2 113 Curve Segment 線分を曲げる 2 114 Pictures Context Menu 図ショートカット メニュー 2 115 OLE Object OLE オブジェクト 2 116 ActiveX Control ActiveX コントロール 2 117 WordArt Context Menu ワードアート ショートカット メニュー 2 118 Rotate Mode 回転モード 2 119 Connector コネクタ 2 120 Script Anchor Popup スクリプト アンカーのポップアップ 2 121 Canvas Popup Canvas Popup 2 122 Organization Chart Popup Organization Chart Popup 2 123 Diagram ダイアグラム 2 124 Layout レイアウト 2 125 Select 選択 2 126 Task Pane 作業ウィンドウ 0 127 0 128 Property Editor プロパティ エディタ 0 129 Office Clipboard Office クリップボード 0 130 XML Source XML ソース 0 131 Research リサーチ 0 132 XML Document XML ドキュメント 0 133 Signatures 署名 0 134 Document Actions ドキュメント アクション 0 135 Clip Art クリップ アート 0
- end-u
- ベストアンサー率79% (496/625)
>でも、今回の問題は標準の表示で発生しています。 ぅーん..そうですか。 別にエラーが出てるわけではないのですよね。 そういった事態には遭遇した事ないですし、あまり聞いた事もありません.. #ご存知の方のレスを待って頂いたほうが良いかも。 手探り状態で原因を探るとすれば、 その現象が出るお客様側で、簡略化したコードのテストをしてもらったほうが良いです。 例えば Sub cbTest() Dim icbc As CommandBarControl With Application.CommandBars("cell") MsgBox "id: " & .Index & vbLf & "protection: " & .Protection .Reset For Each icbc In .Controls icbc.Delete Next icbc .Controls.Add(Type:=msoControlButton, Temporary:=True).Caption = "test" .ShowPopup End With End Sub これでどんなメッセージが出るか、 一連の流れで ShowPopup まで実行しますから、どんな結果が表示されるか、 など対話方式でチェックしていくしかないような。 #まずは質問者様側の2007の環境でテストしてみたほうが良いです。 テスト後には元に戻す処理も必要です。 Sub cbReset() Application.CommandBars("cell").Reset End Sub
お礼
有難う御座います。 近々に試してみます。
補足
お礼 有難う御座います。 試してみましたところ、 id:11 Protection:22 と出ました。 その後、「test」と表示されました。 気になったのですが、先方のExcelに、「ホーム」「挿入」・・・の並びに、 「Acrobat」というものが追加されていました。 また、アドインを見ますと、「PeportTools」というものがありました。 何か関係あるのでしょうか? P.S. Excel12.xlbが悪さしているのではと思い、検索してみましたが、見つかりませんでした。
- end-u
- ベストアンサー率79% (496/625)
2007に限らず、ある作業環境化ではそのマクロは機能しません。 「改ページプレビュー」で作業している時です。 Sub test() Dim cb As CommandBar For Each cb In Application.CommandBars Select Case cb.Name Case "Cell" MsgBox cb.Index & "::" & cb.Name End Select Next End Sub "Cell"、"Column"、"Row"のCommandBarは それぞれ2個ずつあります。 「標準」ウィンドウ用と「改ページプレビュー」用です。 制御するのであれば、上記のようにLoop&名前判定などで 両方のCommandBarに対して処理する必要があります。 #その画像って..? #たんなる添付ミス..です..よね?
お礼
ご回答頂きまして有難う御座います。 「改ページプレビュー」で効かないことは知りませんでした。 勉強になりました。 でも、今回の問題は標準の表示で発生しています。 #画像は添付しなければならないのかと思い、適当に添付したものです。 どうもすみません。
お礼
有難うございます。 明日、試してみます。 Sheet1.xlsの続きです。 136 Selection and Visibility オブジェクトの選択と表示 0 137 Document Management ドキュメント管理 0 138 Document Updates ドキュメントの更新 0 139 Mail Merge Panes 差し込み印刷ウィンドウ 0 140 Fax Service FAX サービス 0 141 Meeting Workspace 会議ワークスペース 0 142 Attachment Options 添付ファイルのオプション 0 143 Ribbon Adapter Ribbon Adapter 0 144 Add Command コマンドの追加 2 145 Built-in Menus 組み込みのメニュー 2 146 Clipboard クリップボード 0 147 Envelope 封筒 0 148 Online Meeting オンライン会議 0 149 0 150 Status Bar ステータス バー 0 151 Ribbon Ribbon 0 文字数に制限があり、続きを何処に入れたら良いのか解らなくて、「回答」をお待ちしておりました。 ・・本当は「補足入力」に入れてはいけないのですね。 ファイルの添付ができれば良いのですが。