Io con VBA la ho accrocchiata più o meno come ha proposto denis76 al #2
significa parte un ciclo da "z" ad "a" che va a cercare un
particolare file che si trova appunto nella unita
Trovato il file immaginiamo di avere trovato la unita
dico immaginiamo perché il caso potrebbe darti uno stesso identico file al di fuori della unita
ma a me in 3 mesi di "onorato" servizio quotidiano non ha mai dato problemi
Posto sotto il codice copincollato da adattare alla tua applicazione
con i commenti incomprensibilicosi come me li ero scritti mentre testavo
codice:Public Sub xy25() ' trova la unita di percorso che contiene il file "????:\Scanned Barcodes\BARCODES.txt" Dim x As Integer On Error GoTo Err25 For x = 90 To 67 Step -1 If Len(Dir(UCase(Chr(x)) & ":\Scanned Barcodes\BARCODES.txt")) = 0 Then ' in caso di errore 52 questo è il Resume Next Else Unxx = UCase(Chr(x)) x = 10 ' arresta il ciclo appena trova End If Next ' se la unita di massa dei Barcode non è connessa chiude la applicazione If Len(Unxx & "") < 0.5 Then ' se metto Unit() allora il ciclo diventa infinito perche ritorna in cima MsgBox "Non hai connesso il lettore di barcode" Application.Quit End If Exit Sub Err25: ' l'errore 52 si verifica con la unita del CDRoom e se metto una unita ubriaca come ad esempio "GH" If Err.Number = 52 Then Resume Next Else MsgBox "Errore n° " & Err.Number & vbNewLine & Err.Description & vbNewLine & "La ricerca della unita del Barcode " Application.Quit End If End Sub

cosi come me li ero scritti mentre testavo
Rispondi quotando