2013-11-21 119 views
2

我有一個作爲表單構建的excel電子表格,我需要在工作簿中的不同標籤上的多個範圍中添加簽名。將剪貼板中的圖像粘貼到Excel中

我已經有了這段代碼,它將從剪貼板粘貼到我的工作表上,它似乎只想粘貼到工作表的左上角,並且不想調整爲設置的值。

我怎樣才能把它粘貼到我想要的尺寸和我想要的尺寸上?從這個我會希望能夠複製這一點,並粘貼到其他數張具有不同範圍的位置

Sub Signatures() 
    Sheets("MySheet1").Select 
    Range("A11").Select 
    ActiveSheet.Paste 
    Selection.ShapeRange.ScaleHeight 0.8513513514, msoFalse, msoScaleFromTopLeft 
    Selection.ShapeRange.ScaleWidth 0.9399224806, msoFalse, msoScaleFromTopLeft 
End Sub 
+0

這是繞了錯誤的方式。如果某個其他進程將其他內容複製到剪貼板或剪貼板中,該怎麼辦?圖像是否存儲在任何文件中? –

+0

我的過程是,打開油漆內的jpg文件做選擇複製,點擊複製,進入excel工作簿並點擊簽名按鈕。然後我希望它將複製的簽名粘貼到我想要的位置,並將其大小設置爲我將預先確定的相關大小。什麼是更好的方法來做到這一點? – Jez

+0

希望我的帖子在評論中回答你的問題? –

回答

1

我的過程中,打開油漆中的JPG文件進行選擇複製,點擊複製,進入excel工作簿並點擊地點簽名按鈕。然後我希望它將複製的簽名粘貼到我想要的位置,並將其大小設置爲我將預先確定的相關大小。 什麼是更好的方法來做到這一點?

保存JPG文件。比方說,你救了它作爲"C:\Signature.Jpg"

試試這個代碼

Sub InsertSignatures() 
    Dim ws As Worksheet 
    Dim ImgPath As String 
    Dim W As Double, H As Double 
    Dim L As Long, T As Long 

    Set ws = ThisWorkbook.Sheets("MySheet1") 

    '~~> Change this to the releavnt pic file 
    ImgPath = "C:\Signature.Jpg" 

    With ws 
     W = 100     '<~~ Width 
     H = 100     '<~~ Height 
     L = .Range("A11").Left '<~~ Left Position for image 
     T = .Range("A11").Top '<~~ Top Position for image 

     With .Pictures.Insert(ImgPath) 
      With .ShapeRange 
       .LockAspectRatio = msoTrue 
       .Width = W 
       .Height = H 
      End With 
      .Left = L 
      .Top = T 
      .Placement = 1 
     End With 
    End With 
End Sub 

輸出

enter image description here

+0

精湛的東西!工作一種享受:-)感謝您的幫助。開始時有一些手動工作,讓圖像只有圖像中的簽名部分。我說這是因爲我正在掃描已簽名的表單,然後從此簽名並添加到Excel電子表格表格 – Jez

+0

很高興它解決了:) –

相關問題