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

Macros et VBA Excel Discussion :

Excel VBA ouvrir, visualiser et fermer un document word [XL-2007]


Sujet :

Macros et VBA Excel

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre averti
    Homme Profil pro
    Webmaster, Concepteur Base de données, Développeur SQL
    Inscrit en
    Mars 2008
    Messages
    33
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Haute Savoie (Rhône Alpes)

    Informations professionnelles :
    Activité : Webmaster, Concepteur Base de données, Développeur SQL

    Informations forums :
    Inscription : Mars 2008
    Messages : 33
    Par défaut Excel VBA ouvrir, visualiser et fermer un document word
    Depuis un classeur Excel je souhaite ouvrir et visualiser un document Word.
    Lorsque j'ai fini de le consulter, fermer ce document Word, fermer l'application Word et retourner sur le classeur Excel initial.
    Le code VBA suivant effectue cette operation, mais il ne laisse pas assez de temps pour consulter le document Word qui se referme aussitôt qu'il s'ouvre. Comment interrompre la procédure pour laisser le temps de consulter le document. Merci d'avance pour votre aide.

    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
    NomDoss = "Documentation"
    Répertoire0 = ThisWorkbook.Path
    On Error Resume Next
    Répertoire1 = Répertoire0 & "\" & NomDoss
    On Error GoTo 0
     
    Set appWD = CreateObject("Word.Application")
    Set WordDoc = appWD.Documents.Open(Répertoire1 & "\ATS_Conception_générale.docx", ReadOnly:=True)
    appWD.Visible = True
    appWD.Activate
     
    'consultation du document Word
     
    WordDoc.Close
    appWD.Quit

  2. #2
    Expert confirmé
    Homme Profil pro
    aucune
    Inscrit en
    Septembre 2011
    Messages
    8 208
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : aucune

    Informations forums :
    Inscription : Septembre 2011
    Messages : 8 208
    Par défaut
    Bonjour,

    Enlève les deux dernières lignes.

  3. #3
    Expert éminent Avatar de Menhir
    Homme Profil pro
    Ingénieur
    Inscrit en
    Juin 2007
    Messages
    16 037
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Finistère (Bretagne)

    Informations professionnelles :
    Activité : Ingénieur
    Secteur : Industrie

    Informations forums :
    Inscription : Juin 2007
    Messages : 16 037
    Par défaut
    Il suffit que tu mettes en ligne antépénultième :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    MsgBox("Cliquer Ok pour fermer le document Word")
    Si j'avais à le faire pour moi, je ferrais comme dis Daniel, en laissant le soin à l'utilisateur de fermer le document Word lui-même.

    Enfin... non. Si j'avais à le faire pour moi, je mettrais un simple lien hypertexte attaché à une cellule, ce qui prendrait 10 s ét m'éviterait une macro.

  4. #4
    Membre averti
    Homme Profil pro
    Webmaster, Concepteur Base de données, Développeur SQL
    Inscrit en
    Mars 2008
    Messages
    33
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Haute Savoie (Rhône Alpes)

    Informations professionnelles :
    Activité : Webmaster, Concepteur Base de données, Développeur SQL

    Informations forums :
    Inscription : Mars 2008
    Messages : 33
    Par défaut Consultation du document Word et retour sur le classeur Excel
    Merci de vos propositions.
    Finalement j'ai entre temps trouvé une solution, en ajoutant un Sleep 10000.
    L'avantage est que le document Word reste ouvert tout le temps nécessaire à sa consultation et que lorsque l'utilisateur le ferme il revient sur le classeur Excel initial.
    Le 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
    NomDoss = "Documentation"
    Répertoire0 = ThisWorkbook.Path
    On Error Resume Next
    Répertoire1 = Répertoire0 & "\" & NomDoss
    On Error GoTo 0
    Set appWD = CreateObject("Word.Application")
    Set WordDoc = appWD.Documents.Open(Répertoire1 & "\ATS_Conception_générale.docx", ReadOnly:=True)
    appWD.Visible = True
    appWD.Activate
    Sleep 1000
    'consultation du document Word. Reviens dans cette procédure à la fermeture (clic sur la croix) du document
    Set WordDoc = Nothing
    CreateObject("Word.Application").Quit
    Set appWD = Nothing

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

Discussions similaires

  1. Comment visualiser un PDF ou document Word déja créé
    Par amine1980 dans le forum API standards et tierces
    Réponses: 6
    Dernier message: 14/12/2011, 16h29
  2. fermer un document Word avec Matlab 7.1
    Par Tommy24 dans le forum MATLAB
    Réponses: 1
    Dernier message: 06/05/2011, 10h45
  3. [TinyMCE] Ouvrir éditer et sauvegarder un document Word
    Par ZIED dans le forum Bibliothèques & Frameworks
    Réponses: 0
    Dernier message: 28/04/2011, 21h46
  4. VBA: Insérer le contenu d'un document word dans un autre
    Par kabbajreda dans le forum VB.NET
    Réponses: 1
    Dernier message: 29/08/2007, 18h56
  5. Fermer un document Word avant d'exporter des données
    Par Luc01Bil dans le forum Access
    Réponses: 2
    Dernier message: 08/12/2006, 09h30

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