首页 > 解决方案 > 如何使用 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

我想知道的是,如果我创建另一个框架,让我们调用这个 frame2,当我将原始框架移到 frame2 上时,有没有办法丝网印刷?它与像单元格这样的两个框架的值有什么关系,还是我完全偏离了标记?

提前致谢

标签: vbaexceluserformscreen-capture

解决方案


尝试:

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

推荐阅读