Twitter iPhone pliant OnePlus 11 PS5 Disney+ Orange Livebox Windows 11

Classe cWord

15 réponses
Avatar
Roumégou Eric
Bonjour,

J'ai un besoin depuis un site WB de générer un document Word.
Ce document Word est une fusion d'adresse, une insertion d'image (une
signature) et l'insertion d'un paragraphe qui sera au format rtf (saisi
dans un éditeur HTML et converti par HTMLVersRTF)

Je tente de mettre cela au point en WD avant de passer à WB.
J'ai récupéré la classe cWord qui me va bien mais voilà mes derniers
besoins que je n'arrive pas à couvrir.

1 - Se positionner sur un signet (pour insérer mon image)
pour faire cela
Selection.GoTo What:=wdGoToBookmark, Name:="SIGNATURE"
j'essaie de rajouter une méthode à la classe (mais cela ne fonctionne
pas)
PROCEDURE GotoSignet(pSignet)

QUAND EXCEPTION DANS
// Méthode "Select" de Word
:m_xWord>>Selection>>GoTo>>What="wdGoToBookmark"
:m_xWord>>Selection>>GoTo>>Name=pSignet
FAIRE
ExceptionActive()
RETOUR
FIN

2 - pour insérer le paragraphe en rtf ?
J'avais pensé à me positionner avec un signet, puis faire une insertion
fichier.
Le mieux serait d'insérer directement le code rtf mais je doute que
cela fonctionne

Je suis sûr que parmi vous il y a des experts pour ces gestions de Word
par OLE et que peut être sont-ce des fonctions que vous avez déjà
dévelopées ?
Merci d'avance de votre aide.

--
Eric Roumégou
Webmaster des wtablettes
http://cerbermail.com/?qE7t4Qvilo
(cliquez sur le lien ci-dessus pour me contacter en privé)

10 réponses

1 2
Avatar
Roumégou Eric
Bonjour,
Désolé d'insister mais je n'arrive pas à traduire le vba en syntaxe ole
à la mode WD.

Pour mon positionnement sur un signet, voici le code macro.
Sub Macro1()
'
' Macro1 Macro
' Macro enregistrée le 14/03/2010 par Roumegou
'
Selection.GoTo What:=wdGoToBookmark, Name:="SIGNATURE"
Selection.Find.ClearFormatting
With Selection.Find
.Text = ""
.Replacement.Text = ""
.Forward = True
.Wrap = wdFindContinue
.Format = False
.MatchCase = False
.MatchWholeWord = False
.MatchWildcards = False
.MatchSoundsLike = False
.MatchAllWordForms = False
End With
End Sub

Pour mon intégration de RTF, voici le code macro
Sub InsereRTF()
'
' InsereRTF Macro
' Macro enregistrée le 15/03/2010 par Roumegou
'
Selection.InsertFile FileName:="monparagraphe.rtf", Range:="", _
ConfirmConversions:úlse, Link:úlse, Attachment:úlse
End Sub

Comment dois je coder cela à la façon

:m_xWord>>Selection>>Find>>Execute(sChRecherche,Faux,Vrai,Faux,Faux,Faux,Vrai,1,Faux,sChRemplace,2)

Y'a une doc qq part là dessus ?

Merci de votre aide car cela devient urgent.

--
Eric Roumégou
Webmaster des wtablettes
http://cerbermail.com/?qE7t4Qvilo
(cliquez sur le lien ci-dessus pour me contacter en privé)
Avatar
Roumégou Eric
si si je cherche ;-)
voila un code Vb
Public Sub Word_Atteindre_Signet(Optional Nom_signet As Variant)
If Not IsNull(Nom_signet) Then
Word_Application.Selection.GoTo What:=wdGoToBookmark,
Name:=Nom_signet
End If

Pourquoi mon code wd ne fn pas ?
PROCEDURE GotoSignet(pSignet)

QUAND EXCEPTION DANS
// Méthode "Select" de Word
:m_xWord>>Selection>>GoTo("wdGoToBookmark",pSignet)
FAIRE
ExceptionActive()
RETOUR
FIN

--
Eric Roumégou
Webmaster des wtablettes
http://cerbermail.com/?qE7t4Qvilo
(cliquez sur le lien ci-dessus pour me contacter en privé)
Avatar
Albert P.
Bonjour,

De mémoire parce que cela fait longtemps, le code ci dessous est pas mal,
mis à part que wdGoToBookmark est une constante égale à -1

