プロが教える店舗&オフィスのセキュリティ対策術

エクセル(2003)で画像を挿入した際に
その画像の右のセルにファイル名も入れたいのですが
このようなマクロがあれば教えていただきたいです

それと上記のとは別に画像にポインタを会わせた時に
ファイル名をその場かもしくは
どこかに表示させることは可能ですか?

それと既に挿入してしまった画像のファイル名を知ることは可能ですか?

あまりマクロには詳しくないので
分かりやすいとありがたいです

A 回答 (3件)

http://www.excel.studio-kazu.jp/kw/2008021515105 …
のコードをじっくり、1行1行しゃぶりつくすほど勉強したら、わかると思う。でも難しいと思う。初心者が手がける課題ではないように思う。
後半は1行追加して
Sub disp_name()
Dim shp As Shape
If TypeName(Application.Caller) = "String" Then
Set shp = ActiveSheet.Shapes(Application.Caller)
MsgBox shp.TopLeftCell.Value
Cells(10, "A") = shp.TopLeftCell.Value '<-追加
End If
End Sub
とすると、クリックした画像のファイル名がA10セルにセットされる
ようだ。画像が多数有る場合は、ずらしたセルにファイル名を表示するテクニックは略。
ーーー
ほかにGoogleで「エクセル 挿入画像 ファイル名」で照会し、出てくる多数の記事の中で、良さそうなものを読んで勉強のこと。
    • good
    • 0
この回答へのお礼

ありがとうございます
参考にさせていただきます

お礼日時:2009/05/28 02:08

私もあまりマクロには詳しくないので


>画像にポインタを会わせた時に
>ファイル名をその場かもしくは
>どこかに表示させることは可能ですか?

挿入した画像の上で右クリック「ハイパーリンク」をクリック
画像の元のアドレスを入力もしくは指定しておけば可能です。

>既に挿入してしまった画像のファイル名を知ることは可能ですか?
難しいでしょう。
「エクセルでの画像挿入」の回答画像2
    • good
    • 0
この回答へのお礼

ありがとうございます
参考にさせていただきます

お礼日時:2009/05/28 02:07

≪画像挿入と画像名書き出し≫


Sub test1()
  Dim ppath As String
  Dim pname As String

  ppath = "C:\Users\nekonatsu\Pictures\無題.jpg" '--画像のフルパス
  pname = Right(ppath, Len(ppath) - InStrRev(ppath, "\")) '--名前
  ActiveCell.Offset(-1).Value = pname     '--名前書き出し
  With ActiveSheet.Pictures.Insert(ppath)   '--挿入
    .Left = ActiveCell.Left         '--セル左枠線基準
    .Top = ActiveCell.Top         '--セル上枠線基準
    .ShapeRange.LockAspectRatio = msoTrue '--縦横比保持
    '.ShapeRange.LockAspectRatio = msoFalse '--縦横個別変更
    .ShapeRange.Height = 200        '--高さ
    .ShapeRange.Width = 360         '--幅
  End With
End Sub

≪ポップヒント≫
最後に挿入した図形・画像が対象
Sub test2()
  ActiveSheet.Hyperlinks.Add _
    Anchor:=ActiveSheet.Shapes(ActiveSheet.Shapes.Count), _
    Address:=ActiveWorkbook.Name, _
    ScreenTip:="画像の名前"
End Sub

≪画像名抽出≫
Excel2007以外は未検証
最後に挿入した図形・画像が対象
Sub test3()
  MsgBox ActiveSheet.Shapes(ActiveSheet.Shapes.Count).AlternativeText
End Sub
    • good
    • 0
この回答へのお礼

ありがとうございます
参考にさせていただきます

お礼日時:2009/05/28 02:05

お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!