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 :

ouvrir word dans tous les repertoires


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
    Novembre 2007
    Messages
    21
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Novembre 2007
    Messages : 21
    Par défaut ouvrir word dans tous les repertoires
    Bonjour,

    Mon probleme se situe dans l'ouverture d'un document word, se situant dans des repertoires et des sous-repertoires.

    ex:
    Repertoire1
    Repertoire2 ---------> sous_repertoire1
    ---------> sous_repertoire2
    ---------> sous_repertoire3
    Repertoire3
    Repertoire4
    Repertoire5

    ====> champs: [Répertoire]


    j'arrive bien a ouvrir le document word dans les differents repertoires a l'aide du code 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
    Private Sub Commande34_Click() 
     
    Dim Chemin As String
    Chemin = "C:/fichier_contenant_repértoires" & "\" & Me![Répertoire] & "" & "\" & Me![Nom fichier] & ""
     
    If Dir(Chemin) = "" Then
    MsgBox "il n'y est pas dans ce repertoire"
    Else
    Dim wApp As New Word.Application
    wApp.Documents.Open (Chemin)
     
    wApp.Visible = True
    End If
     
    End Sub
    Par contre je peux pas ouvrir les documents se trouvant dans les sous-repertoires (ce qui est tout a fait normal en lisant le code du chemin), et tout cela sans ajouter un nouveau champ [sous-repertoire]


    L'ideal (je pense) serait que ça me fait une recherche par fichier.doc dans tous les repertoires et sous-repertoire et l'ouvre.

    donc si quelqu'un aurait une piste pour pouvoir recuperer les document du sous-repertoires


    Merci,

  2. #2
    Membre Expert

    Profil pro
    Inscrit en
    Juin 2003
    Messages
    1 229
    Détails du profil
    Informations personnelles :
    Localisation : Sénégal

    Informations forums :
    Inscription : Juin 2003
    Messages : 1 229
    Par défaut
    Tu dois parcourir chaque répertoire. A chaque fois que tu rencontre un fichier tu l'ouvre, si c'est un sous répertoire, eh bien tu le parcour aussi.

    Par exemple
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
     
     
    For Each MonFichier In MonDossier
        If MonFichier.Type=? then
     
        else
     
        end if
     
    Next
    le ? sera la valeur correxpondant au type subfolder (ou sous répertoire)

    PS : Tu peux essayer d'utiliser une procédure (ou fonction) récurcive pour le parcourir.

  3. #3
    Membre averti
    Profil pro
    Inscrit en
    Novembre 2007
    Messages
    21
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Novembre 2007
    Messages : 21
    Par défaut
    Je te remercie de t'etre penché sur mon probleme, j'ai bien compris le principe de ton idée ...

    Mais par contre pour la mettre en place c'est une autre histoire

    je vais me pencher sur "recherche recursive d'un fichier", peut etre que je comprendrais mieux
    http://access.developpez.com/sources...chercheFichier

  4. #4
    Membre averti
    Profil pro
    Inscrit en
    Novembre 2007
    Messages
    21
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Novembre 2007
    Messages : 21
    Par défaut
    Bon j'ai résolu mon probleme, donc pr ceux qui sont interessés:

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    Private Sub Ouvrir_Doc_Click() 
    Explorer1 "" & Me![Nom fichier] & "", "C:\Documents\...\...\etc..."
    End SUb
    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
    28
    29
    30
    31
    32
    33
    34
    35
    36
    37
    38
    39
    40
    41
    Sub Explorer1(p_strFichier As String, p_strCheminDepart As String, Optional p_oFld As Scripting.Folder)
    On Error GoTo err
        Dim oFSO As Scripting.FileSystemObject
        Dim oFld As Scripting.Folder
        Dim oFl As File
        Dim objWord As Word.Document
     
        If p_oFld Is Nothing Then
            'Instanciation du FSO
            Set oFSO = New Scripting.FileSystemObject
            'Accède au répertoire du départ de recherche
            Set p_oFld = oFSO.GetFolder(p_strCheminDepart)
        End If
        Set oFl = p_oFld.Files(p_strFichier)
    MsgBox oFl.Path
     
     
    Set objWord = GetObject(oFl.Path, "Word.Document")
      objWord.Application.Visible = True
     
     
    SubDir:
    'Explore les sous-dossiers
        For Each oFld In p_oFld.SubFolders
            Explorer1 p_strFichier, p_strCheminDepart, oFld
            DoEvents
     
        Next oFld
     
     
    fin:
        Exit Sub
    err:
        Select Case err.Number
            Case 53: Resume SubDir
            Case Else:
                MsgBox "Erreur inconnue"
                Resume fin
        End Select
     
    End Sub

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

Discussions similaires

  1. Lister le contenu de tous les répertoires sauf 1
    Par Longrais dans le forum Shell et commandes GNU
    Réponses: 1
    Dernier message: 04/04/2006, 16h00
  2. Réponses: 2
    Dernier message: 07/03/2006, 15h27
  3. Réponses: 4
    Dernier message: 01/03/2006, 13h58
  4. Pour qu'un logiciel ne soit utiliser dans tous les sessions
    Par mouloudéen dans le forum Autres Logiciels
    Réponses: 10
    Dernier message: 14/12/2005, 19h10
  5. [MySQL] Rechercher dans tous les champs
    Par Faure dans le forum PHP & Base de données
    Réponses: 2
    Dernier message: 05/10/2005, 14h52

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