
Si necesitamos poner una ventana de Microsoft Excel en primer plano mediante Automation podemos utilizar el siguiente código VFP:
lcXls = GETFILE("XLS")
IF NOT EMPTY(lcXls) AND FILE(lcXls)
loExcel = CREATEOBJECT("Excel.Application")
loExcel.Workbooks.OPEN(lcXls)
loExcel.VISIBLE = .T.
DECLARE LONG BringWindowToTop IN "user32" LONG HWND
BringWindowToTop(loExcel.HWND)
ELSE
MESSAGEBOX("El archivo " + lcXls + " no existe", 0+16, "Aviso")
ENDIF
Para el caso de Microsoft Word que no tiene la propiedad hWnd (window handle -identificador de ventana-), primeramente debemos buscar ese handle:
lcDoc = GETFILE("Doc")
IF NOT EMPTY(lcDoc) AND FILE(lcDoc)
loWord = CREATEOBJECT("Word.Application")
loWord.Documents.OPEN(lcDoc)
loWord.VISIBLE = .T.
lcCaption = loWord.ActiveDocument.ActiveWindow.Caption + [ - Microsoft Word]
DECLARE integer FindWindow IN "user32" String, String
lnHWnd = FindWindow(Null , lcCaption)
DECLARE LONG BringWindowToTop IN "user32" LONG HWND
BringWindowToTop(lnHWND)
ELSE
MESSAGEBOX("El archivo " + lcDoc + " no existe", 0+16, "Aviso")
ENDIF
Luis Maria Guayan
No hay comentarios. :
Publicar un comentario
Los comentarios son moderados, por lo que pueden demorar varias horas para su publicación.