Remplacer M:\ par une variable fso

mxcz Messages postés 8 Date d'inscription mardi 24 décembre 2002 Statut Membre Dernière intervention 20 septembre 2004 - 8 juil. 2004 à 19:59
mxcz Messages postés 8 Date d'inscription mardi 24 décembre 2002 Statut Membre Dernière intervention 20 septembre 2004 - 8 juil. 2004 à 21:14
Bonjour,

Comment je pourrai faire pour que la lettre de mon letteur (M:) soi remplacer par une varible, voici mon code.
Je voudrais que ce code fonctionne sur tout les ordinateur.
Le probléme ces que mon autre pc trouve pas le lecteur M:

Merci pour votre aide.

Set fsO = CreateObject("Scripting.filesystemObject")
Do While True
On Error Resume Next
' Vérifiez la presence de répertoires en plus des dossiers sans attributs.
S = Dir$("m:\*.*", vbDirectory)

If Err.Number = 52 Then
Err.Clear
If MsgBox("Placez une disquette dans le lecteur de disquette OU Cliquez CANCEL", vbOKCancel, _
"Placez Disquette Vide") = vbCancel Then GoTo ErrEnd
Else
Exit Do
End If
Loop
If S <> "" Then
If MsgBox("La carte n'est pas vide: Éffacer les photos?", vbYesNo, "Éffacer les photos") = vbYes Then
If Dir$("m:\*.*", vbDirectory) <> "" Then fsO.deletefile ("m:\*")

If Dir$("m:\*.*", vbDirectory) <> "" Then fsO.deletefolder ("m:\*")
Else
GoTo ErrEnd
End If
End If

5 réponses

cs_Jack Messages postés 14006 Date d'inscription samedi 29 décembre 2001 Statut Modérateur Dernière intervention 28 août 2015 79
8 juil. 2004 à 20:34
Salut mxcz
Si le disque sur lequel travaillé est le même que celui sur lequel se trouve l'application, tu peux utiliser :
MonDrive = Left(App.Path)

qui te renverra la lettre associée au disque.
Ensuite, remplace tes m:\ par MonDrive. Exemple :
S = Dir$(MonDrive & ":\*.*", vbDirectory)

Sinon, il faut demander à l'utilisateur de préciser le nom du disque. Dans ce cas, il faut prévoir un controle DriveListBox et utiliser, dans DriveListBox_Change, le résultat :
MonDrive = Left(DriveListBox.Drive, 1)

Vala
Jack
0
mxcz Messages postés 8 Date d'inscription mardi 24 décembre 2002 Statut Membre Dernière intervention 20 septembre 2004
8 juil. 2004 à 20:44
Bonjour Jack

Je veux déjà te remercier d'avoir répondu a mon message.

voici donc mon soucis, j'ai récuperer ce code sur le site.
Ce code vérifie ci une disquette et pleine ou vierge ,si elle et pleine il propose de l'effacer.

Moi je voudrais remplacer la lettre de letteur par autre chose, car je ve me servir de ce prog pour effecer une carte Smart media qui porte le lettre X suivant le pc ou tu branche le lecteur de carte.

Repapp= m:le code connait déjà que Repapp et egale au lecteur m:\.

Voici les deux ligne qui me pose probleme.
If Dir$("m:\*.*", vbDirectory) <> "" Then fsO.deletefile ("m:\*")

If Dir$("m:\*.*", vbDirectory) <> "" Then fsO.deletefolder ("m:\*")

Merci pour votre aide.

Mickael.
0
cs_CanisLupus Messages postés 3757 Date d'inscription mardi 23 septembre 2003 Statut Membre Dernière intervention 13 mars 2006 21
8 juil. 2004 à 20:47
Salut,
D'abord, je ne vois pas pourquoi tu utilises dir$ si tu te sers du filesystemobject :

tu codes :
Dim f As Folder ' ou public f as folder
Dim Chemin as string ' ou public Chemin

Chemin ="m:"

et à la place de tes dir$ :
Set f = fso.GetFolder(Chemin)

etc ...

Cordialement

CanisLupus
0
cs_Jack Messages postés 14006 Date d'inscription samedi 29 décembre 2001 Statut Modérateur Dernière intervention 28 août 2015 79
8 juil. 2004 à 21:07
Sinon, mieux que ça :
Si tu es sensé chercher une cartouche mémoire, recherche le type de Drive grace à l'api GetDriveType :
Private Declare Function GetDriveType Lib "kernel32" Alias "GetDriveTypeA" (ByVal nDrive As String) As Long
Private Const DRIVE_UNKNOWN       As Long = 0
Private Const DRIVE_NO_ROOT_DIR   As Long = 1
Private Const DRIVE_REMOVABLE     As Long = 2
Private Const DRIVE_FIXED         As Long = 3
Private Const DRIVE_REMOTE        As Long = 4
Private Const DRIVE_CDROM         As Long = 5
Private Const DRIVE_RAMDISK       As Long = 6

et dans to code, tu fais
If GetDriveType("X:") = DRIVE_RAMDISK Then ...

Vala
Jack
0

Vous n’avez pas trouvé la réponse que vous recherchez ?

Posez votre question
mxcz Messages postés 8 Date d'inscription mardi 24 décembre 2002 Statut Membre Dernière intervention 20 septembre 2004
8 juil. 2004 à 21:14
Merci beaucoup

Je vais tester de suite ce code.

Je vous tien informer

Ps: Pas facile la programation quand on connait pas.
il y a un début à tout. :big)
0
Rejoignez-nous