Excel加载项KeyPress / KeyDown实现(Visual Basic)

时间:2016-01-24 03:04:20

标签: excel vba add-in

我在visual basic中编写了这个加载项,我需要打开和关闭它。

Imports Microsoft.Office.Interop.Excel

Public Class ThisAddIn

    Private Sub ThisAddIn_Startup() Handles Me.Startup

    End Sub

    Private Sub ThisAddIn_Shutdown() Handles Me.Shutdown

    End Sub

    Sub Application_SheetChange(Sh As Object, Target As Range) Handles Application.SheetChange

        Target.Offset(0, 1).PrintOut(Copies:=1, Preview:=True)

    End Sub
End Class

我编写了一个伪代码算法来解决这个问题。

Imports Microsoft.Office.Interop.Excel

Public Class ThisAddIn

    int toggle = 0 'off

    Sub Press F1 key
        if (toggle == 1) 'if on turn off
            toggle = 0
        else
            toggle = 1 'else turn on

      End Sub


    Sub Application_SheetChange(Sh As Object, Target As Range) Handles Application.SheetChange

        if(toggle == 1)

            Target.Offset(0, 1).PrintOut(Copies:=1, Preview:=True)

    End Sub

End Class

我有if语句和变量工作。我真的需要帮助实现KeyPress或KeyDown功能。

我想使用F1键,所以我认为它需要是一个KeyDown事件。

如果您有任何建议,我们将不胜感激。

1 个答案:

答案 0 :(得分:0)

要捕获键盘事件,您可以使用this code(它在C#中,但对于翻译来说不是太大)

要跳过默认的F1动作,请使用以下代码:

Application.OnKey("{F1}", "")