vb@rchiv
VB Classic
VB.NET
ADO.NET
VBA
C#
SEPA-Dateien erstellen inkl. IBAN-, BLZ-/Kontonummernprüfung  
 vb@rchiv Quick-Search: Suche startenErweiterte Suche starten   Impressum  | Datenschutz  | vb@rchiv CD Vol.6  | Shop Copyright ©2000-2025
 
zurück

 Sie sind aktuell nicht angemeldet.Funktionen: Einloggen  |  Neu registrieren  |  Suchen

Visual-Basic Einsteiger
Re: Frage zu VBA (Excel 2002) 
Autor: N00bie
Datum: 14.06.04 16:30

Huhu,

hab dir schnell was gebastelt, funktioniert mit Excel2000. Musst nur den Namen des USB-Sticks anpassen, meiner heisst z.B. "UDISKPRO".

Private Declare Function GetLogicalDriveStrings _
  Lib "kernel32" Alias "GetLogicalDriveStringsA" _
  (ByVal nBufferLength As Long, _
  ByVal lpBuffer As String) As Long
 
Private Declare Function GetDriveType Lib _
  "kernel32" Alias "GetDriveTypeA" _
  (ByVal nDrive As String) As Long
 
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 Const DRIVE_REMOVABLE = 2
Private Const DRIVE_FIXED = 3
Private Const DRIVE_REMOTE = 4
Private Const DRIVE_CDROM = 5
Private Const DRIVE_RAMDISK = 6
 
Private Sub CommandButton1_Click()
 
    Dim X As Long, AA As String, Result As Long
    Dim SerN As Long, PathL As Long, Flags As Long
    Dim XPC As Long, BPS As Long
    Dim FreeB As Double, FreeC As Long
    Dim TotB As Double, TotC As Long
    Dim VolN As String * 256
    Dim FileS As String * 256
 
    Dim sDrives As String
    ' Ermitteln ALLER WechsellaufwerkeLaufwerke
    sDrives = GetAllDrives(DRIVE_REMOVABLE)
 
    If Len(sDrives) > 0 Then
 
        For I = 1 To Len(sDrives)
 
            drv = Mid(sDrives, I, 1) & ":\"
 
            Result = GetVolumeInformation(drv, VolN, 256, SerN, _
                                    PathL, Flags, FileS, 256)
 
            If Result = 0 Then
                'fehler
 
            Else
                'Abfragen ob gefundene Laufwerksbezeichnung
                'der Bezeichnung des USB Sticks entspricht...
                'muss du an den namen deines USB sticks anpassen
                If Replace(VolN, Chr(0), "") = "UDISKPRO" Then
                    MsgBox "USB-Stick gefunden: " & drv
                    Exit Sub
                End If
            End If
        Next
 
    Else
 
        'kein Wechsellaufwerk vorhanden
 
    End If
 
End Sub
 
' Alle Laufwerke eines bestimmten Typs ermitteln
' z.B. CD-ROM Laufwerke
Function GetAllDrives(Optional ByVal DriveType As _
  Long = 0) As String
 
  Dim I As Integer
  Dim Result As Long
  Dim Drives() As String
  Dim Dummy As String
  Dim sDrives As String
 
  Dummy = Space(255)
  Result = GetLogicalDriveStrings(Len(Dummy), Dummy)
 
  Drives = Split(Dummy, Chr$(0))
  For I = 0 To UBound(Drives) - 1
    If GetDriveType(Drives(I)) = DriveType Or _
      DriveType = 0 Then
      sDrives = sDrives & Left$(Drives(I), 1)
    End If
  Next I
  GetAllDrives = sDrives
End Function
mfg
N00bie
alle Nachrichten anzeigenGesamtübersicht  |  Zum Thema  |  Suchen

 ThemaViews  AutorDatum
Frage zu VBA (Excel 2002)443Kerstin14.06.04 14:47
Re: Frage zu VBA (Excel 2002)346N00bie14.06.04 16:30
Re: Frage zu VBA (Excel 2002)283Kerstin14.06.04 19:16
Re: Frage zu VBA (Excel 2002)309Kerstin14.06.04 19:54
Re: Frage zu VBA (Excel 2002)294N00bie15.06.04 08:07
Re: Frage zu VBA (Excel 2002)282Kerstin15.06.04 16:33

Sie sind nicht angemeldet!
Um auf diesen Beitrag zu antworten oder neue Beiträge schreiben zu können, müssen Sie sich zunächst anmelden.

Einloggen  |  Neu registrieren

Funktionen:  Zum Thema  |  GesamtübersichtSuchen 

nach obenzurück
 
   

Copyright ©2000-2025 vb@rchiv Dieter Otter
Alle Rechte vorbehalten.
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.

Diese Seiten wurden optimiert für eine Bildschirmauflösung von mind. 1280x1024 Pixel