Live-Forum - Die aktuellen Beiträge
Anzeige
Archiv - Navigation
144to148
Aktuelles Verzeichnis
Verzeichnis Index
Übersicht Verzeichnisse
Vorheriger Thread
Rückwärts Blättern
Nächster Thread
Vorwärts blättern
Anzeige
HERBERS
Excel-Forum (Archiv)
20+ Jahre Excel-Kompetenz: Von Anwendern, für Anwender
144to148
144to148
Aktuelles Verzeichnis
Verzeichnis Index
Verzeichnis Index
Übersicht Verzeichnisse
Inhaltsverzeichnis

Zu aktivem Fenster wechseln

Zu aktivem Fenster wechseln
07.08.2002 08:55:59
Stefan
Hallo Experten,

Danke erstmal für die Unterstützung, die hier in diesem Forum einfach super ist!!

Und jetzt zu meiner Frage:
Dem Excel wird aus einer anderen Anwendung eine Tabelle übergeben (SAP). Anschließend wird im Excel ein Makro ausgeführt, das am Ende, nach dem Speichern der Datei, diese schließt und wieder öffnet (damit SAP den Dialog wieder schließen kann...)
Nachdem das Makro fertig ist, ist Excel allerdings im Hintergrund. In der Taskleiste ist Excel zwar aktiv, aber trotzdem im Hintergrund.

Wie kann ich Excel am Ende des Makros wieder in den Vordergrund holen?

Danke schon im Voraus.

Gruß
Stefan

6
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
Re: Zu aktivem Fenster wechseln
07.08.2002 09:05:56
Frederik Fuhrmann
Hallo Stefan!

Das ist interessant, ich beschäftige mich mit dem gleichen Bereich (Daten aus SAP per Makro verarbeiten).

Probiers mal mit

Application.WindowState = xlmaximized


Gruß
F.

Re: Zu aktivem Fenster wechseln
07.08.2002 09:14:59
Stefan
Funktion:
Application.WindowState = xlmaximized

funktioniert leider nicht.
Excel ist hinterher immernoch im Hintergrund...
SAP Schließt den Excelexport Dialog und bleibt dann stehen.

Gruß
Stefan

Re: Zu aktivem Fenster wechseln
07.08.2002 09:20:28
Frederik Fuhrmann
Probiers mal damit:


Public Declare Function FindWindow Lib "user32" Alias "FindWindowA" (ByVal lpClassName As String, ByVal lpWindowName As String) As Long
Public Declare Function SetWindowPos Lib "user32" (ByVal hwnd As Long, ByVal hWndInsertAfter As Long, ByVal x As Long, ByVal y As Long, ByVal cx As Long, ByVal cy As Long, ByVal wFlags As Long) As Long
Public Declare Function ShowWindow Lib "user32" (ByVal hwnd As Long, ByVal nCmdShow As Long) As Long
Public Declare Function SystemParametersInfo Lib "user32" Alias "SystemParametersInfoA" (ByVal uAction As Long, ByVal uParam As Long, ByRef lpvParam As Any, ByVal fuWinIni As Long) As Long

'Excel in den Vordergrund
Sub Fixierung()
Dim Zugriffsnummer&, dummy, Vorher As Boolean
Zugriffsnummer = FindWindow("XLMAIN", vbNullString)
dummy = SetWindowPos(Zugriffsnummer, -1, 0, 0, 0, 0, 3)
dummy = ShowWindow(Zugriffsnummer, 3)
Zugriffsnummer = FindWindow("Shell_TrayWnd", vbNullString)
dummy = ShowWindow(Zugriffsnummer, 0)
dummy = SystemParametersInfo(97, True, Vorher, 0)

End Sub

Anzeige
Re: Zu aktivem Fenster wechseln
07.08.2002 09:34:44
Stefan
Danke,
aber das ist schon etwas massiv!! ;-)

Da das Makro auf sehr vielen verschiedenen Rechnern laufen muß, will ich es eigentlich nicht mit windowsspezif. Befehlen überladen...

Gruß
Stefan

Weiß nicht weiter !
07.08.2002 09:37:44
Frederik Fuhrmann
Hmm, also wie das unter anderen Betriebssystemen als Windows geht kann ioch dir auch nicht sagen!
Re: Zu aktivem Fenster wechseln
07.08.2002 14:49:08
Martin Beck
Hallo Stefan,

ich kann es nicht ausprobieren, aber hast Du schon mal die ActivateMicrosoftApp-Methode versucht? Aus der Online-Hilfe:

**********************
Aktiviert eine Microsoft-Anwendung. Falls die Anwendung bereits ausgeführt wird, aktiviert diese Methode das betreffende Anwendungsfenster. Wird die Anwendung noch nicht ausgeführt, startet die Methode eine neue Instanz der Anwendung.

Syntax

Ausdruck.ActivateMicrosoftApp(Index)

Ausdruck Erforderlich. Ein Ausdruck, der ein Application-Objekt zurückgibt.

Index Long erforderlich. Gibt die zu aktivierende Microsoft-Anwendung an. Zulässig ist eine der folgenden XlMSApplication-Konstanten: xlMicrosoftWord, xlMicrosoftPowerPoint, xlMicrosoftMail, xlMicrosoftAccess, xlMicrosoftFoxPro, xlMicrosoftProject oder xlMicrosoftSchedulePlus.

***************************

Gruß
Martin Beck

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige