Ereignismakro bei De- Aktivierung eines Dokuments
Hallo Frank,
ich berichtete von dem Problem…
- Ich klicke im Excelmenü auf die Schaltfläche [Worddatei 1],
die wird angezeigt
und mit Strg+d kehre ich zum Excelmenü zurück, wunderbar!
- Ich klicke im Excelmenü auf die Schaltfläche [Worddatei 2],
die wird angezeigt
und mit Strg+d kehre ich zum Excelmenü zurück, super!
- Ich klicke im Excelmenü auf die Schaltfläche [Worddatei 1]
und es wird die
Worddatei 2 aufgerufen, schade!
kann ich nicht nachvollziehen, was genau meinst du mit Excel Menu?
Lade doch mal die Excel-Mappe hoch, wichtig sind die vorhandenen Makros und ggfs. Aufrufschaltflächen.
Zelleninhalte sind uninteressant *denk*
Desgleichen mit Worddatei 1.
Hochladen mit fileupload o.ä., s. FAQ:2606
Daher suche ich nach einer Möglichkeit beim Verlassen einer
Worddatei [Strg+d] zu deaktivieren/zurückzusetzen
Das verstehe ich immer noch nicht. Beim Verlassen des Dokuments wird doch Strg+d ungültig, es wirkt nur in dem einen Dokument wo der Code steht.
Egal, das nachstehende Klassenmodul reagiert auf De- oder Aktivierung des Fensters von Word-Dokumenten.
Im VB-Editor, Einfügen—Klassenmodul, dortrein diesen Code:
Option Explicit
Public WithEvents oApp As Word.Application
Private Sub oApp_WindowActivate(ByVal Doc As Document, ByVal Wn As Window)
If Doc.Name = ThisDocument.Name Then Call Ein
End Sub
Private Sub oApp_WindowDeactivate(ByVal Doc As Document, ByVal Wn As Window)
If Doc.Name = ThisDocument.Name Then Call Aus
End Sub
In ein Standardmodul, Modul1 o.ä.:
Option Explicit
Public x As New Klasse1
Sub Navigatortest()
MsgBox „Huhu“
End Sub
Sub Ein()
With Application
.CustomizationContext = ThisDocument
.KeyBindings.Add KeyCode:=BuildKeyCode(wdKeyControl, wdKeyD) \_
, KeyCategory:=wdKeyCategoryCommand \_
, Command:="Navigatortest"
End With
End Sub
Sub Aus()
With Application
.CustomizationContext = ThisDocument
.KeyBindings.ClearAll
End With
End Sub
In das Modul „ThisDocument“:
Option Explicit
Private Sub Document_Open()
Set x.oApp = Word.Application
Call Ein
End Sub
Gruß
Reinhard