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

Dessiner tous les gradients,prédéfinis,textures de 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 > Word

Dessiner tous les gradients,prédéfinis,textures de WORD
# 0000000582
ajouté le 22/05/2008 16:33:17 et modifié le 22/05/2008
consulté 3922 fois
Niveau initié

Version(s) Foxpro :
VFP 6.0

Description
Ce programme réalise une automation de word qui est ici,invisible, et affiche tous les gradients,prédéfinis,textures,et leurs photos..sur une pleine page web.Le temps de calcul est assez long (3 minutes environ!) benameuryousfi1@gmail.com
Code source :
&&AUTOMATION DE WORD AVEC VFP6.0-Afficher tous les gradients,prédéfinis,textures,et leurs photos..

wait window("P A T I E N T E Z . . .Calculs en cours (assez longs..del'ordre de 3 mn ). . . . . . !"at srows()/2,scols()/2-30 nowait
t0=seconds()
yrep=sys(5)+sys(2003)

if len(yrep)>3
yrep=yrep+"\"
endi


#DEFINE wdCollapseEnd 0
#DEFINE wdCollapseStart 1
#DEFINE CR CHR(13)
#DEFINE YLIGNE REPLICATE("_",100)
#DEFINE autoIn2Pts 72
#DEFINE msoTextEffect11 18   &&N°1 à 29
#DEFINE wdAlignParagraphRight 2   &&alignement à droite
#DEFINE msoGradientDaybreak  4
#DEFINE  msoShapeRectangle  1

PUBLIC oWord
oWord = CreateObject("Word.Application")
oWord.Visible = .f.
oDocument = oWord.Documents.Add()
*oWord.WindowState = 2  &&minimisé
***********************
oDocument.Content.InsertAfter("AUTOMATION DE WORD AVEC VFP6.0 (YB 01/2007)" + CHR(13))
oRange = oDocument.Paragraphs(1).Range
with oRange.font
   .Name = "Arial"
   .size = 20
   .color=rgb(255,0,0)
   .bold=.t.
   .underline=.t.
endwith
*******
oDocument.Paragraphs.LeftIndent =40     && InchesToPoints(1)
#DEFINE msoGradientHorizontal   1
#DEFINE msoGradientVertical     2
#DEFINE msoGradientDiagonalDown 4
#DEFINE msoGradientDiagonalup   3
#DEFINE msoGradientFromCenter   7
#DEFINE msoGradientFromCorner   5
#DEFINE msoGradientMixed       -2
*********
&&Gradient unicolore
*expression .OneColorGradient(Style, Variant, Degree) 6styles,4variants sauf fromcenter(2),Degree=opacity 0 à 1
 oDocument.Content.InsertAfter(" Gradients unicolores.")
oDocument.Paragraphs.LeftIndent =40
xtop=100
for i=1 to 7
With oDocument.Shapes.AddShape(msoShapeRectangle, 180+i*40, xtop, 40, 30).Fill
.ForeColor.RGB = RGB(0, 128, 128)
do case
case i=1
.OneColorGradient(msoGradientHorizontal, 1, 1)
case i=2
.OneColorGradient(msoGradientVertical, 1,1)
case i=3
.OneColorGradient(msoGradientDiagonalDown, 1, 1)
case i=4
.OneColorGradient(msoGradientDiagonalUp, 1, 1)
case i=5
.OneColorGradient(msoGradientFromCenter, 1, 1)
case i=6
.OneColorGradient(msoGradientFromCorner , 1, 1)
case i=7
.OneColorGradient(msoGradientMixed  , 1, 1)
endcase
EndWith
endfor
*********
&&expression .TwoColorGradient(Style, Variant) 6 Styles,4variant sau fromcenter(2)
oDocument.Content.InsertAfter(chr(13)+"Gradients bicolores.")
for i=1 to 7
With oDocument.Shapes.AddShape(msoShapeRectangle,180+i*40,xtop+30,40, 30).Fill
 .ForeColor.RGB = RGB(128, 0, 0)
 .BackColor.RGB = RGB(0, 170, 170)
do case
 case i=1
 .TwoColorGradient(msoGradientHorizontal, 1 )
 case i=2
 .TwoColorGradient(msoGradientVertical, 1 )
case i=3
 .TwoColorGradient(msoGradientDiagonalDown, 1 )
case i=4
 .TwoColorGradient(msoGradientDiagonalUp, 1 )
case i=5
 .TwoColorGradient(msoGradientFromCenter, 1 )
case i=6
 .TwoColorGradient(msoGradientFRomCorner, 1 )
 case i=7
  .TwoColorGradient(msoGradientMixed, 1 )
endcase
endwith
endfor
********
 &&gradients prédéfinis
#DEFINE msoGradientBrass  20
#DEFINE msoGradientCalmWater  8
#DEFINE msoGradientChrome  21
#DEFINE msoGradientChromeII  22
#DEFINE msoGradientDaybreak 4
#DEFINE msoGradientDesert  6
#DEFINE msoGradientEarlySunset  1
#DEFINE msoGradientFire   9
#DEFINE msoGradientFog      10
#DEFINE msoGradientGold     18
#DEFINE msoGradientGoldII   19
#DEFINE msoGradientHorizon    5
#DEFINE msoGradientLateSunset   2
#DEFINE msoGradientMahogany  15
#DEFINE msoGradientMoss 11
#DEFINE msoGradientNightfall  3
#DEFINE msoGradientOcean  7
#DEFINE msoGradientParchment  14
#DEFINE msoGradientPeacock  12
#DEFINE msoGradientRainbow  16
#DEFINE msoGradientRainbowII  17
#DEFINE msoGradientSapphire  24
#DEFINE msoGradientSilver 23
#DEFINE msoGradientWheat  13
#DEFINE msoPresetGradientMixed  -2

&&xpression .PresetGradient(Style, Variant, PresetGradientType)
oDocument.Content.InsertAfter(chr(13)+" Gradients prédéfinis."+chr(13))
&&4 styles sauf 2 pour msogradient Fromcenter total=22
&&25 prestgradienttype

for j=1 to 24

do case
case j=1
xstyle=20
x=' msoGradientBrass '
case j=2
xstyle=8
x='msoGradientCalmWater '
case j=3
xstyle=21
x='msoGradientChrome '
case j=4
xstyle=22
x='msoGradientChromeII '
case j=5
xstyle=4
x='msoGradientDaybreak'
case j=6
xstyle=6
x='msoGradientDesert '
case j=7
xstyle= 1
x='msoGradientEarlySunset '
case j=8
xstyle=9
x='msoGradientFire '
case j=9
xstyle=10
x='msoGradientFog '
case j=10
xstyle=18
x='msoGradientGold '
case j=11
xstyle= 19
x='msoGradientGoldII '
case j=12
xstyle=5
x='msoGradientHorizon '
case j=13
xstyle=2
x='msoGradientLateSunset'
case j=14
xstyle=15
x='msoGradientMahogany '
case j=15
xstyle=11
x='msoGradientMoss '
case j=16
xstyle=3
x='msoGradientNightfall '
case j=17
xstyle=7
x='msoGradientOcean '
case j=18
xstyle=14
x='msoGradientParchment '
case j=19
xstyle= 12
x='msoGradientPeacock '
case j=20
xstyle= 16
x='msoGradientRainbow '
case j=21
xstyle= 17
x='msoGradientRainbowII '
case j=22
xstyle=24
x='msoGradientSapphire '
case j=23
xstyle=23
x='msoGradientSilver '
case j=24
xstyle=13
x='msoGradientWheat '
*case j=25
*xstyle= -2  &&msoPresetGradientMixed
endcase
**********
With oDocument.Shapes.AddShape(msoShapeRectangle,30,xtop+40+40+j*30, 140, 30)
.TextFrame.TextRange.Text=x
endwith

for i=1 to 7
With oDocument.Shapes.AddShape(msoShapeRectangle,160+i*30,xtop+40+40+j*30,40,30).Fill
do case
case i=1
xtype= msoGradientHorizontal
case i=2
xtype= msoGradientVertical
case i=3
xtype= msoGradientDiagonalDown
case i=4
xtype=msoGradientDiagonalup
case i=5
xtype= msoGradientFromCenter
case i=6
xtype=msoGradientFromCorner
case i=7
xtype= msoGradientMixed
endcase

.PresetGradient(xtype,1,xstyle)
endwith
endfor
endfor
yy=140+j*30
aa=xtop+40+40+j*30
************
&&SAUT DE PAGE
#DEFINE  wdPageBreak  7
myRange = oDocument.Range
With myRange
    .Collapse(wdCollapseEnd)
    .InsertBreak(wdPageBreak)
EndWith
&&Textures
#DEFINE   msoPresetTextureMixed 1
#DEFINE   msoTextureBlueTissuePaper 2
#DEFINE   msoTextureBouquet 3
#DEFINE   msoTextureBrownMarble 4
#DEFINE   msoTextureCanvas 5
#DEFINE   msoTextureCork 6
#DEFINE   msoTextureDenim 7
#DEFINE   msoTextureFishFossil 8
#DEFINE   msoTextureGranite 9
#DEFINE   msoTextureGreenMarble 10
#DEFINE   msoTextureMediumWood 11
#DEFINE   msoTextureNewsprint 12
#DEFINE   msoTextureOak 13
#DEFINE   msoTexturePaperBa 14
#DEFINE   msoTexturePapyrus 15
#DEFINE   msoTextureParchment 16
#DEFINE   msoTexturePinkTissuePaper 17
#DEFINE   msoTexturePurpleMesh 18
#DEFINE   msoTextureRecycledPaper 19
#DEFINE   msoTextureSand 20
#DEFINE   msoTextureStationery 21
#DEFINE   msoTextureWalnut 22
#DEFINE   msoTextureWaterDroplets 23
#DEFINE   msoTextureWhiteMarble 24
#DEFINE   msoTextureWovenMat 25

oDocument.Content.InsertAfter(" Textures prédéfinies."+chr(13))
xs=""
j=0
k=0
for i=1 to 24
***************
do case
case i=1
xtexture=17
x='msoTextureBlueTissuePaper'

case i=2
xtexture=20
x=' msoTextureBouquet'

case i=3
xtexture=11
x=' msoTextureBrownMarble'

case i=4
xtexture=2
x='msoTextureCanvas '

case i=5
xtexture=21
x='msoTextureCork '

case i=6
xtexture=3
x='msoTextureDenim '

case i=7
xtexture=7
x='msoTextureFishFossil '

case i=8
xtexture=12
x='msoTextureGranite'

case i=9
xtexture=9
x='msoTextureGreenMarble'

case i=10
xtexture=24
x=' msoTextureMediumWood'

case i=11
xtexture=13
x='msoTextureNewsprint'

case i=12
xtexture=23
x='msoTextureOak '

case i=13
xtexture=6
x='msoTexturePaperBa '

case i=14
xtexture=1
x='msoTexturePapyrus '

case i=15
xtexture=15
x='msoTextureParchment '

case i=16
xtexture=18
x='msoTexturePinkTissuePaper '

case i=17
xtexture=19
x='msoTexturePurpleMesh '

case i=18
xtexture=14
x='msoTextureRecycledPaper '


case i=19
xtexture=9
x='msoTextureSand '

case i=20
xtexture=16
x='msoTextureStationery '

case i=21
xtexture=22
x='msoTextureWalnut '

case i=22
xtexture=5
x='msoTextureWaterDroplets'

case i=23
xtexture=10
x='msoTextureWhiteMarble'

case i=24
xtexture=4
x='msoTextureWovenMat'
endcase

With oDocument.Shapes.AddShape(msoShapeRectangle,30,aa+170+k*30, 170, 40)
.TextFrame.TextRange.Text=allt(str(i))+'. '+x
endwith

with oDocument.Shapes.AddShape(msoShapeRectangle,211,aa+170+k*30, 70, 40).background.Fill
.visible=.t.
.PresetTextured(xtexture)
endwith
k=k+1
j=0
endfor
oDocument.Content.InsertAfter(xs)
************
&&background document
with oDocument.BackGround.Fill
.visible=.t.
.ForeColor.RGB = RGB(0, 128, 128)
.OneColorgradient(msoGradientFromCenter,1,1)   &&opacity=100% (1)
endwith

***********
&&sauvegarde sous page web et affichage+fermer Word
myDocName =yrep+ juststem(oDocument.Name)


bb=myDocName+"_fichiers"
myDocName =myDocName + ".html"
oDocument.SaveAs(myDocName,8)   &&fileConverter...8=FORMAT HTML PAGE WEB
oDocument.close()
oWord.quit
t1=seconds()-t0
if t1>=60
t1=t1/60    &&mn
t1=allt(str(t1,6,2))+ "mn...un peu trop lent pour vfp6.0...."
else
t1=allt(str(t1,6,2))+" sec"
endi

**********
apIE=createobject("InternetExplorer.application")
apIE.navigate(myDocName)
with apIE
.menubar=0
.statusbar=0
.toolbar=0
.top=0
.left=0
.width=1024
.height=768
.fullscreen=.f.
endwith
apIE.visible=.t.
**************
if messagebox("Le temps de calcul a été de "+t1+ "...Quelqu'un pourrait il faire mieux ?"+chr(13)+"Supprimer la page web "+myDocName+" créée ?",4+64,"Nettoyage")=6
set safe off
aa='"'+myDocName+'"'
dele file &myDocname
fso =createobject('Scripting.FileSystemObject')
fldr = fso.DeleteFolder(bb)
set safe on
endi

Commentaires
Aucun commentaire enregistré ...

Publicité

Les pubs en cours :


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