• ベストアンサー

画像をクリックしたときに反応させない方法

 以前の質問の中での関連質問ですが、改めて質問させていただきます。  表題の「画像クリックしたときに反応させない方法」についてですが、 現在エクセルのセルに写真を貼り付け(乗せ)ています。 この写真を(右or左)クリックするとハンドルが出てきます。  そこでこの写真をクリックしたときにハンドルを出さないようにマクロのコードで プロパティー等から指定できないでしょうか?  イメージコントロール等を使えば出来そうですが、100枚ぐらいの 写真を表示させたいので内部メモリーの節約上やりたくありません。  ネットで調べた限り見つかりません。  やはり出来ないのでしょうか?

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

  • ベストアンサー
  • myRange
  • ベストアンサー率71% (339/472)
回答No.3

>ところが写真にシート保護を利かすためには「オブジェクトの編集」の チェックをはずないといけないようです。ところがこのチェックをはずすと >今度はコマンドボタンが効かないということが起こります。 Lockedプロパティを使用して解除すればいいと思いますが。。。 CommandButton1.Locked = False 以上です。  

sintaro-hosome
質問者

お礼

 myRangeさん、どうもありがとうございます。 CommandButton1.Locked = False  コマンドボタンにこんなプロパティーがあるとは知りませんでした。 早速これを効かせ、シート保護をマクロで書き込んで試したところ バッチリうまく行きました!!  これで自分用の写真管理ソフトが出来ました。 まだメモリー消費の課題は残っていますが、不思議なことに100枚ぐらい 貼り付けても行けてます。  また不具合が生じたとき、教えていただくことになると思います。 みなさん、どうもありがとうございました。

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

その他の回答 (2)

  • DreamyCat
  • ベストアンサー率56% (295/524)
回答No.2

使用するセルの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を閉じるときに元の位置に戻すようにするとか)

sintaro-hosome
質問者

補足

 DreamyCatさん、いつもありがとうございます。  pictureのプロバティーでlockedを試すときにシート保護が要るということで、 シート保護を試しました。 ところが写真にシート保護を利かすためには「オブジェクトの編集」の チェックをはずないといけないようです。ところがこのチェックをはずすと 今度はコマンドボタンが効かないということが起こります。  コマンドボタンをツールバーに持ってくるというのも大げさで あまりやりたくないのですが・・・。

全文を見る
すると、全ての回答が全文表示されます。
  • imogasi
  • ベストアンサー率27% (4737/17068)
回答No.1

エクセルに画像を挿入して 標準モジュールの Sub test01() CommandBars("Pictures Context Menu").Enabled = False End Sub を実行すると、シート上の画像の部分で、マウスで右クリックしても何もでなくなった。それ以前は出ていた。 こういうことをしたいのか。 ーー >ネットで調べた限り見つかりません 上記であれば Googleででも「エクセル 右クリック禁止」で照会すると出てきたが。

sintaro-hosome
質問者

補足

 imogasiさん、早速のご回答ありがとうございます。  私のやりたいことは、写真を貼り付けた場所から動かさないように したいのですが、 CommandBars("Pictures Context Menu").Enabled = False で試したところ、やはりハンドルは出てきて移動可能となります。 (確かに右クリックしても余計なサブメニューは出てきませんが)  pictureプロパティーを調べてenabledやlockedも試しましたがだめでした。

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