Pour trouver cette valeur, j'ai fait un debug.print wdgotobookmark dans
l'éditeur vba de word.

Bon dev,

Albert P.


"Roumégou Eric" a écrit dans le message de news:

si si je cherche ;-)
voila un code Vb
Public Sub Word_Atteindre_Signet(Optional Nom_signet As Variant)
If Not IsNull(Nom_signet) Then
Word_Application.Selection.GoTo What:=wdGoToBookmark, Name:=Nom_signet
End If

Pourquoi mon code wd ne fn pas ?
PROCEDURE GotoSignet(pSignet)

QUAND EXCEPTION DANS
// Méthode "Select" de Word
:m_xWord>>Selection>>GoTo("wdGoToBookmark",pSignet)
FAIRE
ExceptionActive()
RETOUR
FIN

--
Eric Roumégou
Webmaster des wtablettes
http://cerbermail.com/?qE7t4Qvilo
(cliquez sur le lien ci-dessus pour me contacter en privé)


Avatar
Roumégou Eric
Merci beaucoup Albert
je teste cela cet am.


Il se trouve que Albert P. a formulé :
Bonjour,

De mémoire parce que cela fait longtemps, le code ci dessous est pas mal, mis
à part que wdGoToBookmark est une constante égale à -1

Pour trouver cette valeur, j'ai fait un debug.print wdgotobookmark dans
l'éditeur vba de word.

Bon dev,

Albert P.


"Roumégou Eric" a écrit dans le message de news:

si si je cherche ;-)
voila un code Vb
Public Sub Word_Atteindre_Signet(Optional Nom_signet As Variant)
If Not IsNull(Nom_signet) Then
Word_Application.Selection.GoTo What:=wdGoToBookmark, Name:=Nom_signet
End If

Pourquoi mon code wd ne fn pas ?
PROCEDURE GotoSignet(pSignet)

QUAND EXCEPTION DANS
// Méthode "Select" de Word
:m_xWord>>Selection>>GoTo("wdGoToBookmark",pSignet)
FAIRE
ExceptionActive()
RETOUR
FIN

-- Eric Roumégou
Webmaster des wtablettes
http://cerbermail.com/?qE7t4Qvilo" target="_blank" class="text-blue hover:opacity-90 " style="word-break: break-all;" rel="noopener nofollow">http://cerbermail.com/?qE7t4Qvilo
(cliquez sur le lien ci-dessus pour me contacter en privé)







--
Eric Roumégou
Webmaster des wtablettes
http://cerbermail.com/?qE7t4Qvilo" target="_blank" class="text-blue hover:opacity-90 " style="word-break: break-all;" rel="noopener nofollow">http://cerbermail.com/?qE7t4Qvilo
(cliquez sur le lien ci-dessus pour me contacter en privé)
Avatar
Roumégou Eric
Dans son message précédent, Roumégou Eric a écrit :
Merci beaucoup Albert
je teste cela cet am.




Il plante toujours (qd j'enleve l'exception pour voir ce qui se passe)

Erreur à la ligne 13 du traitement Méthode GotoSignet.
Vous avez appelé la méthode Automation 'GoTo'.
En tentant d'invoquer la méthode <GoTo> ou de lire la propriété <GoTo>,
l'objet Automation/ActiveX a renvoyé l'erreur suivante :
'Erreur 800A1018 : Paramètre incorrect'
En tentant d'invoquer la méthode <GoTo>, l'objet Automation/ActiveX a
renvoyé l'erreur suivante :
'Erreur 800A1018 : Paramètre incorrect'
En tentant de lire la propriété <GoTo>, l'objet Automation/ActiveX a
renvoyé l'erreur suivante :
'Erreur 800A16E6 : 'GoTo' n'est pas une propriété.'
En tentant d'écrire la propriété <GoTo>, l'objet Automation/ActiveX a
renvoyé l'erreur suivante :
'Erreur 80020003, Le membre demandé n'existe pas'

--
Eric Roumégou
Webmaster des wtablettes
http://cerbermail.com/?qE7t4Qvilo
(cliquez sur le lien ci-dessus pour me contacter en privé)
Avatar
Roumégou Eric
Roumégou Eric avait soumis l'idée :
Dans son message précédent, Roumégou Eric a écrit :
Merci beaucoup Albert
je teste cela cet am.




Il plante toujours (qd j'enleve l'exception pour voir ce qui se passe)

