2016-01-24 54 views
-1

我在Visual Basic中编写了此加载项,并且需要打开和关闭它。Excel加载项KeyPress/KeyDown实现(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事件。

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

回答

0

要赶上键盘事件,你可以用this code(这是在C#中,但没有翻译过大)

要跳过默认F1的动作,使用此代码:

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