IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

VBA Access Discussion :

ActiveDocument.SaveAs (Word) impossible


Sujet :

VBA Access

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre averti
    Profil pro
    Inscrit en
    Octobre 2008
    Messages
    12
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Octobre 2008
    Messages : 12
    Par défaut ActiveDocument.SaveAs (Word) impossible
    Bonjour,

    j'exécute uen requette dans un module access : à partir d'un formulaire j'effectue un publipostage. le seul hic, c'est quand je soushaiet renomer le fichier issue du publipostage. cela marche 1 fois sur 2 !! (Oui)

    c'est la donnée ActiveDocument dans l'instruction
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    ActiveDocument.SaveAs "X:\TEMP\EnvoiEval\" & a & ".doc"
    .SaveAs "X:\TEMP\EnvoiEval\" & a & ".doc"
    qui n'est pas toujours accessible !!!





    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    Sub MergeIt()
       Dim appWord As Word.Application
       Dim objWord As Word.Document
     
        Set appWord = New Word.Application
        appWord.Visible = True
     
        a = Forms!DonneesCollab![Identifiant_Annuaire]
        Set objWord = appWord.Documents.Open("X:\TEMP\Support+Evaluation+France.doc")
     
        objWord.MailMerge.OpenDataSource _
            Name:="X:\TEMP\Evaloc.mdb", _
            Connection:="TABLE Eval1", _
            LinkToSource:=True, _
            SQLStatement:="SELECT * FROM [Eval1]"
     
        objWord.MailMerge.Execute
     
        ActiveDocument.SaveAs "X:\TEMP\EnvoiEval\" & a & ".doc"
        ActiveDocument.Close False
        objWord.Close False
        Set objWord = Nothing
        Word.Application.Quit
     
     
    End Sub

  2. #2
    Membre Expert
    Avatar de mout1234
    Profil pro
    Inscrit en
    Novembre 2006
    Messages
    2 210
    Détails du profil
    Informations personnelles :
    Âge : 56
    Localisation : France, Paris (Île de France)

    Informations forums :
    Inscription : Novembre 2006
    Messages : 2 210
    Par défaut
    Bonjour et bienvenu sur le forum.

    Je ne sais si cela a un rapport avec ton problème mais j'évite pour ma part, dans la mesure du possible, l'utilisation des ActiveDocument et autres éléments du même genre...
    J'essaierai plutot de passer par la collections des documents.

    Quelque chose du genre (non testé):
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    With AppWord.Documents(1) '1 car tu as 2 documents ouverts à cet instant dans ton AppWord, le premier ayant l'indice 0
        .SaveAs "X:\TEMP\EnvoiEval\" & a & ".doc"
        .close wdDoNotSaveChanges
    end with

    En passant, ta variable a n'est pas déclarée et un nom plus significatif serait préférable

  3. #3
    Membre averti
    Profil pro
    Inscrit en
    Octobre 2008
    Messages
    12
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Octobre 2008
    Messages : 12
    Par défaut
    Bonjour mout1234


    cela marche beaucoup mieux selon ta méthode.
    reste à fermer tous les documents et instances de word ouvertes.
    et ma proc est encore nu peu légère sur cet aspect.

  4. #4
    Membre averti
    Profil pro
    Inscrit en
    Octobre 2008
    Messages
    12
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Octobre 2008
    Messages : 12
    Par défaut
    Il me reste 2 pb

    je suis systématiquement obligé de
    1) confirmer la propriété de la liason de données et la source des données
    2) femer à la mano des instances de word vide. ( aucun do ouvert)

    mon code est le suivant
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
    Sub MergeIt()
       Dim appWord As Word.Application
       Dim objWord As Word.Document
       Dim a As String
     
        Set appWord = New Word.Application
        a = Forms!DonneesCollab![Identifiant_Annuaire]
        Set objWord = appWord.Documents.Open("X:\TEMP\Support+Evaluation+France.doc")
        objWord.Application.Visible = True
        objWord.MailMerge.OpenDataSource _
            Name:="X:\TEMP\Evaloc2.mdb", _
            Connection:="QUERY Eval1", _
            LinkToSource:=True, _
            SQLStatement:="SELECT * FROM [Eval1]"
     
        objWord.MailMerge.Execute
     
        'MsgBox appWord.Documents.Count
        appWord.Documents(1).SaveAs ("X:\TEMP\EnvoiEval\" & a & ".doc")
        appWord.Documents(1).Close False
        appWord.Documents(1).Close False
     
       ' objWord.Close False
        Set objWord = Nothing
       ' Word.Application.Quit
     
    End Sub

  5. #5
    Membre Expert
    Avatar de mout1234
    Profil pro
    Inscrit en
    Novembre 2006
    Messages
    2 210
    Détails du profil
    Informations personnelles :
    Âge : 56
    Localisation : France, Paris (Île de France)

    Informations forums :
    Inscription : Novembre 2006
    Messages : 2 210
    Par défaut
    Pas le temps de regarder en détail ... mais logiquement, si tu fermes le document N° 1 de la collection... il ne reste plus que le N°0
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
        appWord.Documents(1).Close False
        appWord.Documents(0).Close False

  6. #6
    Membre averti
    Profil pro
    Inscrit en
    Octobre 2008
    Messages
    12
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Octobre 2008
    Messages : 12
    Par défaut
    c'est ce que j'ai pensé mais il semble que ma machine ne réagit pas avec cette même logique !!

Discussions similaires

  1. Bug Saveas Word
    Par Gorzyne dans le forum Macros et VBA Excel
    Réponses: 5
    Dernier message: 07/05/2015, 12h13
  2. Réponses: 1
    Dernier message: 25/11/2014, 17h05
  3. [WD-2007] problème instruction ActiveDocument.SaveAs
    Par jmperieras dans le forum VBA Word
    Réponses: 4
    Dernier message: 14/05/2013, 10h31
  4. Réponses: 2
    Dernier message: 21/10/2009, 11h47
  5. [VB 6 + Word] Impossible d'ouvrir un fichier
    Par baptx dans le forum VB 6 et antérieur
    Réponses: 4
    Dernier message: 16/07/2007, 12h41

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo