Excel写真帳の写真を挿入マクロを教えて下さい。
Excelで工事写真帳での写真枠のダブルクリックで写真挿入の
マクロを教えて下さい。
使用パソコン
第1パソコン・Windows7・Excel2013
第2パソコン・WindowsXp・Excel2003
現在Excel2013をメインに使用しています。
今までExcel2003でExcelでの工事写真帳と資料用の写真帳をマクロで
写真挿入枠をセルの結合で作成して、ダブルクリックで写真データ保存の
フォルダを開いて写真の挿入をしていました。
Excel2013で使用すると
データ(工事写真帳と資料用の写真帳)を別のパソコンへ移動したり
データを第三者への提出したり、写真データの移動/削除すると
下記のような状態(コメント)になります。
リンクされたイメージを表示出来ません。ファイルが移動または削除されたか、
名前が変更された可能性があります。リンクに正しいファイル名と場所が
指定されていることを確認して下さい。
状況は、たぶんリンク貼り付けになってしまう仕様に新Excelはなっている。
Excel 2010 で Pictures.Insert メソッドを使用して図をワークシートに
挿入すると図がリンク オブジェクトとして挿入される
http://support.microsoft.com/kb/2396509/ja
だと思っててます。
リンク回避もしくはマクロをどの様に変更したら良いのでしょうか。
使用しているマクロは下記です。(Excel2003で使用していたマクロ)
よろしくご教授をお願いします。。
Private Sub Worksheet_BeforeDoubleClick(ByVal Target As Range, Cancel As Boolean)
Dim fname As String
Dim pos As Integer
If Target.Column <> 2 Then Exit Sub
If Target.Cells.count = 1 Then Exit Sub
Cancel = True
fname = Application.GetOpenFilename()
If fname = "False" Then Exit Sub
pos = InStrRev(fname, ".")
If pos > 0 Then
Select Case LCase(Mid(fname, pos + 1))
Case "jpeg"
Case "jpg"
Case "gif"
Case Else
Exit Sub
End Select
Else
Exit Sub
End If
With ActiveSheet.Pictures.Insert(fname)
.ShapeRange.LockAspectRatio = msoTrue
.Height = Target.Height
If .Width > Target.Width Then
.Width = Target.Width
End If
.Top = Target.Top + (Target.Height - .Height) / 2
.Left = Target.Left + (Target.Width - .Width) / 2
End With
End Sub
お礼
ありがとうございます。 早速、やってみます。