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 Word Discussion :

Ouverture et fermeture de word depuis vba [Toutes versions]


Sujet :

VBA Word

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre éclairé
    Inscrit en
    Février 2011
    Messages
    263
    Détails du profil
    Informations forums :
    Inscription : Février 2011
    Messages : 263
    Par défaut Ouverture et fermeture de word depuis vba
    Bonjour,

    Pour les besoins de mon application Access, j'ouvre des documents Word.

    J'utilise ce code :

    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
     
    Dim oApp As Object
    Dim IsWordOpen As String
     
    On Error Resume Next
    Set oApp = GetObject(, "word.application")
    IsWordOpen = Not oApp Is Nothing
        If IsWordOpen = "faux" Then
            Set oApp = CreateObject("word.application")
        Else
            Set oApp = GetObject(, "word.application")
        End If
     
    on error goto RecupErreur
    With oApp
            'ouvre un nouveau document sur la base du modèle
            .Documents.Add (CurrentProject.Path & "\Donnees_Logiciel\Modeles\mdl_projet.dot")
            'rend l'application visible - Impératif pour que l'envoi des données se fasse
            .Visible = True
     
    .ActiveDocument.Close
    ....
     
    end with
     
    Set oApp = Nothing
    Je rencontre cependant un "problème".
    En effet, si aucun document Word n'est ouvert, la fenêtre Word, une fois mon code exécuté, reste ouverte (fenêtre grise avec juste le ruban).
    Si j'ajoute à mon code oApp.Quit la fenêtre se ferme donc ok plus de problème. Mais si d'autres documents Word sont ouverts, alors tous les documents Word ouvert se ferme.

    Comment faire ?

    Merci

  2. #2
    Rédacteur/Modérateur

    Avatar de Heureux-oli
    Homme Profil pro
    Contrôleur d'industrie
    Inscrit en
    Février 2006
    Messages
    21 086
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 60
    Localisation : Belgique

    Informations professionnelles :
    Activité : Contrôleur d'industrie
    Secteur : Aéronautique - Marine - Espace - Armement

    Informations forums :
    Inscription : Février 2006
    Messages : 21 086
    Par défaut
    Salut,

    tu peux ouvrir une nouvelle instance de l'application et ne pas utiliser une instance existante.
    Si tu le peux, ajoutes la référence de Word à ton projet.

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    Dim wApp as Word.Application
    Dim oDoc as Word.Document
     
     
    Set wApp = New Word.application
    Set oDoc = wApp.documents.Add
     
    ...
    ...
     
    oDoc.close
    Set odoc = Nothong
     
    wApp.Quit
    de cette manière, tu fermes l'instance que tu as créée.
    J'ai pas encore de décodeur, alors, postez en clair ! Comment mettre une balise de code ?
    Débutez en VBA

    Mes articles


    Dans un MP, vous pouvez me dire que je suis beau, ... mais si c'est une question technique je ne la lis pas ! Vous êtes prévenus !

  3. #3
    Membre éclairé
    Inscrit en
    Février 2011
    Messages
    263
    Détails du profil
    Informations forums :
    Inscription : Février 2011
    Messages : 263
    Par défaut Merci !
    Merci c'est nikel !

    Petite question bonus : je ne déclare pas mon document word mais juste l'application. Pour le document je fais directement
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    With oApp
            'ouvre un nouveau document sur la base du modèle
            .Documents.Add (CurrentProject.Path & "\Donnees_Logiciel\Modeles\mdl_projet.dot")
    C'est "grave" ?

    Je ferai mieux de faire un truc comme ça ? :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
     
    Dim oApp as Object
    Dim oDoc as Object
     
    Set oApp = CreateObject("Word.Application")
    Set oDoc = oApp.Documents.Add(...)
    Merci

  4. #4
    Rédacteur/Modérateur

    Avatar de Heureux-oli
    Homme Profil pro
    Contrôleur d'industrie
    Inscrit en
    Février 2006
    Messages
    21 086
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 60
    Localisation : Belgique

    Informations professionnelles :
    Activité : Contrôleur d'industrie
    Secteur : Aéronautique - Marine - Espace - Armement

    Informations forums :
    Inscription : Février 2006
    Messages : 21 086
    Par défaut
    Salut,

    C'est pas grave et ça se soigne !

    C'est juste une habitude et si tu dois utiliser plusieurs documents, c'est plus facile pour le référencer.
    J'ai pas encore de décodeur, alors, postez en clair ! Comment mettre une balise de code ?
    Débutez en VBA

    Mes articles


    Dans un MP, vous pouvez me dire que je suis beau, ... mais si c'est une question technique je ne la lis pas ! Vous êtes prévenus !

  5. #5
    Membre éclairé
    Inscrit en
    Février 2011
    Messages
    263
    Détails du profil
    Informations forums :
    Inscription : Février 2011
    Messages : 263
    Par défaut Merci
    Merci !

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. [WD-2000] Ouverture d'un document word depuis un autre
    Par juju05 dans le forum VBA Word
    Réponses: 3
    Dernier message: 02/12/2010, 14h34
  2. [AC-2000] Ouverture d'un fichier Excel depuis VBA Access
    Par Aeltith dans le forum VBA Access
    Réponses: 2
    Dernier message: 19/06/2010, 15h43
  3. Ouverture d'un fichier Word depuis Excel
    Par franck71 dans le forum Macros et VBA Excel
    Réponses: 1
    Dernier message: 05/07/2008, 23h33
  4. insérer une image sous word depuis vba-A
    Par Ofeneim dans le forum VBA Access
    Réponses: 2
    Dernier message: 28/05/2007, 10h32
  5. Ouverture d'un template Word depuis Excel
    Par modus vivendi dans le forum VBA Word
    Réponses: 1
    Dernier message: 14/08/2005, 10h29

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