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

Application PRINTPREVIEW de Iexplore et Word   



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

Application PRINTPREVIEW de Iexplore et Word
# 0000000618
ajouté le 13/06/2008 20:12:06 et modifié le 13/06/2008
consulté 8408 fois
Niveau initié

Version(s) Foxpro :
VFP 6.0

Description
Ce programme affiche un aperçu avant impression (option du menu fichier IE ou Word au choix avec disponibilté du bouton
imprimer). et concerne:
-les page web
-les fichiers txt et les menus mpr
-les programmes prg
-les tables dbf
-les états frx
-les formulaires scx
-les images jpg,gif
*dans l'option Word vous pouvez rajouter les fichiers doc,rtf,xls,...(tout ce qui s'ouvre avec Word)
*On peut en rajouter d'autres.
Il utilise en partie genHTML.prg (appellé avec ( _genHTML) ) pour convertir les tables,états et forms en pages web.
Une réserve pour les états (quadrillage +objets enlevés) et les forms (ne traite pas les containers...utilsation élémentaire
en vfp6.0)
Ce programme est livré avec VFP 6.0
NB:cadrer votre sortie de façon à celle qu'elle soit inférieure à la largeur de page.Portrait ou paysage avec bouton toolbar.
*fermer Word en fin de traitement
J'espère que c'est du pas du tout vu....Tout commun mortel peut se tromper ! !
* benameuryousfi1@gmail.com El Bayadh le 12 juin 2008
Code source :
* benameuryousfi1@gmail.com     El Bayadh le 12 juin 2008
*Afficher aperçu avant impression IExplore ou Word (zoomer/paginer/ imprimer.)
*Concerne page web,txt,prg,menu MPR,table,état,formulaire,images(jpg,gif)
*mise en page préalable  du texte à faire
*Dans les 2 méthodes l'application doit être visible (pour afficher la fenêtre enfant PrintPreview).
*Word et Iexplore doivent être présents sur la station pour chaque méthode
*Vous pouvez utiliser do <program> with <paramètre afile>
***********************************************************************************************
afile=getfile('htm|html|txt|prg|dbf|frx|scx|mpr|jpg|gif')
if empty(afile)
return
endi
ocap=.f.   && utilisé pour la création de fichier temporaire

do case
case lower(justext(afile))="prg"   or  lower(justext(afile))="mpr"   &&pour contourner pbs sécurité IE
oCap=.t.
copy file (afile) to c:\windows\temp\ytempor.txt
afile="c:\windows\temp\ytempor.txt"

case lower(justext(afile))="dbf"    && table
oCap=.t.
use (afile)
afile="c:\windows\temp\ytempor.htm"
dO (_GenHTMLWITH afile, ALIAS(), 0 && Créer page web sans l'ouvrir
use

case lower(justext(afile))="frx"  or lower(justext(afile))="scx"    && état ou form
oCap=.t.
alias=afile
afile="c:\windows\temp\ytempor.htm"
dO (_GenHTMLWITH (afile), ALIAS, 0 && Créer page web sans l'ouvrir

endcase


*///////////////////////////////////////////////////////////////////////////////////////////////////

*1è méthode avec Iexplore

apIE=CREATEOBJECT("internetexplorer.application")
apIE.navigate(afile)
apIE.visible=.t.
with apIE
ieHandle=.hwnd
.left=-10000        &&On ne veut pas voir la fenêtre IE mais uniquement l'aperçu avant impression.
.width=sysmetric(1)
.height=sysmetric(2)
.top=0
endwith
do while apIE.busy or apIE.readystate#4
enddo
DECLARE Long BringWindowToTop in Win32API Long     &&Ramener fenêtre Iexplore au zorder(0)
=bringwindowtotop(ieHandle)

apIE.ExecWB(7,0)   &&aperçu avant impression IExplore

**nettoyage fichier temporaire créé
if oCap=.t.
dele file (afile)
endi
***********
inkey(1)
if messagebox("Fermer Internet Explorer ?",4+64,"Quitter")=6
apIE.quit
endi

*///////////////////////////////////////////////////////////////////////////////////////////////////

**2è méthode avec Word (masquer le code Iexplore précédent entre slashes et activer celui ci(enlever text  et endtext)
text
#define wdCollapseStart 1
#define wdCollapseEnd   0

oWord = CREATEOBJECT("Word.Application")
oWord.Visible = .t.
if lower(justext(afile))='jpg' or lower(justext(afile))='gif'  &&image
&&insérer
oDoc = oWord.Documents.add()
oDoc.Shapes.AddPicture(afile,.t.,.t.)
else
oDoc = oWord.Documents.open(afile)
endi

oDOc.printPreview()

***************************************************************************************************
endtext
Commentaires
Aucun commentaire enregistré ...

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