Pas d'inquiétude, avec PBAdonf, c'est dans la poche ! ^^

Le forum (ô combien francophone) des utilisateurs de Powerbuilder.

Recherche rapide

Annonce

Certaines rubriques, dont des cours, sont uniquement visibles par les membres du forum ^^.
Dans la rubrique Liens & Références, vous avez accès à un sommaire de téléchargement, profitez-en !
Il existe maintenant un nouveau TOPIC "Votre CV en Ligne" accessible uniquement par demande.

#1 22-11-2011 14:54:22

Sylvie de hannut  
Membre completement Geek
Lieu: Hannut (Belgique)
Date d'inscription: 10-06-2011
Messages: 123
Pépites: 499
Banque: 0

[RESOLU] OLE WORD

Bonjour, je voudrais faire un cadre autour d'un titre dans un document word.
Je ne passe pas par un template, j'écris mes données telle quelle dans mon document word et je voudrais mettre un cadre.

Dans la macro word il est écris :

Code: : pb

    Options.DefaultBorderLineWidth = wdLineWidth100pt
    With Selection.Font.Borders(1)
        .LineStyle = Options.DefaultBorderLineStyle
        .LineWidth = Options.DefaultBorderLineWidth
        .Color = Options.DefaultBorderColor
    End With


Comment puis-je traduire ça en langage pb, dans ma DW ????

Merci

Dernière modification par Sylvie de hannut (23-11-2011 13:46:33)

Hors ligne

 

#2 22-11-2011 15:09:03

seki  
0x73656B69
Award: bf
Lieu: Laquenexy & Luxembourg
Date d'inscription: 20-11-2008
Messages: 1118
Pépites: 4,296,080,204
Banque: 9,223,372,036,854,776,000
Site web

Re: [RESOLU] OLE WORD

42.


En fait c'est quoi le rapport entre DW, Word et OLE ?
Le document est fabriqué via OLE ? C'est une DW qui sauve un fichier RTF ?


The best programs are the ones written when the programmer is supposed to be working on something else. - Melinda Varian

Mes réponses PB sur StackOverflow
http://stackoverflow.com/users/flair/317266.png

Hors ligne

 

#3 22-11-2011 15:09:09

xlat  
0xc0000005
Award: bf
Lieu: Tanger (طنج)
Date d'inscription: 04-12-2010
Messages: 720
Pépites: 11,343
Banque: 100,221,387,868,884,300
Site web

Re: [RESOLU] OLE WORD

bonjour, tu utilises quelle méthode pour créer ton document word à partir de ta datawindow ?


https://lut.im/eJINqa9o/vAtyxD0h "Don't believe everything you read on the Internet"
    -- Abraham Lincoln

www.ngs.ma

Hors ligne

 

#4 22-11-2011 15:11:26

Sylvie de hannut  
Membre completement Geek
Lieu: Hannut (Belgique)
Date d'inscription: 10-06-2011
Messages: 123
Pépites: 499
Banque: 0

Re: [RESOLU] OLE WORD

je fais des
   "ole_word.Selection.TypeText(ls_data)" pour chaque donnée

Hors ligne

 

#5 22-11-2011 15:45:03

seki  
0x73656B69
Award: bf
Lieu: Laquenexy & Luxembourg
Date d'inscription: 20-11-2008
Messages: 1118
Pépites: 4,296,080,204
Banque: 9,223,372,036,854,776,000
Site web

Re: [RESOLU] OLE WORD

Ça fonctionne ça ?

Code: pb

ole_word.Options.DefaultBorderLineWidth = 8 //wdLineWidth100pt
ole_word.Selection.Font.Borders(1).LineStyle = 1 //Options.DefaultBorderLineStyle
ole_word.Selection.Font.Borders(1).LineWidth = 4 //Options.DefaultBorderLineWidth
ole_word.Selection.Font.Borders(1).Color = -16777216 //Options.DefaultBorderColor

The best programs are the ones written when the programmer is supposed to be working on something else. - Melinda Varian

Mes réponses PB sur StackOverflow
http://stackoverflow.com/users/flair/317266.png

Hors ligne

 

#6 22-11-2011 16:06:55

xlat  
0xc0000005
Award: bf
Lieu: Tanger (طنج)
Date d'inscription: 04-12-2010
Messages: 720
Pépites: 11,343
Banque: 100,221,387,868,884,300
Site web

Re: [RESOLU] OLE WORD

sinon, çà ca passe:

Code: pb

  long ll_start, ll_end
  ll_start = ole_object.Selection.Range.Start
  ole_object.Selection.TypeText("hElLO WORlD")
  ll_end = ole_object.Selection.Range.Start
  ole_object.Selection.SetRange(ll_start, ll_end)
  oleobject ole_border  //With Selection.Font.Borders(1)
  ole_border = ole_object.Selection.Font.Borders[1]
  ole_border.LineStyle = ole_object.Options.DefaultBorderLineStyle
  ole_border.LineWidth = ole_object.Options.DefaultBorderLineWidth
  ole_border.Color = ole_object.Options.DefaultBorderColor

https://lut.im/eJINqa9o/vAtyxD0h "Don't believe everything you read on the Internet"
    -- Abraham Lincoln

www.ngs.ma

Hors ligne

 

#7 22-11-2011 16:08:36

