• 締切済み

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 ------------------------------------------------------------------------- お願いいたします。

みんなの回答

  • watabe007
  • ベストアンサー率62% (476/760)
回答No.1

'===============中央へ調整 >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

関連するQ&A

専門家に質問してみよう