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 :

Ouvrir un fichier word et vérifier qu'il n'est pas déjà ouvert


Sujet :

Macros et VBA Excel

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre éclairé
    Femme Profil pro
    reconversion en cours
    Inscrit en
    Juillet 2009
    Messages
    637
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : reconversion en cours
    Secteur : Conseil

    Informations forums :
    Inscription : Juillet 2009
    Messages : 637
    Par défaut Ouvrir un fichier word et vérifier qu'il n'est pas déjà ouvert
    Bonjour,
    Je me suis inspirée de la Faq, mais j'ai un pb.
    Je veux ouvrir un fichier Word après avoir vérifié qu'il n'est pas déjà ouvert ; c'est ce dernier point qui coince.
    Voici mon 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
    Sub OuvrMopMq()
    'ouvre le fichier Word.
    'nécéssite d'activer la reference Microsoft word xx.x 0bject Library => OK
    Dim Appli As Word.Application
    Dim WordDoc As Word.Document
    Call Outhé    'alimente les variables : ChemApp  Mop (Nom de fichier.docx)
    'la procédure vérifie que le fichier word est ouvert
     On Error Resume Next
        Set Appli = GetObject(, "Word.Application")
        Set WordDoc = Appli.Documents(ChemApp & " \ " & Mop)
        On Error GoTo 0
    'S'il n'est pas déjà ouvert
        If WordDoc Is Nothing Then
            'ouvre session word
            Set Appli = New Word.Application
            'ouvre du document Word
            Set WordDoc = Appli.Documents.Open(ChemApp & "\" & Mop)
            'activation de word
            Appli.Visible = True
        Else
            MsgBox "Le document est ouvert"
        End If
    End Sub
    à la sortie de
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
     Set WordDoc = Appli.Documents(ChemApp & " \ " & Mop)
    WordDoc est toujours nul, même si le fichier est ouvert...

    Pendant que j'y suis, si vous pouvez m'aider à remplacer MsgBox "Le document est ouvert" par Activer le document, ce serait un plus.
    Merci d'avance

  2. #2
    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
    Tu fais une boucle For Each sur la collection Documents de l'Application Word et, pour chacun, tu vérifies si le nom correspond à celui que tu cherches.
    Si c'est le cas, tu mets une variable "drapeau" à 1.
    En sortie de boucle, si ta variable est à 1, c'est que le fichier est déjà ouvert.

Discussions similaires

  1. [COM] Ouvrir un fichier Word dans PHP
    Par TomZ dans le forum Bibliothèques et frameworks
    Réponses: 4
    Dernier message: 24/03/2006, 13h58
  2. Ouvrir un fichier word à partir de jbuilder
    Par mouna201 dans le forum JBuilder
    Réponses: 1
    Dernier message: 18/01/2006, 19h31
  3. Ouvrir un fichier Word (Shell
    Par priest69 dans le forum VBA Word
    Réponses: 6
    Dernier message: 21/09/2005, 16h53
  4. Ouvrir un fichier word en lecture seule
    Par yoyo30 dans le forum Access
    Réponses: 11
    Dernier message: 09/09/2005, 10h25
  5. [CR7][Word] Ouvrir un fichier Word ou excel avec CR
    Par yoyothebest dans le forum SAP Crystal Reports
    Réponses: 1
    Dernier message: 23/04/2005, 19h47

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