Mit nachfolgender Funktion lässt sich prüfen, ob ein bestimmtes Laufwerk bereit ist (bspw. ein Disketten- oder ZIP-Laufwerk) und optional auch, ob auf den Datenträger geschrieben werden kann. Fügen Sie nachfolgenden Code in ein Modul ein: Option Explicit ' Benötigte API-Deklaration Private Declare Function GetVolumeInformation Lib "kernel32" _ Alias "GetVolumeInformationA" ( _ ByVal lpRootPathName As String, _ ByVal lpVolumeNameBuffer As String, _ ByVal nVolumeNameSize As Long, _ lpVolumeSerialNumber As Long, _ lpMaximumComponentLength As Long, _ lpFileSystemFlags As Long, ByVal _ lpFileSystemNameBuffer As String, _ ByVal nFileSystemNameSize As Long) As Long Private Declare Function SetVolumeLabel Lib "kernel32" _ Alias "SetVolumeLabelA" ( _ ByVal lpRootPathName As String, _ ByVal lpVolumeName As String) As Long Public Function CheckDrive(ByVal sDrive As String, _ Optional ByVal bForeCheckWriteAccess As Boolean = False) As Boolean ' Prüft, ob der Datenträger bereit ist und ' optional, ob darauf geschrieben werden kann Dim bResult As Boolean Dim sVolName As String Dim sTemp As String bResult = False On Error GoTo ErrHandler ' Datenträgerbezeichnung lesen If Len(sDrive) = 1 Then sDrive = sDrive & ":" If Len(sDrive) = 2 Then sDrive = sDrive & "\" sTemp = Space$(255) sVolName = Space$(255) If GetVolumeInformation(sDrive, sVolName, Len(sVolName), _ 0&, 0&, 0&, sTemp, Len(sTemp)) > 0 Then ' Falls kein Fehler auftrat, ist der Datenträger bereit bResult = True ' Falls zusätzlich geprüft werden soll, ob auf ' den Datenträger geschrieben werden kann... If bForeCheckWriteAccess Then If InStr(sVolName, Chr$(0)) > 0 Then sVolName = Left$(sVolName, InStr(sVolName, Chr$(0)) - 1) End If bResult = (SetVolumeLabel(sDrive, sVolName) <> 0) End If End If ErrHandler: CheckDrive = bResult End Function Aufrufbeispiele: ' Prüfen, ob in Laufwerk A: eine Diskette eingelegt ' ist und ob darauf geschrieben werden kann If CheckDrive("A:", True) = False Then MsgBox "Entweder keine Diskette im Laufwerk A: oder " & _ "der Datenträger ist schreibgeschützt!", vbCritical End If ' Prüfen, ob Laufwerk D: bereit If CheckDrive("D:") Then ' ... End If Dieser Tipp wurde bereits 9.128 mal aufgerufen. Voriger Tipp | Zufälliger Tipp | Nächster Tipp
Anzeige
Diesen und auch alle anderen Tipps & Tricks finden Sie auch auf unserer aktuellen vb@rchiv Vol.6 (einschl. Beispielprojekt!) Ein absolutes Muss - Geballtes Wissen aus mehr als 8 Jahren vb@rchiv! - nahezu alle Tipps & Tricks und Workshops mit Beispielprojekten - Symbol-Galerie mit mehr als 3.200 Icons im modernen Look Weitere Infos - 4 Entwickler-Vollversionen (u.a. sevFTP für .NET), Online-Update-Funktion u.v.m. |
sevGraph (VB/VBA) Grafische Auswertungen Präsentieren Sie Ihre Daten mit wenig Aufwand in grafischer Form. sevGraph unterstützt hierbei Balken-, Linien- und Stapel-Diagramme (Stacked Bars), sowie 2D- und 3D-Tortendiagramme und arbeitet vollständig datenbankunabhängig! Tipp des Monats April 2024 Skyfloy Chart von Microsoft und dazu noch gratis Tutorial für Microsoft Chart Controls für Microsoft .NET Framework 3.5 TOP Entwickler-Paket TOP-Preis!! Mit der Developer CD erhalten Sie insgesamt 24 Entwickler- komponenten und Windows-DLLs. Die Einzelkomponenten haben einen Gesamtwert von 1605.50 EUR... |
||||||||||||||||
Microsoft, Windows und Visual Basic sind entweder eingetragene Marken oder Marken der Microsoft Corporation in den USA und/oder anderen Ländern. Weitere auf dieser Homepage aufgeführten Produkt- und Firmennamen können geschützte Marken ihrer jeweiligen Inhaber sein. |