Private Declare Function GetDriveType Lib "kernel32" Alias "GetDriveTypeA" (ByVal nDrive As String) As Long
Private Sub Form_Load() Select Case GetDriveType("C:\") Case 2 Me.Print "Removable" Case 3 Me.Print "Drive Fixed" Case Is = 4 Me.Print "Remote" Case Is = 5 Me.Print "Cd-Rom" Case Is = 6 Me.Print "Ram disk" Case Else Me.Print "Unrecognized" End Select End Sub
så skal du bate løbe fra A til Z
for i = 65 to 90 if GetDriveType(Chr(i)) = 5 then ' tilføj cdrom end if next
Dim i As Integer Dim strDrive As String For i = 65 To 90 strDrive = (Chr(i) & ":\") '<- A:\ til Z:\ If GetDriveType(strDrive) = 5 Then Combo1.AddItem strDrive '<- A:\ til Z:\ End If Next
Den fejler ved Me.Print. Siger "object dosn't support ...."
Men klarede det vha. følgende kode:
Sub CheckDriveList() Dim fs, d, dc CombChoose.Clear CombChoose.AddItem "Vælg et drev i listen" On Error Resume Next Set fs = CreateObject("Scripting.FileSystemObject") Set dc = fs.Drives For Each d In dc If d.drivetype = 4 Then CombChoose.AddItem d.driveletter & ":/" Next On Error GoTo 0 CombChoose.ListIndex = 0 End Sub
Det er også sådan du skal gøre.. Me.Print virker kun i Visual Basic og ikke i VBA
Private Declare Function GetDriveType Lib "kernel32" Alias "GetDriveTypeA" (ByVal nDrive As String) As Long
Sub CheckDriveList() Dim i As Integer Dim strDrive As String For i = 65 To 90 strDrive = (Chr(i) & ":\") '<- A:\ til Z:\ If GetDriveType(strDrive) = 5 Then CombChoose.AddItem strDrive '<- A:\ til Z:\ End If Next End Sub
Tilladte BB-code-tags: [b]fed[/b] [i]kursiv[/i] [u]understreget[/u] Web- og emailadresser omdannes automatisk til links. Der sættes "nofollow" på alle links.