ATOUTFOX
COMMUNAUTÉ FRANCOPHONE DES PROFESSIONNELS FOXPRO
Visual FoxPro : le développement durable

Comment ouvrir un document Word dans un formulaire VFP   



L'auteur

Mike Gagnon
Canada Canada
Membre Simple
# 0000000025
enregistré le 14/10/2004

Gagnon Mike
Pointe Cla H9R 3K8
de la société Carver Technologies Inc.
Fiche personnelle


Note des membres
19/20
2 votes


Contributions > 08 - ActiveX - (OLE)

Comment ouvrir un document Word dans un formulaire VFP
# 0000000107
ajouté le 01/12/2004 12:33:45 et modifié le 01/12/2004
consulté 8057 fois
Niveau initié

Version(s) Foxpro :
VFP 7.0

Code source :
PUBLIC oform1
oform1=NEWOBJECT("form1")
oform1.Show
RETURN
DEFINE CLASS form1 AS form
      Top = 0
      Left = 0
      Height = 245
      Width = 440
      DoCreate = .T.
      Caption = "Form1"
      Name = "Form1"
      ADD OBJECT command1 AS commandbutton WITH ;
            Top = 204, ;
            Left = 177, ;
            Height = 25, ;
            Width = 85, ;
            Caption = "Demo Word", ;
            Name = "Command1"
      ADD OBJECT txtframe AS textbox WITH ;
            Enabled = .F., ;
            Height = 116, ;
            Left = 24, ;
            ReadOnly = .T., ;
            TabIndex = 0, ;
            Top = 36, ;
            Width = 399, ;
            Name = "txtFrame"
      PROCEDURE command1.Click
            lcDoc = GETFILE('doc')
            oForm = THISFORM
            IF Vartype(oForm.oWordDoc)="O" && Suggéré par Thierry
                 oForm.removeObject("oWordDoc")
                 CLEAR CLASS oleWordObject && pour lassurer la ré-évaluation de DocumentFile
            ENDIF
            oForm.AddObject('oWordDoc','oleWordObject')
            oForm.oWordDoc.Height =  THISFORM.txtFrame.height
            oForm.oWordDoc.Width =  THISFORM.txtFrame.width
            oForm.oWordDoc.Top =  THISFORM.txtFrame.top
            oForm.oWordDoc.Left =  THISFORM.txtFrame.left
            oForm.oWordDoc.Visible =  .t.
            oForm.Show
            oForm.oWordDoc.DoVerb(0)
      ENDPROC
ENDDEFINE
DEFINE CLASS oleWordObject as OLEControl
   OleClass ="Word.Document"  && Server name
   DocumentFile = lcDoc
ENDDEFINE

Commentaires
le 01/12/2004, Thierry a écrit :
Petite amélioration pour permettre l'ouverture consécutive de plusieurs documents WORD :
IF Vartype(oForm.oWordDoc)="O"
oForm.removeObject("oWordDoc")
CLEAR CLASS oleWordObject && pour lassurer la ré-évaluation de DocumentFile
ENDIF

le 01/12/2004, Mike Gagnon a écrit :
Merci Thierry, j'ai modifié le code comme suggéré.
le 12/10/2005, Christophe Chenavier a écrit :
Comment peut on ensuite enregistrer le document modifié ?


le 12/10/2005, Mike Gagnon a écrit :
Il serait mieux d'utiliser l'automation complete de Word. La technique ci-haut plutot pour visionner un document Word.

Publicité

Les pubs en cours :

www.atoutfox.org - Site de la Communauté Francophone des Professionnels FoxPro - v3.4.0 - © 2004-2024.
Cette page est générée par un composant COM+ développé en Visual FoxPro 9.0-SP2-HF3