Access-Fenster in den Vordergrund holen

Wenn Sie von Access aus einmal ein anderes Fenster aufrufen, möchten Sie vielleicht sicherstellen, dass der Blick nach dem Abschließen der dort durchgeführten Arbeiten wieder bei der Access-Anwendung landet. Wenn Sie etwa von Access aus den Dialog zum Auswählen eines Outlook-Ordners auswählen und das Outlook-Fenster ist zu diesem Zeitpunkt bereits geöffnet, dann gerät nach dem Schließen des Dialogs das Outlook-Fenster in den Vordergrund.

Um das Access-Fenster wieder nach vorn zu holen, sind nun zwei Schritte nötig: Als Erstes müssen Sie wie im Beitrag Titel des aktiven Fensters ermitteln (www.access-im-unternehmen.de/1001) beschrieben den Titel des Access-Fensters ermitteln und diesen etwa in einer Variablen speichern. Zweitens müssen Sie das so bezeichnete Fenster wieder in den Vordergrund holen.

Dabei hilft Ihnen die eingebaute Funktion AppActivate. Sie erwartet als Parameter lediglich den Titel des zu aktivierenden Fensters. Die folgende kleine Beispielprozedur ermittelt den Titel des aktuellen Access-Fensters und speichert diesen in der Variablen strFenster. Dann ruft sie den Outlook-Dialog mit der Hilfsfunktion VerzeichnisWaehlen auf. Danach sollte, wenn das Outlook-Fenster zuvor bereits geöffnet war, Outlook im Vordergrund bleiben. Schließlich holt AppActivate mit dem Fenstertitel aus strFenster das Access-Fenster wieder in den Vordergrund:

Private Sub cmdOutlook_Click()
     Dim strFenster As String
     strFenster = GetActiveWindowTitle
     Me!txtVerzeichnis = VerzeichnisWaehlen
     AppActivate strFenster
End Sub

Wenn Sie dies ausprobieren möchten, finden Sie der Vollständigkeit halber hier noch die Funktion VerzeichnisWaehlen:

Public Function VerzeichnisWaehlen() As String
     Dim objOutlook As Outlook.Application
     Dim objMAPI As Outlook.NameSpace
     Dim objFolder As Outlook.Folder
     Set objOutlook = New Outlook.Application
     Set objMAPI = objOutlook.GetNamespace("MAPI")
     Set objFolder = objMAPI.PickFolder
     If Not objFolder Is Nothing Then
         VerzeichnisWaehlen = objFolder.FolderPath
     End If
End Function

Diese Funktion öffnet den Dialog Ordner auswählen. Wenn das Outlook-Fenster bereits geöffnet ist, wird das Outlook-Fenster aktiviert und der Dialog vor diesem angezeigt (s. Bild 1). Schließt der Benutzer den Dialog, behält das Outlook-Fenster dennoch den Fokus. Erst die AppActivate-Anweisung holt den Fokus zurück zu Access.

Ende des frei verfügbaren Teil. Wenn Du mehr lesen möchtest, hole Dir ...

den kompletten Artikel im PDF-Format mit Beispieldatenbank

diesen und alle anderen Artikel mit dem Jahresabo

Schreibe einen Kommentar