[ 初めての方へ | 一覧(最新更新順) | 全文検索 | 過去ログ ]
『行の貼り付けのオプションを非表示にする』(ずら)
初めまして。
VBAを始めて1週間にも満たない初心者ですが、質問させてください。
行を右クリックした時に、「貼り付けのオプション」が必ず表示されます。 これの表示を消したいのですが、VBAでどのような処理をすればよいでしょうか?
現在はWorkbook_Openメソッド内で
For Each cmdBra In Application.CommandBars("Row").Controls cmdBra.Visible = False Next
で、一度全ての右クリックメニューの表示を消して この後に自作の右クリックメニューマクロを追加しています。
行の右クリックでのみ、貼り付けのオプションを非表示にしたいのですが、ご教授の方よろしくお願いします。
< 使用 Excel:Excel2010、使用 OS:Windows7 >
???様
返信ありがとうございます。 書き忘れてて申し訳ないのですが、現在シートの保護等はしており ユーザが任意で行の挿入等は出来なくなっています。
貼り付け等できないのに、行の右クリックで「貼り付けのオプション」が表示されるのが 邪魔だと思い、質問させていただきました。。。
動作自体には問題が無いので、見た目の問題で非表示にしたいだけです。
情報が後出しになり申し訳ありません。 (ずら) 2017/02/10(金) 10:50
切り取り??(&T) コピー??(&C) 貼り付け??(&P) 形式を選択して貼り付け(&S)... 複合表として??貼り付け(&P) 挿入(&I) 削除(&D) 数式と値のクリア(&N) セルの書式設定(&F)... 行の高さ??(&R)... 非表示??(&H) 再表示??(&U) ハイパーリンクの削除(&R)
この中に、「貼り付けのオプション」が無いのです。ここにあるものならば、ご指摘の方法で消せるのですが。
貼り付けのオプションって、アイコン表示があって、普通のメニューじゃないですよね。Excelの中でも、凝った方法で表示していると思います。なので、ちょっと見たくらいでは手が出せないのですよ。
どーしても消したい!、というのであれば、それはもう初心者の域を超えて、コードハッキングするくらい調査すれば、手があるかも知れません。
(???) 2017/02/10(金) 11:14
EscかF2ボタンを押したら、貼り付けのオプション消えませんでしたっけ? Excel2010ですよね。 (マリオ) 2017/02/10(金) 11:15
???様
>貼り付けのオプションって、アイコン表示があって、普通のメニューじゃないですよね。Excelの中でも、凝った方法で表示していると思います。なので、ちょっと見たくらいでは手が出せないのですよ。
そうなんですね…。 ご丁寧にコマンドバーの要素まで教えてくださり、ありがとうございます!
動作的には問題が無いので、このままにしたいと思います。 わざわざありがとうございました。
マリオ様
ESCまたはF2を押してみましたが、表示は消えないみたいです (シートの保護の有無に関わらず) (ずら) 2017/02/10(金) 11:27
マリオさんの言っているのは「エクセルのオプションのコンテンツを張り付けるときに 「貼り付けオプション」ボタンを表示する」にチェックを入れた場合に貼り付け後に 表示される貼り付けのオプションボタンではないか? (ねむねむ) 2017/02/10(金) 11:35
マリオさんが書かれているのは、貼り付けた後に出てくるボタン(スマートタグ)ですよね。
今回質問されているのは、セル上で右クリックした時のメニューに出る貼付のオプションのことなので キー操作ではできないんです。
あーねむねむさんとかぶり… (コナミ) 2017/02/10(金) 11:40
>ずら さん 私には、手に負えません。サッサッーー
>コナミさん、ねむねむさん ん〜。よ〜わからんので、スルーします。 (マリオ) 2017/02/10(金) 13:00
隠しメニューにでも何か無いかなぁ?、と、行のコマンドバーに限らず、以下のコードでIDとキャプションを一覧してみましたが…、「貼り付けのオプション」は無いですねぇ。 意識して操作してみると、この項目だけマウスカーソルを合わせても選択状態にならないので、こんな単純な実装じゃないだろう、とは思いましたが。
(ちなみに、「形式を選択して貼り付け」が21437番なので、かなり後になって追加された機能だろうと思われます)
Sub test() Dim i As Long Dim iR As Long Dim cw As String
On Error Resume Next For i = 1 To 30000 Err.Clear cw = Application.CommandBars.FindControl(ID:=i).Caption If Err.Number = 0 Then iR = iR + 1 Cells(iR, "A").Value = i Cells(iR, "B").Value = cw End If Next i On Error GoTo 0 End Sub
ググってもみましたが、この項目に手を出したやり取りは見つかりませんでした。諦めるのが一番ですねぇ。
(???) 2017/02/10(金) 13:32
???様
ググっても貼り付けのオプションボタン (多分マリオ様が消せるとおっしゃった貼り付けのオプション)の非表示の仕方しか 出ませんね…。
>行を選択しての一切のメニューが出なくなります。
これをしちゃうと、自作マクロも行の右クリックに追加しても意味ないですよね…
表示されていてら絶対に困る!という訳ではないので 素直にあきらめたいと思います。
皆様方、ありがとうございました。 (ずら) 2017/02/10(金) 13:53
右クリックメニューを全部殺しても、右クリックのイベントは拾えますから、ユーザーフォームに処理を書く、という手もあります。
Private Sub Worksheet_BeforeRightClick(ByVal Target As Range, Cancel As Boolean) Cancel = True UserForm1.Show vbModal End Sub
タイトルバーは消したいとか、凝り始めると結構大変ですので、素直に諦めるのが一番ですけどね。
(???) 2017/02/10(金) 14:59
[ 一覧(最新更新順) ]
YukiWiki 1.6.7 Copyright (C) 2000,2001 by Hiroshi Yuki.
Modified by kazu.