OVH Cloud OVH Cloud

Rich Text Box dans Form

2 réponses
Avatar
Régis
Merci Fran=E7ois =E7a marche parfaitement.

J'ai essay=E9 de b=E2tir directement dans VBA Word la m=EAme=20
User Form. De cette fa=E7on plus question d'automation=20
puisque je suis d=E9j=E0 dans Word.

Le code associ=E9 dans VBA est diff=E9rent de VB.
J'ai essay=E9 =E7a au bouton Inserer_Word :

Sub Inserer_Word()
Dim MyDataObject As DataObject
Set MyDataObject =3D New DataObject
=20
Me.rtb1.SelStart =3D 0
Me.rtb1.SelLength =3D Len(rtb1.Text)
MyDataObject.SetText Me.rtb1.SelText
MyDataObject.PutInClipboard

MyDataObject.GetFromClipboard
Selection.Text =3D MyDataObject.GetText
End Sub

Le texte brut est uniquement transf=E9r=E9, je n'arrive pas =E0=20
r=E9cup=E9rer la mise en forme du Rich Text Box ?=20

Connait-tu une solution ?

Merci.

R=E9gis

2 réponses

Avatar
François Picalausa
Hello,

MyDataObject.SetText Me.rtb1.SelText


Cette ligne n'est pas correcte
Il faut demander du RTF:
Me.rtb1.SelRTF
et définir qu'il faut un texte en rtf (comme dans l'exemple que j'avais
fait, en deuxième paramètre)

--
François Picalausa (MVP VB)
http://faq.vb.free.fr --- http://msdn.microsoft.com
http://apisvb.europe.webmatrixhosting.net

"Régis" a écrit dans le message
de news:443d01c42ba2$6c615170$
Merci François ça marche parfaitement.

J'ai essayé de bâtir directement dans VBA Word la même
User Form. De cette façon plus question d'automation
puisque je suis déjà dans Word.

Le code associé dans VBA est différent de VB.
J'ai essayé ça au bouton Inserer_Word :

Sub Inserer_Word()
Dim MyDataObject As DataObject
Set MyDataObject = New DataObject

Me.rtb1.SelStart = 0
Me.rtb1.SelLength = Len(rtb1.Text)
MyDataObject.SetText Me.rtb1.SelText
MyDataObject.PutInClipboard

MyDataObject.GetFromClipboard
Selection.Text = MyDataObject.GetText
End Sub

Le texte brut est uniquement transféré, je n'arrive pas à
récupérer la mise en forme du Rich Text Box ?

Connait-tu une solution ?

Merci.

Régis


Avatar
Régis
Merc encore pour ton intervention

mais peux tu être plus explicite; apparement le code ne
fonctionne de la même façon dans VBA Word.

Cordialement

Régis


-----Message d'origine-----
Hello,

MyDataObject.SetText Me.rtb1.SelText


Cette ligne n'est pas correcte
Il faut demander du RTF:
Me.rtb1.SelRTF
et définir qu'il faut un texte en rtf (comme dans


l'exemple que j'avais
fait, en deuxième paramètre)

--
François Picalausa (MVP VB)
http://faq.vb.free.fr --- http://msdn.microsoft.com
http://apisvb.europe.webmatrixhosting.net

"Régis" a écrit


dans le message
de news:443d01c42ba2$6c615170$
Merci François ça marche parfaitement.

J'ai essayé de bâtir directement dans VBA Word la même
User Form. De cette façon plus question d'automation
puisque je suis déjà dans Word.

Le code associé dans VBA est différent de VB.
J'ai essayé ça au bouton Inserer_Word :

Sub Inserer_Word()
Dim MyDataObject As DataObject
Set MyDataObject = New DataObject

Me.rtb1.SelStart = 0
Me.rtb1.SelLength = Len(rtb1.Text)
MyDataObject.SetText Me.rtb1.SelText
MyDataObject.PutInClipboard

MyDataObject.GetFromClipboard
Selection.Text = MyDataObject.GetText
End Sub

Le texte brut est uniquement transféré, je n'arrive pas




à
récupérer la mise en forme du Rich Text Box ?

Connait-tu une solution ?

Merci.

Régis




.