Einzelnen Beitrag anzeigen

Jumpy

Registriert seit: 9. Dez 2010
Ort: Mönchengladbach
1.736 Beiträge
 
Delphi 6 Enterprise
 
#2

AW: OLE Office 2007 in den Vordergrund bringen

  Alt 24. Feb 2012, 10:45
Hallo #,
Dazu muss ich noch sagen, das Word auch normal (also zusätzlich) geöffnet sein kann,
es als 2 mal offen sein kann.
Das WordObject ist ja ein Objekt vom Typ Word.Application. Damit kann man doch den Fensternamen ändern (um ihn von der anderen Word-Instanz zu unterscheiden) und dann mit den entprechenden API-Funktionen den Fensterhandle zu bekommen und mit (war es?) SetWindowPos das Fenster nach vorne holen.

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
Ralph
  Mit Zitat antworten Zitat