![]() |
OLE Office 2007 in den Vordergrund bringen
Hallo #,
unter Office 2000/2003 reicht ein WordObject.Visible:= True, um Word nach dem Erzeugen per OLE in den Vordergrund zu bringen. Unter Office 2007 klappt das nicht. Word ist immer im Hintergrund meines Programmes. Im Netz findet man dazu auch keine Lösung, das Problem ist aber bekannt. Und nun ? Komme ich vielleicht an das Fensterhandle ran ? Dazu muss ich noch sagen, das Word auch normal (also zusätzlich) geöffnet sein kann, es als 2 mal offen sein kann. ein ratloser Heiko |
AW: OLE Office 2007 in den Vordergrund bringen
Zitat:
Hier hab ich das in VBA mal mit Excel gemacht.
Code:
Public Declare Function ApiFindWindow Lib "user32" _
Alias "FindWindowA" (ByVal lpClassName As Any, _ ByVal lpWindowName As String) As Long Function GetHandle() As Long Dim OldCap As String OldCap = Application.Caption Application.Caption = "ABCDEFGHIJKLMNOP" GetHandle = ApiFindWindow("XLMAIN", Application.Caption) Application.Caption = OldCap End Function |
AW: OLE Office 2007 in den Vordergrund bringen
Hallo
Könnte auch mit WordObject.Activate funktionieren. Franz |
AW: OLE Office 2007 in den Vordergrund bringen
Hallo,
Das Activate hatte ich schon probiert, keine Chance ... mit dem Titel klappt es !!! Einfach als Titel eine GUID genommen und NIL für ClassName.
Delphi-Quellcode:
aHandle:= FindWindow(NIL, PAnsiChar(sCap));
Danke !!! Heiko |
Alle Zeitangaben in WEZ +1. Es ist jetzt 09:44 Uhr. |
Powered by vBulletin® Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024-2025 by Thomas Breitkreuz