2017-11-27 22 views
1

を発射停止は私がはThisWorkbookにこのコードを持っているエクセル:新しい参照が追加されると、イベント

Public WithEvents App As Application 

Private Sub Workbook_Open() 
    Application.EnableEvents = True 
    ' it is a simple control RefEdit, but it could be anything: 
    ThisWorkbook.VBProject.References.AddFromGuid{00024517-0000-0000-C000-000000000046},0,0 
    Set App = Application 
End Sub 

Private Sub App_SheetSelectionChange(ByVal Sh As Object, ByVal Target As Range) 
    Debug.Print "Selection changed" 
End Sub 

このコードは、ワークブックのオープンイベントに新しい参照を追加します。 GUIDからの参照を追加する行が実行されると、ExcelはSheetSelectionChangeイベントを停止します。他のイベントと同様に。その行にコメントすると、すべてのイベントが正常に実行されます。私が間違っていることを教えてください。プロジェクト内に新しい参照を追加する関数を呼び出すのに適していますか?

答えて

1

明らかに、イベントと新しい参照を追加することはお互いを愛していません - reference。モジュールで

Private Sub Workbook_Open() 

' 'Must have reference to the VBE IDE to access reference information 
' ' Hardcode adding the GUID for the VBE IDE... 
    ThisWorkbook.VBProject.References.AddFromguid "{00-000000000046}", 0, 0 

    Application.OnTime Now() + TimeValue("00:00:01"), "SetupApplicationEvents" 

End Sub 

Sub SetupApplicationEvents 
    Set App = Application 
End Sub 
+0

いいえ、まだ発射を停止したイベント

これ

は、それを回避する方法が提案されます。 – polis

+0

@polis - 編集してみて、それがあなたのために働いた正確な方法を自由に編集してください。 – Vityata

+1

それはうまくいった。ありがとうございました。 – polis

関連する問題