如何使用 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
我正在尝试创建屏幕截图。我有一个带有框架的用户表单,我有下面的代码,所以在按键时,框架在用户表单周围移动
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