2017-03-07 46 views
0

私はExcelの印刷領域の右側にロゴを挿入しようとしています。これがTOPとLeftの参照のみで行われていることを考えて、私は以下を試しました:VBA右揃え

Private Sub InsertLogo(Name As String) 

    Dim MyPic As Shape 
Dim MyLeft As Single, MyTop As Single 

FilePath = FolderPath + Name + ".png" 

If Not Dir(FilePath) <> "" Then 

MsgBox ("No logo exists for " & Name & " in Logos. Save the logo as .png file in the logo folder as " & Name & ".") 
Exit Sub 
End If 

MyTop = MySht.[y7].Top 
MyLeft = MySht.[y7].Left - MyPic.Width 

Set MyPic = MySht.Shapes.AddPicture(FilePath, _ 
      msoFalse, msoTrue, MyLeft, MyTop, -1, -1) 

誰にも何か提案がありますか?

答えて

0

これらの行で置き換えます。これらにより

MyTop = MySht.[y7].Top 
MyLeft = MySht.[y7].Left - MyPic.Width 
Set MyPic = MySht.Shapes.AddPicture(FilePath, _ 
      msoFalse, msoTrue, MyLeft, MyTop, -1, -1) 

With MySht.[y7] 
    Set MyPic = .Worksheet.Shapes.AddPicture(FilePath, _ 
     msoFalse, msoTrue, .Left, .Top, -1, -1) 
End With 
With MyPic 
    .Left = .Left - .Width 
End With 
+0

はあなたに非常に多くの@EEMありがとうございます。私は様々な写真のサイズにいくつかの問題が発生したようです。最後に以下を挿入しようとした: MyPic.Height = 40 '' MyPic.Width/MyPic.Height場合幅はその後MyPic.Height = 25 3 MyPic.Width/MyPic.Height>場合高 を支配する場合に調整> 4 Then MyPic.Height = 20 しかし、私は写真のスケーリングは、挿入の前に行う必要がありますか? – Naits

+0

あなたの元の質問に答えられたようです。写真の拡大縮小は新しい問題です。 – EEM