関連するQ&A

  • JPEG画像 右クリック→プロパティ→概要のコメント

    自分で撮った写真を右クリックしてプロパティを開くと"概要"タブがあり、簡易という画面に出るとタイトルやいろんなコメントを入力できるのですが、100枚以上の写真をいちいち右クリック→プロパティ→・・・とやっていると、日が暮れてしまいそうで、何かフリーソフトかなにかないのかなぁ~と思い、皆様にお伺いした次第です。 何かありましたら教えてください。 あと、このコメントや表題などは何か意味があるのでしょうか? 宜しくお願いいたします。

  • 複数の写真をエクセルに貼り付けられるマクロ

    エクセルで工事写真を貼り付けたいのですが、 マクロにより以下のことを実行したいです。 (1)写真貼り付け開始セルをダブルクリック (2)写真を複数枚選択 (3)写真をセルのサイズにリサイズ (4)ファイル名順に写真を貼り付け マクロを普通に実行して(2)~(4)を行うコードや 写真1枚に対して(1)(3)(4)ができるコードは見つかるのですが、 (1)~(4)ができるコードが見つかりません。 ちなみに、写真貼り付け用のセルは4列×12行分の結合セルで この形式が下に延々と続いています。 どなたか良い知恵をお貸しください

  • ダブルクリックで各シートへの移動方法

    Sheet1内のセル1をダブルクリックしたらSheet2が開き、セル2をダブルクリックしたらSheet3へといった具合に、参照できるSheetへ移動できるようにしたいのですが、どうしたらよいでしょうか?マクロ初心者で質問もうまくできませんが、どなたか教えてください。よろしくお願いします。

  • エクエルの複数画像の一括挿入

    エクセルで写真の一括挿入をするために「複数画像の一括挿入」をアドインに入れて貼り付けしたのですが、貼り付けが若い順になってしまいます。 例)A1のセルにP1000002、A3のセルにP1000001、A5のセルにP1000004、A7のセルにP1000003のファイルを貼り付けしたいのですが、 A1のセルにP1000001、A3のセルにP1000002、A5のセルにP1000003、A7のセルにP1000004が貼り付けされてしまいます。 どうすれば指定したセルに希望の写真が貼り付けられますか? 貼り付ける枚数が多いので、他にマクロとかわからなくても複数画像が一括で貼り付けられる方法があったら教えてください。 宜しくお願いします。

  • EXCELマクロで左列に値のある行まで選択

    EXCELのマクロの記録を利用して簡単なマクロを作りたいのですが、 やりたいことは、表の最上部のセルにVLOOKUP関数を設定し、 フィルハンドルでWクリックするように表の最下部までコピーしたいのですが、 マクロの記録では、貼り付けする先のセルが固定されてしまい、 表の行数が変動する場合はそのまま使えません。 左列に値のあるセルを判断してその行番号までを選択できれば解決するのですが、 お詳しいかたお教えください。 ちなみにマクロの記録の構文では <フィルハンドルでクリックする場合> ActiveCell.FormulaR1C1 = "=VLOOKUP(RC7,'10FY'!R2C1:R1321C2,2,0)" Selection.AutoFill Destination:=Range("H3:H27") Range("H3:H27").Select End Sub <範囲選択しコピー貼り付けする場合> ActiveCell.FormulaR1C1 = "=VLOOKUP(RC7,'10FY'!R2C1:R1321C2,2,0)" Selection.Copy Range("H4:H27").Select ActiveSheet.Paste End Sub

  • ボタンのクリックでマクロの変数を設定 その2 

    上記のタイトルで質問しましたが、補足が必要なので改めて質問します。 古い エクセル2000のバージョンです。エクセルのシート上にコマンドボタンを配置し、そこをクリックするとマクロを実行するようにしたいのですが、どうやったらコマンドボタンをエクセルのシート上に配置できるのでしょうか? ちなみにVBAの画面でユーザーフォームを作成し、そこへはコントロールからコマンドボタンをドラグして貼り付けることはできました。ただし、そのコマンドボタンをコピー(これは可能)しエクセルのシート上に貼り付けようとすると、「貼り付け」の所が薄い文字になっていて、貼り付けできません。 新バージョンのエクセルでは「開発者***」の所からできるようですが、エクセル2000ではどうやったらコマンドボタンをシート上に貼り付けできるのでしょうか? また貼り付けができたら、自動的にマクロのVBAのプログラム画面に sub commannd()  や endsub が追加されるのでしょうか?そこまでできれば、マクロの実質的な内容は既に完成しているので動作するのですが。よろしくお願いします。

  • VBA Wクリックイベント

    A4用紙に縦3枚の写真を貼り付けたいのですが、1つに結合したセルをWクリックすると「ファイルを開く」を出し、写真を選び、Wクリックしたセルに貼り付けるようにしたいのです。 自分でマクロを作ってみました。 Sub Test() Dim fName, pict As Picture fName = Application.GetOpenFilename("JPG, *.jpg", MultiSelect:=True) If IsArray(fName) Then For i = 1 To UBound(fName) Set pict = ActiveSheet.Pictures.Insert(fName(i)) pict.TopLeftCell = ActiveCell pict.Width = 350 pict.Height = 250 ActiveCell.Offset(2, 0).Activate Next i End If End Sub これを実行させようと思うと一つ一つ ツール→マクロ→マクロ→実行をしなければなりません。 これをセルをWクリック等したら「ファイルを開く」が出るようなVBAはありませんでしょうか? それと低レベルな質問ですが、Wクリックでファイル呼出が出来たとして、それを貼り付けたいセル全部にファイル呼出が出来るようにするには、一つ一つマクロを書くのでしょうか? 初心者でわかりにくい書き方ですみません。 よろしくお願いします。

  • Excelのセルをダブルクリックした時のマクロ

    BeforeDoubleClickイベントで、特定のセルをクリックした場合にマクロを実行する方法についての質問です。 例えば セルC1をダブルクリックするとマクロAが実行 セルC2ををダブルクリックするとマクロBが実行 セルC3ををダブルクリックするとマクロCが実行 と、複数のイベントにそれぞれのマクロを実行させたい場合はどうすればよいのでしょうか。 詳しい方がいましたらアドバイス頂けないでしょうかm(_ _ )m

  • エクセル マクロ ダブルクリックによる設定

    エクセルのマクロについての質問です。 ある特定のセル(”H1:K1”かな?)をダブルクリックすると今日の日付が記入される様になり、また別のセルをダブルクリックするとユーザーフォームが立ち上がる様なマクロを組みたいと考えております。 詳しい方がおりましたら、是非お願いします。

  • 切り取りで消えた画像の復元

    PCにデジカメのSDカードを差込み、対象写真を右クリックで切り取って同PCに差し込んだUSBメモリーに貼り付けましたが、容量が足りなかったので削除し、PCに新規ファイルを作って貼り付けようとしましたところ、右クリックの"貼り付け"が選べなくなっており、SDカードからも写真が消えてしまいました。 ごみ箱にもありません。 切り取った写真はどこかPC内に保存されているのでしょうか? 復活する方法はありますか?