begin process at 2012 02 13 00:24:14
  Trouver un code source :
 
dans
 
Accueil > 

Code

 > 

Fichier / Disque

 > VBA-WORD TESTER ET ACTUALISER UN CHEMIN D'ACCÈS À UN FICHIER + RECHERCHE DU NOM DES DRIVERS

VBA-WORD TESTER ET ACTUALISER UN CHEMIN D'ACCÈS À UN FICHIER + RECHERCHE DU NOM DES DRIVERS


 Information sur la source

Note :
Aucune note
Catégorie :Fichier / Disque Niveau :Débutant Date de création :08/11/2004 Date de mise à jour :20/01/2005 18:04:14 Vu :6 703

Auteur : rambc

Ecrire un message privé
Commentaire sur cette source (3)
Ajouter un commentaire et/ou une note

 Description

On cherche à tester si  CheminDOuverture  est un bon chemin d'accès à un fichier "NomDeLogiciel.exe". Si ce n'est pas le cas, on essaye de voir si le fichier n'est pas dans un autre dossier, et si tel est le cas on trouve le nouveau chemin d'accès.
Cela est utile pour un lancement propre d'un logiciel au sein de Word sans avoir à utiliser un On Error Goto pour gérer le cas d'une non-installation du dit-logiciel.

Source

  • sub ramTROUVER()
  • Dim I,N As Long
  • Dim NomFichierExe, CheminDOuverture As String
  • CheminDOuverture ="C:\TrucMucheCorporation\TrucMuche.exe"
  • If Dir(CheminDOuverture) = "" Then
  • ' On n'a pas le bon chemin d'accès.
  • I = InStrRev(CheminDOuverture, "\")
  • NomFichierExe = Mid(CheminDOuverture, I + 1, Len(CheminDOuverture) - I)
  • ' On retrouve "TrucMuche.exe"
  • CheminDOuverture = ""
  • With Application.FileSearch
  • .NewSearch
  • .LookIn = "C:\"
  • .SearchSubFolders = True
  • .MatchTextExactly = False
  • .FileName = NomFichierExe
  • .FileType = msoFileTypeAllFiles
  • End With
  • With Application.FileSearch
  • If .Execute() > 0 Then
  • I = 1
  • N = .FoundFiles.Count
  • Do While I <= N
  • ' On teste la présence d'un bon chemin.
  • If Dir(.FoundFiles(I)) <> "" Then
  • ' On a trouvé le nouveau chemin.
  • CheminDOuverture = .FoundFiles(I)
  • I = N + 1
  • End If
  • I = I + 1
  • Loop
  • End If
  • End With
  • End If
  • If CheminDOuverture ="" Then
  • ' Le fichier n'est pas présent.
  • Else
  • ' Le fichier est présent et son
  • ' chemin d'accès est CheminDOuverture .
  • End If
  • End Sub
  • Private Declare Function DéterminerLeTypDeDriver Lib "kernel32" _
  • Alias "GetDriveTypeA" (ByVal nDrive As String) As Long
  • ' A mettre au début de votre module.
  • Sub TrouverTousLesDrivers()
  • ' Cette macro se trouve dans le livre
  • ' "Atelier Visual Basic 6.0 Edition 2001"
  • ' aux éditions Microsoft Press.
  • Dim I As Integer
  • Dim TypeDeDriver As Long
  • Dim NomDriver As String
  • For I = 0 To 25
  • NomDriver = Chr(I + 65) + ":\"
  • ' "A:\" , puis "B:\" , ...
  • TypeDeDriver = DéterminerLeTypDeDriver(NomDriver)
  • Select Case TypeDeDriver
  • Case 2
  • MsgBox "Le driver " + Chr(I + 65) + " est amovible."
  • ' Un lecteur de disquette.
  • Case 3
  • MsgBox "Le driver " + Chr(I + 65) + " est fixe."
  • ' Le disque dur ou une partie de celui-ci s'il a été partitionné.
  • Case 4
  • MsgBox "Le driver " + Chr(I + 65) + " est un disque réseau."
  • Case 5
  • MsgBox "Le driver " + Chr(I + 65) + " est un CD."
  • Case 6
  • MsgBox "Le driver " + Chr(I + 65) + " est un RAM-disque."
  • End Select
  • Next
  • End Sub
sub  ramTROUVER()

Dim I,N As Long
Dim NomFichierExe, CheminDOuverture As String

CheminDOuverture ="C:\TrucMucheCorporation\TrucMuche.exe"

If Dir(CheminDOuverture) = "" Then
		' On n'a pas le bon chemin d'accès.
    I = InStrRev(CheminDOuverture, "\")
    NomFichierExe = Mid(CheminDOuverture, I + 1, Len(CheminDOuverture) - I)
		' On retrouve  "TrucMuche.exe"
    CheminDOuverture = ""

    With Application.FileSearch
        .NewSearch
        .LookIn = "C:\"
        .SearchSubFolders = True
        .MatchTextExactly = False
        .FileName = NomFichierExe
        .FileType = msoFileTypeAllFiles
    End With
    
    With Application.FileSearch
        If .Execute() > 0 Then
            I = 1
            N = .FoundFiles.Count
            
            Do While I <= N
                ' On teste la présence d'un bon chemin.
                If Dir(.FoundFiles(I)) <> "" Then
                    ' On a trouvé le nouveau chemin.
                    CheminDOuverture = .FoundFiles(I)
                    I = N + 1
                End If
                I = I + 1
            Loop
        End If
    End With
End If

If CheminDOuverture ="" Then
	' Le fichier n'est pas présent.
Else
	' Le fichier est présent et son
	' chemin d'accès est  CheminDOuverture .
End If

End Sub

Private Declare Function DéterminerLeTypDeDriver Lib "kernel32" _
    Alias "GetDriveTypeA" (ByVal nDrive As String) As Long
	' A mettre au début de votre module.

    
Sub TrouverTousLesDrivers()
	' Cette macro se trouve dans le livre
	' "Atelier Visual Basic 6.0 Edition 2001"
	' aux éditions Microsoft Press.

Dim I As Integer
Dim TypeDeDriver As Long
Dim NomDriver As String

For I = 0 To 25
    NomDriver = Chr(I + 65) + ":\"
	' "A:\" , puis  "B:\" , ...
    TypeDeDriver = DéterminerLeTypDeDriver(NomDriver)
    
    Select Case TypeDeDriver
        Case 2
            MsgBox "Le driver  " + Chr(I + 65) + "  est amovible."
		' Un lecteur de disquette.
        Case 3
            MsgBox "Le driver  " + Chr(I + 65) + "  est fixe."
		' Le disque dur ou une partie de celui-ci s'il a été partitionné.
        Case 4
            MsgBox "Le driver  " + Chr(I + 65) + "  est un disque réseau."
        Case 5
            MsgBox "Le driver  " + Chr(I + 65) + "  est un CD."
        Case 6
            MsgBox "Le driver  " + Chr(I + 65) + "  est un RAM-disque."
    End Select
Next

End Sub



 Historique

20 décembre 2004 14:09:11 :
Ajout d'une macro (pris dans l'aide VBA) donnant la liste des drivers pour une recherche plus poussée (c'est à dire en dehors du "disque dur" C).
20 janvier 2005 18:04:14 :
Ajout d'une procèdure complète permettant la recherche de tous les drivers et de leur type. Cela répondra à l'objection faite ci-dessous.

 Sources du même auteur

UN ALGORITGHME EFFICACE DE CALCUL D'UNE PUISSANCE.
OUTLOOK MAIL(SUJET ET MESSAGE) / OUVRIR UNE PAGE NET (VÉRIFI...

 Sources de la même categorie

Source avec Zip Source .NET (Dotnet) MODIFIER LES EXTENSION DES FICHIERS par okosa
ROUTINE DIR RÉCURSIVE POUR OBTENIR LA LISTE DE TOUS LES FICH... par kerisolde
Source avec Zip Source avec une capture FILE,SECURITY,FICHIER par okosa
Source avec Zip Source avec une capture Source .NET (Dotnet) PATCHEUR DE FICHIER par tototh
Source avec Zip Source avec une capture LECTURE DES INFORMATIONS DES DISQUES COMPOSANT UN ENSEMBLE R... par jack

Commentaires et avis

Commentaire de econs le 09/11/2004 03:16:55 administrateur CS


Tu vas sans doute dire que je pinaille, mais si mon fichier ne se trouve pas sur le disque "C:\" ?
Bah oui, j'ai plusieurs HDD, et ce n'est pas sur le C: que je sauvegarde mes fichiers ....


    With Application.FileSearch
        .NewSearch
        .LookIn = "C:\" <-------
        .SearchSubFolders = True
        .MatchTextExactly = False
        .FileName = NomFichierExe
        .FileType = msoFileTypeAllFiles
    End With

Commentaire de rambc le 09/11/2004 17:33:17

Bonne remarque maçis n'oublie pas que je débute.

Commentaire de rambc le 09/11/2004 18:14:45

Au passage, si tu sais comment trouver tous les disques partagés, je suis preneur.

HDD = ...  (exactement).

Merci.

PS : maçis = mais  (j'ai des gros doigts).

 Ajouter un commentaire




Nos sponsors


Sondage...

Comparez les prix

CalendriCode

Février 2012
LMMJVSD
  12345
6789101112
13141516171819
20212223242526
272829    

Consulter la suite du CalendriCode

 
Développement réalisé par Nicolas SOREL (Nix) avec l'aide de : Cyril DURAND et Emmanuel (EBArtSoft), Merci à Vincent pour ses précieux conseils.
CodeS-SourceS.com© Toute reproduction même partielle est interdite sauf accord écrit du Webmaster
CodeS-SourceS.com© est une marque déposée tous droits réservés

Google Coop CodeS-SourceS Google Coop CodeS-SourceS
Temps d'éxécution de la page : 6,178 sec (3)

Nous contacter | Annoncer sur CodeS-SourceS | Mentions légales