OVH Cloud OVH Cloud

publipostage avec ACCESS 2002

5 réponses
Avatar
DENNLER Andre
Cette fonction marchait bien avec OFFICE 97, depuis que je suis passé à la
version 2002 j'ai un soucis d'ouverture du document WORD.
J'utilise :

Function Publipostage_BandeDNA()
Dim wdApp As Word.Application

' Démarrer Word
Set wdApp = CreateObject("Word.Application")
With wdApp
.Visible = True

' Ouvrir la lettre type
.Documents.Open "C:\Doc\Courses\Eti-DNA.doc"

' Diriger le publipostage vers un nouveau document
.ActiveDocument.MailMerge.Destination = wdSendToNewDocument

' Lancer le fusion
.ActiveDocument.MailMerge.Execute
End With

' Fermer et libérer les objets
Set wdApp = Nothing
End Function


J'ai un message d'erreur :" L'objet demandé n'est pas disponible"

En fait la source de donnée n'est pas ouverte, les boutons de fusion ne sont
pas disponibles.

Quand je passe en ouverture manuel du fichier WORD cela fonctionne
normalement.

Il me semble que le problème vient de chez WORD.

--
Andre

5 réponses

Avatar
Anacoluthe
Bonjour !

'DENNLER Andre' nous a écrit ...
Cette fonction marchait bien avec OFFICE 97, depuis que je suis passé à la
version 2002 j'ai un soucis d'ouverture du document WORD.
Function Publipostage_BandeDNA()
...
.Documents.Open "C:DocCoursesEti-DNA.doc"
...
.ActiveDocument.MailMerge.Execute


Votre code suppose que l'objet MailMerge de Eti-DNA.doc est
/déjà/ connecté à une source. Vérifiez ce point qui a changé
entre 97 et 2002 (vous êtiez en DDE) ou incorporez la connexion
à la source dans votre code.

Anacoluthe
« Le temps est comme un fleuve, il ne remonte pas à sa source. »
- RIVAROL

Avatar
DENNLER Andre
Quand j'ouvre le document WORD en manuel la source est connectée, quand je
lance la macro depuis ACCESS la source n'est plus connectée.
Quelle est éventuellement la commande à ajouter dans le module ACCESS (je ne
suis pas connaisseur en VBA, je recopie).
--
Andre



Bonjour !

'DENNLER Andre' nous a écrit ...
Cette fonction marchait bien avec OFFICE 97, depuis que je suis passé à la
version 2002 j'ai un soucis d'ouverture du document WORD.
Function Publipostage_BandeDNA()
...
.Documents.Open "C:DocCoursesEti-DNA.doc"
...
.ActiveDocument.MailMerge.Execute


Votre code suppose que l'objet MailMerge de Eti-DNA.doc est
/déjà/ connecté à une source. Vérifiez ce point qui a changé
entre 97 et 2002 (vous êtiez en DDE) ou incorporez la connexion
à la source dans votre code.

Anacoluthe
« Le temps est comme un fleuve, il ne remonte pas à sa source. »
- RIVAROL




Avatar
Anacoluthe
Bonjour !

'DENNLER Andre' nous a écrit ...
Quand j'ouvre le document WORD en manuel la source est connectée, quand je
lance la macro depuis ACCESS la source n'est plus connectée.
Quelle est éventuellement la commande à ajouter dans le module ACCESS (je ne
suis pas connaisseur en VBA, je recopie).


Il faut enregistrer le document principal comme document normal
et utiliser dans le code la méthode MailMerge.OpenDataSource
Par ailleurs il est possible que votre vieux code bloque à cause
de la sécurité SQL introduite depuis WD2002-SP3 et WD2003.

Anacoluthe
« Le temps est comme un fleuve, il ne remonte pas à sa source. »
- RIVAROL

Avatar
DENNLER Andre
C'est effectivement la sécurité SQL qui bloque.
--
Andre



Bonjour !

'DENNLER Andre' nous a écrit ...
Quand j'ouvre le document WORD en manuel la source est connectée, quand je
lance la macro depuis ACCESS la source n'est plus connectée.
Quelle est éventuellement la commande à ajouter dans le module ACCESS (je ne
suis pas connaisseur en VBA, je recopie).


Il faut enregistrer le document principal comme document normal
et utiliser dans le code la méthode MailMerge.OpenDataSource
Par ailleurs il est possible que votre vieux code bloque à cause
de la sécurité SQL introduite depuis WD2002-SP3 et WD2003.

Anacoluthe
« Le temps est comme un fleuve, il ne remonte pas à sa source. »
- RIVAROL




Avatar
Anacoluthe
Bonjour !

'DENNLER Andre' nous a écrit ...
C'est effectivement la sécurité SQL qui bloque.


On peut la désactiver
http://support.microsoft.com/kb/825765/fr

Anacoluthe
« Le besoin de sécurité asphyxie l'âme. »
- Alexandre JARDIN