Warning: file_get_contents(/data/phpspider/zhask/data//catemap/0/vba/15.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
将剪贴板中的图像粘贴到Excel中_Excel_Vba - Fatal编程技术网

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

将剪贴板中的图像粘贴到Excel中,excel,vba,Excel,Vba,我有一个excel电子表格,我已经建立了一个表单,我需要添加一个签名到工作簿中不同选项卡上的几个范围 我有这个代码,它将从剪贴板粘贴到我的工作表上,它似乎只想粘贴在工作表的左上角,不想调整大小到设置的值 我怎样才能让它粘贴到我想要的地方和大小?从这一点,我想能够复制这一点,并粘贴到其他几张不同范围的位置 Sub Signatures() Sheets("MySheet1").Select Range("A11").Select ActiveSheet.Paste

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

我的过程是,在paint中打开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
子插入签名()
将ws设置为工作表
Dim ImgPath作为字符串
调暗W为双精度,H为双精度
我和你一样长,我和你一样长
设置ws=ThisWorkbook.Sheets(“MySheet1”)
“~~>将此更改为相关pic文件
ImgPath=“C:\Signature.Jpg”
与ws

W=100'这是错误的做法。如果其他进程将其他内容复制到剪贴板,或者您的剪贴板被清除,该怎么办?图像是否存储在任何文件中?我的过程是,在paint中打开jpg文件,选择要复制的内容,单击“复制”,进入excel工作簿并单击“放置签名”按钮。然后我希望它将复制的签名粘贴到我想要的位置,并将大小设置为我将预先确定的相关大小。有什么更好的方法可以做到这一点?希望我下面的帖子能回答你评论中的问题?太棒了!!工作请客:-)谢谢你的帮助。在开始的时候有一点手工工作,让图像只包含来自图像的签名部分。我这样说是因为我正在扫描已签名的表单,然后从中获取签名并将其添加到excel电子表格表单中