Accueil > > > 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
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
Sources de la même categorie
Commentaires et avis
|
Derniers Blogs
IMAGINE CUP 2012, MAKE A SIGN EN FINALEIMAGINE CUP 2012, MAKE A SIGN EN FINALE par junarnoalg
Voilà qui est fait, la nouvelle est officielle ! L'équipe belge "Make a Sign" va au pays des kangourous défendre son projet dans la catégorie Software Design. http://www.imaginecup.com/CompetitionsContent/Competition/WorldwideFinalists.aspx V...
Cliquez pour lire la suite de l'article par junarnoalg KINECT 1.5 IS OUT !KINECT 1.5 IS OUT ! par Vko
La version 1.5 du Kinect For Microsoft vient tout juste de sortir ! Plein de nouveautés: Tracking de squelette en Near Mode Détection en position assise Détection faciale avec un SDK dédié Documentation et des guideline (enfin) Un out...
Cliquez pour lire la suite de l'article par Vko LES ACTUALITéS DE LA SEMAINE SUR C2I.FR (14 MAI - 20 MAI) LES ACTUALITéS DE LA SEMAINE SUR C2I.FR (14 MAI - 20 MAI) par richardc
Mise à jour des Web API du 14 Mai
Réservez dès maintenant votre journée du 20 juin pour le Windows Azure Dev Camp 2012 à Paris
Mise à jour de Team Foundation Service
MechCommander 2 sur Windows 8
Entity Framework 5 Release Candidate e...
Cliquez pour lire la suite de l'article par richardc REACTIVE EXTENSIONS : CONSOMMER DES SERVICES AVEC RX PARTIE 3, LES PIèGES à éVITERREACTIVE EXTENSIONS : CONSOMMER DES SERVICES AVEC RX PARTIE 3, LES PIèGES à éVITER par Groc
Une mauvaise utilisation de rx lors de l'écriture d'une couche d'accès à des services peut conduire à des cas embarassants avec des erreurs mal gérées, des appels qui ne partent lorsqu'ils le devraient, et même des résultats incorrects . le tout nuis...
Cliquez pour lire la suite de l'article par Groc SHAREPOINT BLOG SITE, PROBLèME D'ARCHIVESSHAREPOINT BLOG SITE, PROBLèME D'ARCHIVES par junarnoalg
Dernièrement, nous avons migré le site
myTIC
vers un nouveau serveur SharePoint 2010. Dans les contenus que nous vouloins récupérer, nous avions un certain nombre de blogs.
Nous avons utilisé les commandes Power...
Cliquez pour lire la suite de l'article par junarnoalg
Forum
RE : DATAREPORTRE : DATAREPORT par cmarcotte
Cliquez pour lire la suite par cmarcotte
Logiciels
sDEVIS-FACTURES vlPRO (8.1.0.3)SDEVIS-FACTURES VLPRO (8.1.0.3)sDEVIS-FACTURES vlPRO a été mis au point pour les particuliers, créateurs, entrepreneurs, artisa... Cliquez pour télécharger sDEVIS-FACTURES vlPRO 974 Application Server (12.2.4.6)974 APPLICATION SERVER (12.2.4.6)Développez de puissantes applications dans un environnement de 'cloud computing', clusterisé, séc... Cliquez pour télécharger 974 Application Server vPicture (1.4.2.1)VPICTURE (1.4.2.1)Avec vPicture, hébergez vos images facilement et rapidement.
vPicture est un utilitaire simple, ... Cliquez pour télécharger vPicture Easy-Planning (2.2.1.6)EASY-PLANNING (2.2.1.6)Easy-Planning permet de créer des plannings sous la représentation de diagrammes et est adapté au... Cliquez pour télécharger Easy-Planning COM-BACKUP (2.0)COM-BACKUP (2.0)
COM-BACKUP est un logiciel de sauvegarde qui permet de planifier les sauvegardes de vos dossiers ...
Cliquez pour télécharger COM-BACKUP
|