FiveTech Support Forums

FiveWin / Harbour / xBase community
Board index FiveWin para Harbour/xHarbour ¿ActiveX para Excel y Word?
Posts: 728
Joined: Fri Oct 07, 2005 07:38 AM
¿ActiveX para Excel y Word?
Posted: Tue Dec 19, 2017 08:38 AM
Hola amigos! Tal y como este código permite usar ActiveX para visualizar un PDF dentro de un diálogo, ¿cabe la posibilidad de realizar esto con archivos Excel y Word?

Code (fw): Select all Collapse
#include "Fivewin.ch"

Function Main()

   local oWndPdf
   local oPdf

   DEFINE WINDOW oWndPdf TITLE "Visualizar/Imprimir PDF - Adobe Reader"
    
   oPdf  := ShowPdf1( oWndPdf )    
   ACTIVATE WINDOW oWndPdf VALID ( oPdf:End(), .T. )

Return nil

//----------------------------------------------------------------------------//

FUNCTION ShowPDF1( oWnd ) 

   local oPdf
   oPdf := TActiveX():New( oWnd, "AcroPDF.PDF.1" )
   oPdf:nTop    := 5
   oPdf:nLeft   := 5
   oPdf:nWidth  := 500   
   oWnd:oLeft := oPdf
   oPdf:Do( "LoadFile", ".\test.pdf" )
   oPdf:Do( "SetCurrentPage", 1 )
   oPdf:SetZoom( 75)

RETURN oPdf


Gracias
Angel Salom
Visionwin Software - https://www.visionwin.com
------------------------------------------------------------
fwh 19.05 - harbour 3.2 - bcc 7.4
Posts: 6755
Joined: Wed Feb 15, 2012 08:25 PM
Re: ¿ActiveX para Excel y Word?
Posted: Tue Dec 19, 2017 12:02 PM

Claro que sí, y otros
Busca en el foro Excel.Application y Word.Application

Cristobal Navarro

Hay dos tipos de personas: las que te hacen perder el tiempo y las que te hacen perder la noción del tiempo

El secreto de la felicidad no está en hacer lo que te gusta, sino en que te guste lo que haces
Posts: 728
Joined: Fri Oct 07, 2005 07:38 AM
Re: ¿ActiveX para Excel y Word?
Posted: Tue Dec 19, 2017 02:16 PM
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 (fw): Select all Collapse
#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
Angel Salom
Visionwin Software - https://www.visionwin.com
------------------------------------------------------------
fwh 19.05 - harbour 3.2 - bcc 7.4
Posts: 6755
Joined: Wed Feb 15, 2012 08:25 PM
Re: ¿ActiveX para Excel y Word?
Posted: Tue Dec 19, 2017 02:21 PM

A esto me refería

Cristobal Navarro

Hay dos tipos de personas: las que te hacen perder el tiempo y las que te hacen perder la noción del tiempo

El secreto de la felicidad no está en hacer lo que te gusta, sino en que te guste lo que haces

Continue the discussion