【问题标题】:How to screen capture using VBA如何使用 VBA 进行屏幕截图
【发布时间】:2018-07-23 21:23:26
【问题描述】:

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

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 上时,有没有办法丝网印刷?它与两个框架的值(如单元格)有什么关系,还是我完全偏离了标记?

提前致谢

【问题讨论】:

    标签: vba excel userform screen-capture


    【解决方案1】:

    试试:

    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
    

    【讨论】:

    • 这是一种享受。谢谢您的帮助。我必须制作一个原始框架的副本才能工作,所以要弄清楚它如何与另一个不同尺寸的盒子一起工作。再次感谢您的帮助。
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2012-04-03
    • 1970-01-01
    • 1970-01-01
    • 2014-10-11
    • 2014-07-30
    • 1970-01-01
    相关资源
    最近更新 更多