Gracias Cristobal. He visto ya varios ejemplos que lo que hacen es "capturar" la ventana ... aunque no es exactamente lo que busco porque parece que
interfiere demasiado con la aplicación Excel o Word. A diferencia del Activex del Adobe que no
interfiere para nada si ya tienes algún PDF abierto desde el propio Adobe Reader.
Concretamente estoy probando este ejemplo adaptado de otro tuyo :
- Code: Select all Expand view
#include "Fivewin.ch"
Function Main()
local oWnd
local oExcel
DEFINE WINDOW oWnd TITLE "Visualizar Excel"
ACTIVATE WINDOW oWnd ON INIT oExcel := ShowExcel( oWnd )
Return nil
//----------------------------------------------------------------------------//
FUNCTION ShowExcel( oWnd )
local oExcel, oBook, oHoja, lSW:=.T.
TRY
oExcel = GetActiveObject( "Excel.Application" )
CATCH
TRY
oExcel = CreateObject( "Excel.Application" )
CATCH
lSw := .F.
END
END
if lSw
if Empty( oExcel )
oExcel := CreateObject( "Excel.Application" )
endif
oBook := oExcel:WorkBooks:Add()
oHoja := oExcel:ActiveSheet()
SetWindowLong( oExcel:hWnd, -16, "L" )
oExcel:DisplayAlerts := .F.
oExcel:ActiveWorkBook:Protect( "" , .F. , .F. )
oExcel:ScreenUpdating := .F.
WITH OBJECT oExcel
:WindowState := -4137
END
oExcel:DisplayDocumentActionTaskPane := .F.
oExcel:Visible := .T.
oExcel:DisplayAlerts := .F.
SetParent( oExcel:hWnd, oWnd:hWnd )
oExcel:ScreenUpdating := .T.
Endif
RETURN oExcel