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

FUSIONNER DES FICHIERS WORD EN UN SEUL DOCUMENT   



L'auteur

ybenam
Algérie Algérie
Membre Simple
# 0000002080
enregistré le 21/04/2008


Fiche personnelle


Note des membres
pas de note

Contributions > 09 - Automation > Word

FUSIONNER DES FICHIERS WORD EN UN SEUL DOCUMENT
# 0000000590
ajouté le 31/05/2008 05:36:16 et modifié le 31/05/2008
consulté 9883 fois
Niveau débutant

Version(s) Foxpro :
VFP 6.0

Description
Concaténer une série de fichiers word et sortir un seul document en passant par copy() et paste().Le même principe reste valable pour les documents Office et Iexplore.
Code source :
&& Sommer des fichiers Word en un seul document


#DEFINE wdCollapseEnd 0

loWord = CREATEOBJECT("word.application")
ActiveDocument = loWord.Documents.add()

do while .t.
afile=getfile('doc')
if empty(afile)
exit
else
ActiveDocument0 = loWord.Documents.open(afile)
xx=ActiveDocument0.content.copy()
ActiveDocument0.close()
*************
ActiveDocument.activate
oRange = ActiveDocument.Range()
oRange.Collapse(wdCollapseEnd)
myRange = ActiveDocument.Range (ActiveDocument.Content.End - 1,ActiveDocument.Content.End - 1)
myRange.Paste
endi
enddo

ActiveDocument.saveas("c:\myDoc.doc")
ActiveDocument.close()
loWord.quit
***********************************
&&affichage
DECLARE INTEGER ShellExecute IN shell32.dll ;
  INTEGER hndWin, STRING cAction, STRING cFileName, ;
  STRING cParams, STRING cDir, INTEGER nShowWin
ShellExecute(0,"open","c:\myDoc.doc","","",3)

if messagebox("Raser le fichier c:\myDoc.doc créé ?",4+64,"Nettoyage")=6
set safe off
dele file c:\myDoc.doc
set safe on
endi






Commentaires
le 18/06/2008, ybenam a écrit :
Pour sommer des pages web (ici sur disque) voila le code à peu près identique:


#DEFINE wdCollapseEnd 0
loWord = CREATEOBJECT("word.application")
ActiveDocument = loWord.Documents.add()

do while .t.
afile=getfile('htm|html') &&on disc
if empty(afile)
exit
else
ActiveDocument0 = loWord.Documents.open(afile)
xx=ActiveDocument0.content.copy()
ActiveDocument0.close()
*************
ActiveDocument.activate
oRange = ActiveDocument.Range()
oRange.Collapse(wdCollapseEnd)
myRange = ActiveDocument.Range (ActiveDocument.Content.End - 1,ActiveDocument.Content.End - 1)
myRange.Paste
endi
enddo

ActiveDocument.saveas("c:\myDoc.htm",8)
ActiveDocument.close()
loWord.quit
***********************************
&&affichage
DECLARE INTEGER ShellExecute IN shell32.dll ;
INTEGER hndWin, STRING cAction, STRING cFileName, ;
STRING cParams, STRING cDir, INTEGER nShowWin
ShellExecute(0,"open","c:\myDoc.htm","","",3)

if messagebox("Raser le fichier c:\myDoc.htm créé ?",4+64,"Nettoyage")=6
set safe off
dele file c:\myDoc.htm
set safe on
endi




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