Hi,
ich habe im Forum unter "Grundgerüst für eine Excel-Klasse" ein schönes Codebeispiel von Axel gefunden, um per API-Handle ein Excel-fenster in den Vordergrund zu holen:
http://atnotes.de/index.php/topic,39862.msg253621.html#msg253621 Dim hWnd As Long
'Handle für Excel-Application ermittlen
hWnd = FindWindow("XLMAIN", 0)
If hWnd = 0 Then Exit Sub
'Excel aktivieren und in den Vordergrund bringen
Call SetActiveWindow(hWnd)
Call SetForegroundWindow(hWnd)
Wie lautet denn die entsprechend Fensterbezeichnung für den Druckerauswahldialog (den ich per "excelobj.Application.Dialogs(8).Show" aufrufe)?
hWnd = FindWindow("print", 0) und hWnd = FindWindow("drucken", 0)
habe ich schon versucht - das ist sie aber offensichtlich nicht, hWnd gibt 0 zurück.
Hintergrund:
Unter Windows XP und Windows Server 2008 wird der Druckerauswahldialog im Vordergrund ausgegeben, unter Windows 7 aber im Hintergrund, und kann deshalb nur per "Desktop anzeigen" erreicht werden.