• 締切済み

エクセルで画像をこのように表示は可能ですか?

エクセルに画像をはりつけて表示させたいのですが、 貼り付けた画像は普段は消えていて(閉じていて)、表示させたいときだけタブをクリックしたら表示されるか、カーソルを持っていったら表示されるようにしたいです。 例えば「J1」に画像を貼り付けたら、普段は消えていて、見たい時だけ上記のような方法で表示させたいですが可能でしょうか? ハイパーリンクも試しましたが、少しちがいました。 コメントの挿入で画像を貼り付けた時が、こういう風にしたいとおもっていたやり方に近かったのですが、画像を開いた時に、画像が右の方に切れてしまいます。 モニター全体をキャプチャした画像を表示させたいので、画像はできればモニター全体に表示させたいのですが、無理でしょうか?

みんなの回答

回答No.3

結論から言うと、 完全に希望通りの動きは不可能、違う形で構築は可能 というところでしょうか。 回答しやすい順に。 > 画像はできればモニター全体に表示させたい いわゆるフルスクリーンだとすると、これは無理と思って結構かと。 エクセルの表示画面範囲を超える表示は不可能です。 他のアプリケーションを起動して・・という手はありますが、 パソコン次第では動作が遅く、使い物にならないだろうなぁ、と思います。 次。 > コメントの挿入で(中略)画像が右の方に切れてしまいます。 同様に、コメント枠が右にはみ出るのは仕様ですので、 これも根本的解消は不可能かと思われます。 で、 > 表示させたいときだけタブをクリックしたら表示されるか タブってどういうイメージでしょう? 私はどうしても「シート名のタブ」をイメージしてしまうのですが、 きっと違うものなのでしょう。 続けて > カーソルを持っていったら表示される いわゆるマウスオーバーですか。 ユーザーフォームの中でなら実現できると思いますが、 ワークシート上でやるとなるとかなり困難でしょうか。 どちらにしてもソコソコのVBAに関する知識が欲しいですね。 > 「J1」に画像を貼り付けたら、普段は消えていて、見たい時だけ表示させたい 出来ないことはないですが、やはりVBAの知識は必須です。 逆に、VBAの知識が少しでもあれば、その選択肢に行き着くでしょう。 手順として考えられるのは(私が作るなら)2パターン (1)トリガーをクリックするとイベント発生  行高・列幅を表示領域一杯に大きくする(例えばJ行と1列目)  セル一杯のサイズで画像を挿入(あるいはサイズ変更)  画像をクリックすると画像を削除(あるいは小さくサイズ変更)  行高・列幅を基に戻す (2)トリガーをクリックするとイベント発生  テキストボックス(あるいは四角など、枠になるもの)を画面一杯のサイズで挿入  その枠内に画像を挿入し、サイズ調整  画像をクリックすると枠ごと削除 のどちらかでしょうね。 と、少し真剣に考えてみましたが、おそらく徒労なのでしょうね(笑)。

potapota456
質問者

お礼

回答してくれてありがとうございました。真剣に読まさせていただきました。

  • imogasi
  • ベストアンサー率27% (4737/17068)
回答No.2

できると思います。しかし質問者がVBA、さらに進んで、「イベント」というものの経験がなければ、「できますか」と聞いても、意味がないでしょう。コードを書いてくれという要求か? 中級以上のVBAの経験と慣れが必要と思う。 イベントというのは、素人が要求する(思いつく)やりたいことに、素直に応える方法と思うが、段階を踏んで勉強が必要な、むつかしい面もある。一般のエクセル以外のアプリでも、ざらに使えるものではない。 ーー #1の回答は、ユーザーフォームを使った方法だが、「イベント」の起こし方は色々ある。 ーー 下記はシートに「図形」を1つ貼り付け、そのクリックで、消去と再表示をサイクリック(回転的)に行う例を挙げる。 ーー まずエクセルシートの選択セルの位置に写真を置くコード。 下記は定番のコードで、WEB記事に似たものは沢山でいている。それの1つを使ってみた。 標準モジュールに Sub AddPicture() Dim myFileName As String Dim myShape As Shape myFileName = "C:\Users\XXX\Pictures\YYYY.jpg" '--(1) 選択したセル位置に画像ファイルを挿入し、変数myShapeに格納 Set myShape = ActiveSheet.Shapes.AddPicture( _ Filename:=myFileName, _ LinkToFile:=True, _ SaveWithDocument:=False, _ Left:=Selection.Left, _ Top:=Selection.Top, _ Width:=Selection.Width, _ Height:=Selection.Height) ’上記WとHは、セルの現状の大きさに従う例 '--(2) 挿入した画像に対して元画像と同じ高さ・幅にする。今回使わず。 ' With myShape ' .ScaleHeight 1, msoTrue ' .ScaleWidth 1, msoTrue ' End With End Sub シートに図形の四角を1つ張り付けて、その図形のクリックイベントのコードとして、下記を入れる。下記コードの何か所かの、Shapes(3).のインデックス番号3はテストを繰り返すと変わるので注意。最初は1. Sub 正方形長方形7_Click() If ActiveSheet.Shapes(3).Visible = False Then MsgBox "再表示します" ActiveSheet.Shapes(3).Visible = True Else MsgBox "消去します" ActiveSheet.Shapes(3).Visible = False End If End Sub を入れる == 上記の仕組みの欠点は、写真1か所につき図形1つを対応させているが、張り付ける写真が多いと、コードがしつこい。 セルのクリックイベントやその他の仕組みを使う方法もあると思うが、全般にシートなどのイベントになれないと、思わぬことになる。この方面の初心者なら、すぐに飛びつかないことだ。十分勉強してから使えと言いたい。 エクセルは、たくさんの図形などのイベントで、シートをつく使うものではないと思う。 「コメント」を入れるのは、VBAでAddCommentで難なくできる。略。 >画像が右の方に切れてしまいます 適当にシート上で大きくするのは上記のコードの延長でできると思う。 しかし、源画像データとの絡みなど勉強することが多すぎる点だ。 エクセルのシートを使うというのが素人っぽい。 質問者が勉強して、あるいはソフトを使って、画像を大きく表示する方法(多分プログラムやスクリプトが必要か?)VBAに当たるものは、他のソフトでは付属してないと思うが。

potapota456
質問者

お礼

回答ありがとうございます。コードもありがとうございました

  • eden3616
  • ベストアンサー率65% (267/405)
回答No.1

お望みのような形ではないかもしれませんが、VBAにて。 わかりにくそうな所は添付画像を参考願います。 (1)シートタブを右クリックし「コードの挿入」からVBEを開き、 以下のVBAコードを貼り付ける。 Private Sub Worksheet_FollowHyperlink(ByVal Target As Hyperlink)   UserForm1.Caption = Target.Range.Text   UserForm1.PictureSizeMode = fmPictureSizeModeZoom   UserForm1.Picture = LoadPicture(Target.ScreenTip)   UserForm1.Show End Sub (2)VBEのメニューより「挿入」→「ユーザーフォーム」でフォームを作成し、 フォームを右クリックしてコードの表示を選択。 初期で入力されているコードを全て削除したのちに、以下のコードを貼り付け。 VBEを「×」で閉じる。 Option Explicit 'Windows API宣言 Private Const GWL_STYLE = (-16) Private Const WS_THICKFRAME = &H40000 Private Declare Function GetWindowLong Lib "user32" Alias "GetWindowLongA" (ByVal hwnd As Long, ByVal nIndex As Long) As Long Private Declare Function SetWindowLong Lib "user32" Alias "SetWindowLongA" (ByVal hwnd As Long, ByVal nIndex As Long, ByVal dwNewLong As Long) As Long Private Declare Function GetActiveWindow Lib "user32" () As Long Private Declare Function DrawMenuBar Lib "user32" (ByVal hwnd As Long) As Long ' フォームをリサイズ可能にするための設定 Public Sub FormSetting()     Dim result As Long     Dim hwnd As Long     Dim Wnd_STYLE As Long     hwnd = GetActiveWindow()     Wnd_STYLE = GetWindowLong(hwnd, GWL_STYLE)     Wnd_STYLE = Wnd_STYLE Or WS_THICKFRAME Or &H30000     result = SetWindowLong(hwnd, GWL_STYLE, Wnd_STYLE)     result = DrawMenuBar(hwnd) End Sub Private Sub UserForm_Activate()     Call FormSetting End Sub (3)任意のセル(例えばA1セル)に任意の文字を入力し、ハイパーリンクを作成します。 セル参照の入力はリンクを挿入したセルのアドレス「A1」とし、 ヒント設定にて表示させたい画像のパスを設定します。 対応しているファイル形式は(bmp・dib・gif・jpg・wmf・emf・ico・cur)になります。 作成したリンクをクリックするとウィンドウで画像が開きます。 リサイズ可能にしているため、大きさは変更できますが、開いた時の初期サイズは (2)で作成したユーザーフォームのサイズになります。

potapota456
質問者

補足

ありがとうございます。やってみたのですが、うまくて出来てないかもしれないです。フォトビューアーも開いていいのでしょうか? 現状を画像を貼り付けて投稿しなおしてみますので、よかったらまた教えてください。回答ありがとうございました

関連するQ&A

  • エクセルでセルに挿入したコメントの表示位置について

    セルに挿入したコメントの表示位置を自由に設定する事はできないのでしょうか? 画面右の方にあるセルにコメントを挿入したのですが、カーソルを合わせるとセルの右にコメントが表示されるので、スクロールさせてからセルにカーソルを合わせないと、挿入したコメントが全部見えない状態になります。 コメント編集時には、コメントが全部見えるように画面中央に設置しています。 ですが、実際にカーソルをセルに合わせると、セルの右側にコメントが表示されてしまいます。 コメントの表示位置を設定する事はできないでしょうか? アドバイスをお願い致します。

  • エクセルでの画像表示について

    こんばんわ。質問させていただきます。  エクセル2000で、コメントの表示みたいにセルにカーソルを合わせただけで、画像を表示させることはできるのでしょうか? よろしくお願いいたします。

  • エクセルでコメントの挿入

    エクセルでコメントの挿入したところのセルにカーソルを持っていくと右側にそのコメントが表示されますが、一番右端のセルの場合も同様に右側に表示されるので隠れてコメントが見えないのです。もちろん、マウスの右クリックからコメントの表示設定をすれば常に左側に表示されていますが、カーソルをのせた時だけ表示させたいのです。右端のセルに挿入したコメントだけカーソルをのせると左側に表示させるという方法はあるのでしょうか?知っている方よろしくお願いします。

  • Accessのハイパーリンクのパスを設定する「ハイパーリンクの挿入」を表示させる方法を教えてください。

    Access2003を使用しています。 フォームにハイパーリンク型のテキストボックスを配しました。 そこにハイパーリンクのパスを貼る時の「ハイパーリンクの挿入」の出し方について教えてください。 使っている.mdbの開き方は2種類あります。 (1)立ち上げて最初に表示されるメッセージで「開く」ボタンを押すと、入力しかできない(これの名称がわからないため、言葉の説明ですみません)。 (2)中の設定などをいじりたいときは、ctrl+[開く]で立ち上げています。 このやりかたで立ち上げたときは、フォーム上のメニューバーの挿入に「ハイパーリンク」が出てくるか、ハイパーリンクのテキストボックスにカーソルを置いた状態で右クリックすると「ハイパーリンク」が表示されます。 ところが、(1)の入力しか出来ないやり方で開くと、「ハイパーリンクの挿入」を立ち上げるには、カーソルをハイパーリンク型のテキストボックスにカーソルを置いた状態でショートカットキーのctrl+K を使うしかないようなんです。メニューバーに表示されないのです。 これは、どうしてなのでしょうか? この問題を解決する方法を教えていただけないでしょうか? お手数をおかけして申し訳ありませんが、よろしくお願いいたします。

  • gif画像の表示

    先日から、インターネットでホームページを開くと、gif画像が表示されなくなりました。小さな四角の中に、○△□のアイコン?が表示され、そこにカーソルをあて、右クリックし、画像の表示を選択すると、画像が現れてきます。例えば、この画面の左上の「goo教えて」という画像(ロゴ)がありますが、最初にこの画面が表示された時には、現れていませんが、そこにカーソルをあて、右クリックして画像の表示を選択すると「goo教えて」の画像が現れてきます。 従来のように、常に画像が表示される状態にしたいのですが、どのようにしたらよいのでしょうか。

  • WEB画像の取り込みについて

    普通、WEB上の画像を取り込む場合、画像上で右クリックして名前を付けて保存を選択しますよね。 ところがサイトによっては右クリックが機能しないところがありOrbitというダウンローダーでダウンロード出来たりしますがダウンローダーでさえもダウンロード出来ないサイトがありその場合は Windows Snapshot Maker v1.1 という画像キャプチャソフトで画像を一つ一つ取り込んでいます。 ただ画像によっては、特に縦長の画像の場合、モニターからはみ出してしまう大きさのものもありキャプチャソフトではモニターに表示されている範囲しかキャプチャ出来ないのでモニターを縮小表示にしてキャプチャしていますがなるべく縮小率を最小限にしたいので全画面表示にしステータスバーも非表示にしていますが正直、かなりの手間でしんどいです。 でもそういう画像に限って良いものがあり手間がかかっても取り込みたいんですよね。 右クリックが出来ずダウンローダーでも取り込めない画像を縮小せずにモニターから外れている部分を含めて丸ごと取り込む方法はありますでしょうか?。 PCはノートでモニターは15.4のワイドです。

  • エクセルの画像にツールチップを表示させたい

    エクセルで画像を自動貼り付けして、セルの大きさに合わせて縮小・拡大するマクロを作りました。 そこで、挿入した画像に上にポインタを持っていくと、画像の挿入元のファイル名を表示させたいと思っています。 最初は画像の裏にあるセルにコメントをつければいいと思っていたのですが 2000だと、画像の上にマウスポインタを置いても、画像を選択しても、コメントが表示されませんでした。 どうやら、裏のセルの見えている部分にポインタを置かないと表示されないみたいです。 (2007だと画像の裏にあるセルにコメントを付けておけば、画像の上にマウスポインタを置くとコメントが表示されます) エクセル2000で画像にツールチップ(ファイル等の上にマイスポインタを置くと表示される黄色いコメントの事)を表示させる方法があれば教えてください。

  • エクセル 画像リンク

    例えばエクセルの一つのセルに名前を入れてそこをクリックすると画像(顔写真)を表示させることは可能でしょうか? コメントやハイパーリンクで電話番号やアドレスを表示させることは出来るのですがご存知の方がおりましたら教えてください。

  • コメント表示を消す

    カーソルをリンクバナーにあてるとコメント表示が出ます。 それ以外にもIEのタブにカーソルを当てるだけでコメントが数秒間出ますよね? それらを出なくする方法を教えて下さい。よろしくお願いします。

  • Excelのコメントで図挿入について

    先日、セルまたは入力文字にカーソルを合わせた時のみ写真を表示したくてご質問し、コメントの画像挿入を教えて頂き出来たのですが別ファイルを持つ必要があります。Excelファイル内の写真を挿入することは難しいでしょか?

専門家に質問してみよう