- 締切済み
VBAの写真貼り付けコードについて教えてください。
写真をダブルクリックで簡単に貼り付けられるVBAのプログラムを友人に貰ったのですが、 追加で図の外枠に黒の2.5ptくらいの線を縁取る文を追加しようと、マクロで記録したプログラムを 入れてみたのですが上手く動作しません。 コードが --------------------------------------------------------------------------------- Private Sub Worksheet_BeforeDoubleClick(ByVal Target As Excel.Range, Cancel As Boolean) Cancel = True If Target.MergeCells = False Then Exit Sub '===============画像選択 myF = Application.GetOpenFilename _ ("jpg bmp tif png gif,*.jpg;*.bmp;*.tif;*.png;*.gif", , "画像の選択", , False) If myF = False Then Exit Sub End If '===============画像の掃除 For Each mySP In ActiveSheet.Shapes myAD1 = mySP.TopLeftCell.MergeArea.Address myAD2 = Target.Address If myAD1 = myAD2 Then mySP.Delete Next '===============画像の貼り付け Set mySP = ActiveSheet.Pictures.Insert(myF) '===============タテヨコの縮尺を保持 myHH = Target.Height / mySP.Height myWW = Target.Width / mySP.Width If myHH > myWW Then mySP.Height = mySP.Height * myWW mySP.Width = Target.Width Else mySP.Height = Target.Height mySP.Width = mySP.Width * myHH End If '===============中央へ調整 myHH2 = (Target.Height / 2) - (mySP.Height / 2) myWW2 = (Target.Width / 2) - (mySP.Width / 2) mySP.Top = Target.Top + myHH2 mySP.Left = Target.Left + myWW2 Set mySP = Nothing End Sub ------------------------------------------------------------------------- お願いいたします。
- みんなの回答 (1)
- 専門家の回答
みんなの回答
- watabe007
- ベストアンサー率62% (476/760)
'===============中央へ調整 >myHH2 = (Target.Height / 2) - (mySP.Height / 2) >myWW2 = (Target.Width / 2) - (mySP.Width / 2) >mySP.Top = Target.Top + myHH2 >mySP.Left = Target.Left + myWW2 '===============図の外枠に黒の2.5ptくらいの線 With ActiveSheet.Rectangles.Add(mySP.Left, mySP.Top, mySP.Width, mySP.Height) .ShapeRange.Fill.Visible = msoFalse .ShapeRange.Line.Weight = 2.5 End With Set mySP = Nothing End Sub