Erreur à la ligne 13 du traitement Méthode GotoSignet.
Vous avez appelé la méthode Automation 'GoTo'.
En tentant d'invoquer la méthode <GoTo> ou de lire la propriété <GoTo>,
l'objet Automation/ActiveX a renvoyé l'erreur suivante :
'Erreur 800A1018 : Paramètre incorrect'
En tentant d'invoquer la méthode <GoTo>, l'objet Automation/ActiveX a renvoyé
l'erreur suivante :
'Erreur 800A1018 : Paramètre incorrect'
En tentant de lire la propriété <GoTo>, l'objet Automation/ActiveX a renvoyé
l'erreur suivante :
'Erreur 800A16E6 : 'GoTo' n'est pas une propriété.'
En tentant d'écrire la propriété <GoTo>, l'objet Automation/ActiveX a renvoyé
l'erreur suivante :
'Erreur 80020003, Le membre demandé n'existe pas'




Je suis vraiment bloqué là.
et je dois rendre ça pour la fin de la semaine

Merci de votre aide

--
Eric Roumégou
Webmaster des wtablettes
http://cerbermail.com/?qE7t4Qvilo
(cliquez sur le lien ci-dessus pour me contacter en privé)
Avatar
Romain PETIT
Après mure réflexion, Roumégou Eric a écrit :

Je suis vraiment bloqué là.
et je dois rendre ça pour la fin de la semaine

Merci de votre aide



Apparemment il y a 2 paramètres entre wdGoToBookmark (qui est -1) et
pSignet

http://www.generation-nt.com/us/answer/word-document-wdgotobookmark-bad-parameter-error-help-49669011.html

object.GoTo(What, Which, Count, Name)

->

PROCEDURE GotoSignet(pSignet)
//wdGoToBookmark -> -1
QUAND EXCEPTION DANS
// Méthode "Select" de Word
:m_xWord>>Selection>>GoTo(-1, x, y, pSignet)
FAIRE
ExceptionActive()
RETOUR
FIN

--
Romain PETIT
contact : rompetit chez free fr
+-+ posté sur Usenet avec MesNews et non depuis un forum web +-+
news:fr.comp.developpement.agl.windev
http://www.mesnews.net/
http://fr.wikipedia.org/wiki/Newsgroup
Avatar
Romain PETIT
Romain PETIT avait prétendu :

Autre exemple ici :
http://social.msdn.microsoft.com/Forums/en/iewebdevelopment/thread/d0200939-b26a-4a70-956d-93f9145bf832

--
Romain PETIT
contact : rompetit chez free fr
+-+ posté sur Usenet avec MesNews et non depuis un forum web +-+
news:fr.comp.developpement.agl.windev
http://www.mesnews.net/
http://fr.wikipedia.org/wiki/Newsgroup
Avatar
Roumégou Eric
Romain PETIT avait soumis l'idée :
Romain PETIT avait prétendu :

Autre exemple ici :
http://social.msdn.microsoft.com/Forums/en/iewebdevelopment/thread/d0200939-b26a-4a70-956d-93f9145bf832



Merci beaucoup de ton aide Romain
mais cela ne marche toujours pas
je crois avoir tout essayé

(x et y ayant été déclaré bien sûr)
:m_xWord>>Selection>>GoTo(-1,pSignet)
:m_xWord>>Selection>>GoTo(-1, x, y, pSignet)
:m_xWord>>Selection>>GoTo(-1, "", 0, pSignet)
:m_xWord>>Selection>>GoTo(-1, x, y, quote(pSignet))

j'ai essayé ça aussi ... et toutes les variantes
:m_xWord>>Selection>>GoTo>>GoTo(-1, x, y, pSignet)

Rien ne fonctionne.
C'est vraiment hallucinant ces syntaxes.

C'est aussi bizarre que personne n'ai eu besoin de se positionner avec
des signets sur une interface OLE / word.

--
Eric Roumégou
Webmaster des wtablettes
http://cerbermail.com/?qE7t4Qvilo
(cliquez sur le lien ci-dessus pour me contacter en privé)
Avatar
Roumégou Eric
pour tester j'utilise l'exemple WD Pilotage de Word

Je l'utilise pour ouvrir un .DOC qui contient un signet

Puis j'ai rajouté dans le menu une option pour se positionner
directement en appelant ma méthode GoToSignet.

et j'ai volontairement enlever les exceptions pour voir comment ça
plantait

--
Eric Roumégou
Webmaster des wtablettes
http://cerbermail.com/?qE7t4Qvilo
(cliquez sur le lien ci-dessus pour me contacter en privé)
1 2