Live-Forum - Die aktuellen Beiträge
Anzeige
Archiv - Navigation
1896to1900
Aktuelles Verzeichnis
Verzeichnis Index
Übersicht Verzeichnisse
Vorheriger Thread
Rückwärts Blättern
Nächster Thread
Vorwärts blättern
Anzeige
HERBERS
Excel-Forum (Archiv)
20+ Jahre Excel-Kompetenz: Von Anwendern, für Anwender
Inhaltsverzeichnis

GetFolder() Fehler ohne SD Karte

GetFolder() Fehler ohne SD Karte
17.09.2022 10:27:59
Herbie
Ich muss leider nochmal stören - es lässt mir keine Ruhe dieser Code:
Ich prüfe gereade mit folgender Funktion, ob ein Wechseldatenträger angeschlosse ist und bestimme das zugehörige Laufwerk. FUnktioniert auch alles bestens: Aber: Wenn ich nun die SD Karte abziehe, bekomme ich in der Funktion unter Set objFolder = objFSO.GetFolder(strFolder) einen Fehler. Er gibt trotzdem das Laufwerk F:\ als String weiter an die Funktion, obwohl die SD Karte nicht mehr eingesteckt ist. Erst beim Zugriff merkt er das und bringt eine Fehlermeldung.
Offensicjhtlich besteht die Laufwerkszuordnung (F:\) weiterhin. Kann man da noch eine Prüfung einbauen, um diesen Fehler auszuhebeln?

Public Sub LaufwerksCheck(ByVal spfadAkte As String)
Dim objFSO As Object
Dim objDrive As Object
Dim objDriveSystem As Object
Set objFSO = CreateObject("Scripting.FileSystemObject")
Set objDriveSystem = objFSO.Drives
'Prüfen, ob ein DVD Brenner oder ein Wechseldatenträger angeschlossen ist
For Each objDrive In objDriveSystem
Select Case objDrive.DriveType            'O:Unknown 1:Wechseldatenträger 2:Fixed 3:Netzwerk 4:CD-ROM 5:RAM-Disk
Case 1: '"Removable"
If countFiles2(objDrive & "\", "*.jpg", True) > 0 Then CommandButton11.Enabled = True
Case 4: '"CD-ROM"
End Select
Next
end sub


Public Function countFiles2(ByVal strFolder As String, Optional ByVal FileName As String = "", Optional ByVal SubFolders As Boolean = False) As Long
Dim objFSO As New Scripting.FileSystemObject
Dim objFolder As Object, objFile As Object, objSubF As Object
Dim lngCount As Long
Set objFolder = objFSO.GetFolder(strFolder)
For Each objFile In objFolder.Files
If objFile.Name Like FileName Then lngCount = lngCount + 1
Next
If SubFolders = True Then
For Each objSubF In objFolder.SubFolders
lngCount = lngCount + countFiles2(objSubF.Path, FileName, SubFolders)
Next
End If
countFiles2 = lngCount
Else
countFiles2 = "0"
End If
Set objSubF = Nothing
Set objFile = Nothing
Set objFolder = Nothing
Set objFSO = Nothing
End Function

3
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
AW: GetFolder() Fehler ohne SD Karte
17.09.2022 16:35:54
Herbie
Das hat mich weiter gebracht ! Super. Danke! Damit kann man prüfen, ob es bereit ist !
AW: GetFolder() Fehler ohne SD Karte
17.09.2022 13:03:42
mumpel
Hallo!
Deine Sub "LaufwerksCheck" listet alle Laufwerke auf die zu finden sind. Auch wenn keine SD-Karte gesteckt ist, das "Laufwerk" ist trotzdem da. Das selbe gilt für das CD-ROM-Laufwerk, das wird auch aufgelistet wenn keine CD eingelegt ist.
Gruß, René
Anzeige

Links zu Excel-Dialogen

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige