エクセル画像にツールチップを表示させる方法

このQ&Aのポイント
  • エクセルで画像を自動貼り付けして、セルの大きさに合わせて縮小・拡大するマクロを作成しました。挿入した画像に上にポインタを持っていくと、画像の挿入元のファイル名を表示させたいと思っています。
  • 2000だと、画像の上にマウスポインタを置いても、コメントが表示されません。裏のセルの見えている部分にポインタを置かないと表示されないようです。2007では画像の裏にあるセルにコメントを付けておけば、画像の上にマウスポインタを置くとコメントが表示されます。
  • エクセル2000で画像にツールチップを表示させる方法があれば教えてください。
回答を見る
  • ベストアンサー

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

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

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

  • ベストアンサー
  • te12889
  • ベストアンサー率36% (715/1959)
回答No.2

VBAやマクロについてはど素人以下なので、まるっきり的はずれな方向からアプローチしますが・・・。 (ご希望から離れているとは重々承知しておりますが、もしかしたらってことで。) 挿入した画像を選択した状態で「ハイパーリンクの編集」を出し、「ヒント設定」ボタンから文字列を入力すると、画像の上にマウスカーソルを乗せると、「ヒント設定」で入力した文字列がチップ表示されます。 ただ、マウスカーソルが画像にのったとたんに「指」になりますので、違和感もかなりあります。 (2003で試しましたが、2000でも同じ機能はあったと思います。)

iori16
質問者

お礼

すいません。画像にハイパーリンクつけられること知らなかったので、 裏のセルにハイパーリンクつけてました。 ちゃんとできました。名前けしたら、指マークにもならないですし、ちゃんとクリックもできます。 完璧な答えだったのにお礼してあげられなくて申し訳ありませんでした。

iori16
質問者

補足

中々確認とれず、返事が遅れてしまいました。申し訳ないです。 2000で確認してみたところ、確かにそういう昨日はありましたが、結局写真の上からマウスポインタを当てても、クリックして選択しても、表示はされませんでした。 (裏のセルが見えている所に当てるとできました) やはり2000では無理みたいですね。

その他の回答 (2)

  • end-u
  • ベストアンサー率79% (496/625)
回答No.3

te12889さん案 >挿入した画像を選択した状態で「ハイパーリンクの編集」を出し、「ヒント設定」ボタンから文字列を入力..     ~~~~~~~~~~~ Sub Macro1()   Dim s As String      With ActiveSheet     s = .Shapes(1).TopLeftCell.Address(external:=True)     .Hyperlinks.Add Anchor:=.Shapes(1), _             Address:="", _             SubAddress:=s, _             ScreenTip:="xxx"   End With End Sub xl2000sp3ではokです。

iori16
質問者

お礼

おぉぉ、そうかte12889さんが言っていたのはこういう事だったのか! 裏のセルじゃなくて、画像にハイパーリンクを貼り付ければよかったのかー ずっと勘違いしていました。申し訳ありません。 しかも、ハイパーリンクのリンク先消すと、ツールチップのみ表示される・・・!! これならいけるかも・・・ ありがとうございます。 せっかく教えてくれてなんなんですが、ベストアンサーは 原案のte12889さんに上げたいと思います。 申し訳ありません~

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

一応の総括をして見ますが、覆す回答が出れば良いのですが。 VBのフォームなどではでは別です。 ーー エクセルで、2003までは (1)シートに貼り付けるコントロールにはToolTip的なプロパティは無い (2)フォームの上に貼り付けるコントロールには、ControlTipTextがあるものがある(ボタン、TextBoxなど) (3)挿入ー図ーファイルからシートに張り付くオブジェクトにはそのプロパティはない (4)シートのセルには「コメントの挿入」で、それらしき仕組みが出来る(ちなみに) ーー だから 代替物を考えないといけないが、VBAの範囲では、カーソル位置の補足と、テキストボックス的図形を出す、マウスが写真表示コントロールを離れると隠すは難しい。 ーーー http://www.moug.net/tech/exvba/0120008.htm では、シートにImage1を貼り付け、MouseMoveイベントで、マウスがコントロールの上にあるとき、別途図形のShapeを表示して、適当な所定時間経過後消すという方法が紹介されている。 ーー 上記にある例について、下記でテストしてみた Imageコントロールに画像(写真)を持ってくるコードは別途必要。 Private Sub Image1_MouseMove(ByVal Button As Integer, ByVal Shift As Integer, ByVal X As Single, ByVal Y As Single) 'If Not MyShape Is Nothing Then Exit Sub '複数表示防止 'Shapeを描画、テキストを表示して一定時間待機後削除 With ActiveSheet Set MyShape = .Shapes.AddShape(msoShapeRectangle, _ Image1.Left + X, _ Image1.Top + Y, _ 200, 15) End With 'Shapeにテキストを表示し、一定時間待機させた上で削除 MyShape.OLEFormat.Object.Text = "この写真はXXの写真です" DoEvents Application.Wait Now + TimeValue("00:00:01") MyShape.Delete Set MyShape = Nothing End Sub ーーーーーーーーーーーーー ただしImageコントロールが写真の数だけシート上に張り付き、VBAで、VBのコントロール配列のような仕組みが無いので、どのImageでマウスムーブが起こったか、コード的に簡潔に捉えにくい(VB.NETでは出来るようになった仕組みか)こと、各Imegeと写真名などの対応をどうつけるか、難しい点があって,利用は難しいのでは。

iori16
質問者

お礼

回答ありがとうございます。ちょっと確認するのが遅れてしまいました。 これはこれで、良いんですけど、ちょっと重たい気がします。 CPU(表示させまくると50%超えるんで) 自宅のパソコンでこれなのですから、会社のパソコンで皆に使わせるのは不安が残りますねー しかし、できないこともないことが分かったのでよかったです。 ありがとうございましたー

iori16
質問者

補足

お礼をした後で補足してしまいます。申し訳ありません ちょっと処理を軽くできないか、色々試してみてきづいたんですが、聞いてもよろしいでしょうか? なぜか、一度目のDoEventsが反応していないのか、上の処理を一回目行っただけではまったく表示してくれません。 (マウスを一秒未満だけ動いた場合表示されません) マウスを1秒以上ぐりぐり動かし続けて二回目の処理に突入するとなぜか表示されます。 そこで、DoEventsの所を DoEvents DoEvents と二回続けて処理させるようにしたら、一回目で映るようになりました。 これは私のパソコンのスペックが足りなく処理落ちを起こしているのが原因でしょうか? また、これの問題点として、待機処理時間中、CPUを食いすぎるという点があります。 1秒だけなら問題ないのですが、さすがに一秒だと見づらいので2秒、3秒と増やしてみたんですが、3秒で50%に到達してしまいます。 それを踏まえ表示時間を2秒に抑え、かつ、3秒間の実行を受け付けないインターバルを置く工夫をしてみました。 これよりもっと、処理を軽くすることは可能でしょうか? 以下がそのコードです Dim a As Integer Dim t As Long Private Sub Image1_MouseMove(ByVal Button As Integer, ByVal Shift As Integer, ByVal X As Single, ByVal Y As Single) 'If Not MyShape Is Nothing Then Exit Sub '複数表示防止 'Shapeを描画、テキストを表示して一定時間待機後削除 Debug.Print (Timer - t) If (Timer - t) < 5 Then Exit Sub t = Timer Dim myshape As Shape With ActiveSheet Set myshape = .Shapes.AddShape(msoShapeRectangle, _ Image1.Left + X, _ Image1.Top + Y, _ 200, 15) End With 'Shapeにテキストを表示し、一定時間待機させた上で削除 myshape.OLEFormat.Object.Text = "この写真はXXの写真です" DoEvents DoEvents Application.Wait Now + TimeValue("00:00:02") myshape.Delete Set myshape = Nothing a=a+1 Debug.Print "a=" & a End Sub ちなみにテストプレイしたのは自宅のパソコンのみで 会社の方ではまだ行っていないです。 参考までに私の(自宅の)パソコンのスペックは OS XP CPU Core2Duo E8400 3.0GHz グラフィックボード GeForece GT220 メモリ 2G エクセル 2007 12.06557.5000 SP2 MSO (12.0.6554.5001) です

関連するQ&A

  • エクセルに貼り付けてある画像

    エクセルに画像が貼り付けてあるのですが、 (図の挿入かもしれませんが、エクセルファイルを作った過程 等はわかりません。元の画像が、ビットマップなのか、GIFなのか 等の情報もありません。) その図をエクセルファイル内でマウスで拡大、縮小をした場合には それほど目だってぼやける事はないのですが、 コピーを行い、イラストレータやペイントに貼り付けて、拡大、縮小を 行うとかなり画像がぼやけてしまいます。 これは一体何故なのでしょうか? また、綺麗なままコピーはできないのでしょうか?

  • エクセルでセルにポインタすると表示されるコメントみたいなもの

    エクセル2007を利用しています。 送ってもらったエクセルファイルなのですが、 セルの上にポインタすると、コメントのようなものが表示されます。 ですが、行を挿入して下に長くしていったら、このコメントのようなものが反映されなくなってしまったので、挿入した下の行にも同じように、ポインタするとコメントのようなものを表示させたいです。 厳密にはコメントではないようで、セルに赤い目印は表示されませんし、該当するセルで右クリックをしてもメニューに「コメントの編集」や「コメントの削除」はひょじされません。 また「コメントを全て表示」ボタンをクリックしても、反映されません。 これは何という機能なのでしょうか。 また、範囲の編集や新規作成の方法も教えてください。 よろしくお願いします。

  • エクセルでの画像挿入

    エクセル(2003)で画像を挿入した際に その画像の右のセルにファイル名も入れたいのですが このようなマクロがあれば教えていただきたいです それと上記のとは別に画像にポインタを会わせた時に ファイル名をその場かもしくは どこかに表示させることは可能ですか? それと既に挿入してしまった画像のファイル名を知ることは可能ですか? あまりマクロには詳しくないので 分かりやすいとありがたいです

  • エクセルで画像の拡大ができない><

    エクセル2003を使っています。 シート内に、画像を貼り付けて、それを拡大しようとマウスポインタで横・縦に広げると、逆に画像が最小まで縮小されるという減少が起きて 困っています。 普段はそんな事にはならないのですが、今やろうとしている作業シートの画像のみがそうなるのです。 原因がわからずどうしたら良いのかアドバイスいただけませんでしょうか。

  • 【エクセル2003】カーソルをそのセルに合わせるとコメントが表示される方法は?

    こんにちは。 普通、セルにコメントをつけると、セルの右上に赤い三角のしるしが ついて、そのセルにマウスでマウスポインタを合せるとコメントが出て 表示されるようになります。 しかし、私が入手した表は若干動作がちがうのです。 マウスポインタを合わせなくても、カーソルをそこのセルに もっていくと、マウスポインタを合わせなくても常時コメントが 表示されるというものです。なお、そのコメントつきのセルには 赤い三角のしるしはついていません。 通常は、そのセルにマウスポインタを合わせたとき、コメントが 表示されるというのが普通ですが、そうではなくカーソルを 合わせると表示されるというものです。 そのセルは、赤い三角のしるしなし、マウスポインタを合わせなく ても、カーソルを合わせれば、常時コメントが表示されるというものです。 いったいこれはどうやるのでしょうか。 よろしくご教授ください。

  • エクセル、指定セルに画像の貼り付け方。

    エクセル2003を使用しています、指定セルサイズは、400×320が4箇所です。 現在、縮小ソフトでサイズを合わせて、図の挿入で貼り付けしています。 貼り付け位置は、B2セル、D2セル、B4セル、D4セル、ですが、書式が決まっているのでセルを結合した、同指定セルに画像を貼り付けする方法をお願い致しま。 先月までは、作成枚数が45枚でしたが、明日からは、新しい書式で120枚のシートに画像貼り付けて、ファイルを作らないといけないので大変困っています。 今回で書式が3回目の変更で今後も変更がありそうなので、大変、困っています。 よろしく、お願い致します。

  • エクセルで画像を透過させて画像の上に入力した文字を表示させる方法

    この度エクセルで、レイアウトして広告を作っているのですが、セルに入った文字列を「図をファイルから挿入」した画像の上に表示させてレイアウトしたいのですが、どうしてもセルに入った文字が消えて、指定した画像で隠れてしまいます。 なんとか画像の上にセルに入った文字列を表示させる方法はありませんか?? 教えてください

  • エクセル、指定セルに画像の貼り付け方。

    エクセル2003を使用しています、指定セルサイズは、400×320が4箇所です。 現在、縮小ソフトでサイズを合わせて、図の挿入で貼り付けしています。 貼り付け位置は、B2セル、D2セル、B4セル、D4セル、ですが、書式が決まっているのでセルを結合した、同指定セルに画像を貼り付けする方法をお願い致しま。 貼り付け方法をお教え頂いたのですが、貼り付け箇所が4箇所なのですが、3箇所しか貼り付け出来ずにおります。 よろしく、お願い致します。

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

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

  • excelでの在庫管理表作成で画像を入れ込む件

    excelで在庫管理表を作成しているのですが数が多くなるとこの商品が何なのかわからなくなってきます。そこで画像があるといいかなと思うのですがそのまま挿入すると画像(大きさによらず)だらけになってしまい不便です。セルにマウスを当てたときだけ、クリックしたときだけ画像が表示されるような機能というのはありますでしょうか?excelで現にある機能で言いますと【コメントの挿入】みたいな感じです。(これはテキストだけですが)