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.