|
そのコードは、GetOpenFilename を使って「画像の保存先フォルダーから任意の
ファイルを選んで、マクロを実行しているブックへ挿入する」という形になっています。
従って
>画像を挿入したxlsファイルをメールに添付
というのは適切ではありません。そのような場合、送信先のPCには当然 Excel が
インストールされているという前提になるのだから、マクロをエクスポートした
コードのみのファイル(拡張子が bas とか cls になっている)と共に、画像ファイル
(bmp や jpgなど)を添付して送ります。そしてメール本文に、マクロファイルは
ExcelのVBEでインポートし、画像ファイルは「通常エクセルを開いているフォルダー」
へ保存してもらうよう、説明を付けておきます。
それらのことが出来るなら、のコードを
Private Sub Worksheet_BeforeDoubleClick(ByVal Target As Range, _
Cancel As Boolean)
Dim Fname As String
Cancel = True
With Application
ChDir .DefaultFilePath
Fname = .GetOpenFilename("JPEG形式(*.jpg), *.jpg", , _
"画像を選択して下さい")
End With
If Fname = "False" Then Exit Sub
With Target
ActiveSheet.Shapes.AddPicture(Filename:=Fname, _
Left:=.Left, Top:=.Top, Width:=.Width, Height:=.Height)
End With
End Sub
というように修正してから、エクスポートすれば良いでしょう。
|
|