Folgendes Problem:
Ich möchte Daten aus einer Excel-Tabelle (unter Excel) in eine Excel-Tabelle, die ich in ein Word-Dokument eingebettet habe, übertragen. Das klappt ja auch.
Aber - mein VBA-Projekt soll beim Verlassen des Excel-Fensters eine meiner Menüleisten ausschalten, und sie danach beim erneuten Aktivieren von Excel wieder einblenden. Dafür habe ich folgenden (vereinfachten) Versuch unternommen:
Code in "Diese Arbeitsmappe":
=============================
Dim AppClass As New EventClass
Private Sub workbook_open()
Set AppClass.App = Application
End Sub
Code in "Eventclass" Klassenmodul:
==================================
Public WithEvents App As Application
Private Sub App_WindowDeactivate(ByVal Wb As Workbook, ByVal Wn As Window)
MsgBox "Altes Fenster: " & Wn.Caption
End Sub
Private Sub App_WindowActivate(ByVal Wb As Workbook, ByVal Wn As Window)
MsgBox "Neues Fenster: " & Wn.Caption
End Sub
Das klappt bestens, wenn ich zwischen zwei Excel-Workbooks die Fenster wechsele.
Auch meldet das Programm korrekt, wenn ich von meinem Excel-Workbook in das Workbook in der Word-Datei hinüberwechsele. Aber - wenn ich dann wieder zurückwechsele, dann bemerkt das Programm es nicht und gibt mir keine Meldung. Es denkt nämlich, ich wäre sowieso immer noch in Excel.
Das Programm meldet mir also den Wechsel in die Tabelle in Word, merkt ihn sich jedoch nicht.
Ich hoffe, mein Problem kommt rüber, und noch mehr hoffe ich, jemand weiss eine Lösung.
Danke für eine Antwort, Arno.