Réaliser un mailing avec VB6 et non VBA

AFPA2003 Messages postés 35 Date d'inscription vendredi 4 avril 2003 Statut Membre Dernière intervention 22 mai 2013 - 29 janv. 2004 à 09:46
nhervagault Messages postés 6063 Date d'inscription dimanche 13 avril 2003 Statut Membre Dernière intervention 15 juillet 2011 - 29 janv. 2004 à 20:41
Salut,

Comme je n'y arrive pas avec datareport (en plus c'est assez strict comme présentation, je n'arrive pas à modifier les clauses where ou order by), j'ai créé sous word un document maitre, avec une "jolie" présentation et des champs.
Pour faire la fusion du publipostage, les infos proviennent d'un un fichier txt (les champs sont séparés par de point virgule).
Avec VB6, je fabrique le fichier texte (celui avec les champs).
Maintenant, avec VB6, Je voudrai faire la fusion et l'imprimer, sans que word soit "visiblement" ouvert.

Pour essayé de comprendre, j'ai enregistré sous word, une macro qui ouvre le fichier principal, qui fait la fusion avec le fichier texte, qui lance l'impression, et qui ferme word.
Mais je ne sais comment faire avec ce code pour le mettre dans VB et l'exploiter.
J'ai mis dans une form, l'objet word et son WordCtl, mais maintenant, je bloque.

Qui veut bien m'expliquer ??

PS: dans le moteur de recherche des news, je n'ai rien trouvé avec publipostage ou mailling.

NB: Je trouve curieux que sur VB France, il n'y ait pas de forum sur VB6 ou VBNET !

1 réponse

nhervagault Messages postés 6063 Date d'inscription dimanche 13 avril 2003 Statut Membre Dernière intervention 15 juillet 2011 37
29 janv. 2004 à 20:41
Une méthode que tu peux utilises est l'utilsation des signets (formulaires de word)

Public msword As New Word.Application
Public msexcel As New Excel.Application
Public Function edit_dpae()

msword.Application.Visible = True
msword.Documents.Open (App.path & "\modeles\lettre.doc")

connADO.Open
rsADO.Open strSQL, connADO, adOpenKeyset, adLockOptimistic
msword.ActiveDocument.FormFields("nom").result = valeur

rsADO.Close
connADO.Close

...

Public Sub save(path As String)
msword.ActiveDocument.SaveAs path
End Sub

msword.quit --> quitter

il faut un modele
et tu sauve le resultat dans un autre fichier

reference a ado activex data object---> base de données
et m$ word *.0 object library --> word
8--> 97
9--> 2000
....

attention a bien fermer les word sinon --> demande de notification et lecture seule

Voila
0
Rejoignez-nous