- ベストアンサー
画像をクリックしたときに反応させない方法
以前の質問の中での関連質問ですが、改めて質問させていただきます。 表題の「画像クリックしたときに反応させない方法」についてですが、 現在エクセルのセルに写真を貼り付け(乗せ)ています。 この写真を(右or左)クリックするとハンドルが出てきます。 そこでこの写真をクリックしたときにハンドルを出さないようにマクロのコードで プロパティー等から指定できないでしょうか? イメージコントロール等を使えば出来そうですが、100枚ぐらいの 写真を表示させたいので内部メモリーの節約上やりたくありません。 ネットで調べた限り見つかりません。 やはり出来ないのでしょうか?
- みんなの回答 (3)
- 専門家の回答
質問者が選んだベストアンサー
>ところが写真にシート保護を利かすためには「オブジェクトの編集」の チェックをはずないといけないようです。ところがこのチェックをはずすと >今度はコマンドボタンが効かないということが起こります。 Lockedプロパティを使用して解除すればいいと思いますが。。。 CommandButton1.Locked = False 以上です。
その他の回答 (2)
- DreamyCat
- ベストアンサー率56% (295/524)
使用するセルのlockを解除し、 CommandBars("Pictures Context Menu").Enabled = False を実行しておいて シート保護を行えばいいです。 必要があるならそれを Private Sub Workbook_Open() 'ここに記述しておきます。 End Sub 他の方法として、 CommandBars("Pictures Context Menu").Enabled =False にして Application.Ontimeを使ってActivecell.activate を実行すれば図の選択が解除されるので 間隔を1秒ごとにしておけばほぼ移動はできないでしょう。 (それがいやならBook Open時にすべての画像の位置を取得しておいて1秒ごとまたはBookを閉じるときに元の位置に戻すようにするとか)
補足
DreamyCatさん、いつもありがとうございます。 pictureのプロバティーでlockedを試すときにシート保護が要るということで、 シート保護を試しました。 ところが写真にシート保護を利かすためには「オブジェクトの編集」の チェックをはずないといけないようです。ところがこのチェックをはずすと 今度はコマンドボタンが効かないということが起こります。 コマンドボタンをツールバーに持ってくるというのも大げさで あまりやりたくないのですが・・・。
- imogasi
- ベストアンサー率27% (4737/17069)
エクセルに画像を挿入して 標準モジュールの Sub test01() CommandBars("Pictures Context Menu").Enabled = False End Sub を実行すると、シート上の画像の部分で、マウスで右クリックしても何もでなくなった。それ以前は出ていた。 こういうことをしたいのか。 ーー >ネットで調べた限り見つかりません 上記であれば Googleででも「エクセル 右クリック禁止」で照会すると出てきたが。
補足
imogasiさん、早速のご回答ありがとうございます。 私のやりたいことは、写真を貼り付けた場所から動かさないように したいのですが、 CommandBars("Pictures Context Menu").Enabled = False で試したところ、やはりハンドルは出てきて移動可能となります。 (確かに右クリックしても余計なサブメニューは出てきませんが) pictureプロパティーを調べてenabledやlockedも試しましたがだめでした。
お礼
myRangeさん、どうもありがとうございます。 CommandButton1.Locked = False コマンドボタンにこんなプロパティーがあるとは知りませんでした。 早速これを効かせ、シート保護をマクロで書き込んで試したところ バッチリうまく行きました!! これで自分用の写真管理ソフトが出来ました。 まだメモリー消費の課題は残っていますが、不思議なことに100枚ぐらい 貼り付けても行けてます。 また不具合が生じたとき、教えていただくことになると思います。 みなさん、どうもありがとうございました。