如何使用 VBA 进行屏幕截图

How to screen capture using VBA

我正在尝试创建屏幕截图。我有一个带有框架的用户表单,我有下面的代码,所以在按键时,框架在用户表单周围移动

Private Sub Frame1_KeyPress(ByVal KeyAscii As MSForms.ReturnInteger)

Select Case LCase(Chr(KeyAscii))
Case "w"
    Frame1.Top = Frame1.Top - 1
Case "s"
    Frame1.Top = Frame1.Top + 1
Case "a"
    Frame1.Left = Frame1.Left - 1
Case "d"
    Frame1.Left = Frame1.Left + 1
End Select

End Sub

我想知道的是,如果我再创建一个frame,就叫这个frame2,当我把原来的frame移到frame2上面的时候,有没有办法进行丝网印刷?它与像单元格一样的两个帧的值有什么关系还是我完全偏离了目标?

提前致谢

尝试:

Private Sub Frame1_KeyPress(ByVal KeyAscii As MSForms.ReturnInteger)

Select Case LCase(Chr(KeyAscii))
Case "w"
    Frame1.Top = Frame1.Top - 1
Case "s"
    Frame1.Top = Frame1.Top + 1
Case "a"
    Frame1.Left = Frame1.Left - 1
Case "d"
    Frame1.Left = Frame1.Left + 1
End Select

If Frame1.Top = Frame2.Top And Frame1.Left = Frame2.Left Then
    Application.SendKeys "({1068})"
    Me.Hide
    ActiveSheet.Paste 'paste somewhere
End If


End Sub