首页 文章

将剪贴板中的图像粘贴到Excel中

提问于
浏览
2

我有一个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

1 回答

  • 1

    我的过程是,在paint中打开jpg文件进行选择复制,单击copy,进入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
    

    OUTPUT

    enter image description here

相关问题