Sylvie de hannut  
Membre completement Geek
Lieu: Hannut (Belgique)
Date d'inscription: 10-06-2011
Messages: 123
Pépites: 499
Banque: 0

Re: [RESOLU] OLE WORD

ben non, à l'exécution j'ai : "error calling external object function borders

Hors ligne

 

#8 22-11-2011 16:13:53

Sylvie de hannut  
Membre completement Geek
Lieu: Hannut (Belgique)
Date d'inscription: 10-06-2011
Messages: 123
Pépites: 499
Banque: 0

Re: [RESOLU] OLE WORD

Solution de Xlat :
J'ai une erreur : "Name not found accessible external object property linestyle

Hors ligne

 

#9 22-11-2011 16:17:55

Sylvie de hannut  
Membre completement Geek
Lieu: Hannut (Belgique)
Date d'inscription: 10-06-2011
Messages: 123
Pépites: 499
Banque: 0

Re: [RESOLU] OLE WORD


la solution de Xlat fonctionne à merveille
Y a plus qu'à retiré le cadre après la phrase désirée, car tout est encadré maintenant

Merci beaucoup

Hors ligne

 

#10 23-11-2011 09:32:58

Sylvie de hannut  
Membre completement Geek
Lieu: Hannut (Belgique)
Date d'inscription: 10-06-2011
Messages: 123
Pépites: 499
Banque: 0

Re: [RESOLU] OLE WORD

J'ai encore un problème :

pour que word arrête d'encadré les phrases suivants je fait

"

Code: : PB

  ll_start = ole_word.Selection.Range.Start
  ls_data = "Rapport établi par André Frankinet"
  ole_word.Selection.TypeText(char(9) + ls_data)
  ll_end = ole_word.Selection.Range.Start
  ole_word.Selection.SetRange(ll_start, ll_end)
  ole_border = ole_word.Selection.Font.Borders[1]
  ole_border.LineStyle = ole_word.Options.DefaultBorderLineStyle
  ole_border.LineWidth = ole_word.Options.DefaultBorderLineWidth
  ole_border.Color = ole_word.Options.DefaultBorderColor
  
  ole_word.Selection.TypeParagraph
  ole_border.LineStyle = 0                          // Suppression de l'encadré
  ole_word.Selection.TypeParagraph 

"

Mais ce que je ne comprend pas c'est que mon titre est écrit puis effacé avant l'écriture des lignes suivantes ??????

Hors ligne

 

#11 23-11-2011 10:03:25

xlat  
0xc0000005
Award: bf
Lieu: Tanger (طنج)
Date d'inscription: 04-12-2010
Messages: 720
Pépites: 11,343
Banque: 100,221,387,868,884,300
Site web

Re: [RESOLU] OLE WORD

il faut le déselectionner avant de continuer, non ?


https://lut.im/eJINqa9o/vAtyxD0h "Don't believe everything you read on the Internet"
    -- Abraham Lincoln

www.ngs.ma

Hors ligne

 

#12 23-11-2011 10:08:20

Sylvie de hannut  
Membre completement Geek
Lieu: Hannut (Belgique)
Date d'inscription: 10-06-2011
Messages: 123
Pépites: 499
Banque: 0

Re: [RESOLU] OLE WORD

désélectionner qui ???, l'encadré ???
Je veux biens mais comment faire ???
J'ai fait un disconnet et un detroy mais ça n'a pas marché, alors j'essaye le linestyle = 0 mais ça va pas non plus.

Tu saurais me dire comment déselectionner mon cadre, merci

Hors ligne

 

#13 23-11-2011 13:31:52

xlat  
0xc0000005
Award: bf
Lieu: Tanger (طنج)
Date d'inscription: 04-12-2010
Messages: 720
Pépites: 11,343
Banque: 100,221,387,868,884,300
Site web

Re: [RESOLU] OLE WORD

pour déselectionner le text :

Code: vb

Selection.SetRange Selection.Range.End, Selection.Range.End


mais pour déselectionner le text et reprendre le style "normal" :

Code: pb

ole_word.Selection.SetRange( ole_word.Selection.Range.End+1, ole_word.Selection.Range.End+1 )

https://lut.im/eJINqa9o/vAtyxD0h "Don't believe everything you read on the Internet"
    -- Abraham Lincoln

www.ngs.ma

Hors ligne

 

#14 23-11-2011 13:40:39

Sylvie de hannut  
Membre completement Geek
Lieu: Hannut (Belgique)
Date d'inscription: 10-06-2011
Messages: 123
Pépites: 499
Banque: 0

Re: [RESOLU] OLE WORD

ça y est ça marche !!!!
Xlat, j'ai fait comme tu as dit, mais le reste du texte était encore encadré alors après ta commande j'ai rajouté le

Code: : PB

 ole_border.LineStyle = 0 


et comme ça ça marche

Hors ligne

 

#15 23-11-2011 13:44:25

erasorz  
Admin
Lieu: Babylone
Date d'inscription: 23-11-2006
Messages: 5121
Pépites: 97,197
Banque: 2,147,483,647

Re: [RESOLU] OLE WORD

cool, n'oublie pas le [RESOLU]
et édite ton message en utilisant code=pb (en minuscules)


N'envoyez jamais un humain faire le travail d'un programme.

Hors ligne

 

Pied de page des forums

Propulsé par FluxBB 1.2.22