VB DriveListbox mit gesetzten Anfangswert (Laufwerk)
Hallo Gemeinde
Ich versuche jetzt schon etwas längere Zeit in meinem VB Code
inkl. meiner DriveListBox, dieser beizubringen, dass sofort nach dem
Start meine Anwendung dort Drive A: ausgewählt und als Standard
ausgwählt ist. Ohne zusätzlichen Mausevent.
Derzeit sieht meine Code zur Listbox wie folgt aus:
Ok, dass ist noch keine Kunst und so habe ich schon einmal
meiner DriveListBox einen Index hinzugefügt. Ungefähr so!
Leider klappt dies aber garnicht, so dass derzeit immer noch als Standard
dort mein Laufwerk "C:\XYZ "angezeigt und ausgewählt ist!
Wie kann ich meiner DriveListBox bei bringen sofort dort das Disk. Laufwerk a:
ausgewählt zu haben?
Bin wie immer für alle (auch noch so kleien Tipps) Dankbar.
CanTan
Ich versuche jetzt schon etwas längere Zeit in meinem VB Code
inkl. meiner DriveListBox, dieser beizubringen, dass sofort nach dem
Start meine Anwendung dort Drive A: ausgewählt und als Standard
ausgwählt ist. Ohne zusätzlichen Mausevent.
Derzeit sieht meine Code zur Listbox wie folgt aus:
Private Sub Drive1_Change()
Dim DriveLetter$, DriveNumber&, DriveType&
DriveLetter = UCase(Drive1.Drive)
DriveNumber = (Asc(DriveLetter) - 65)
DriveType = GetDriveType(DriveLetter)
If DriveType = 2 Then 'Disklaufwerke und Laufwerke mit austauschbarem Datenträger
cmdDiskCopy.Enabled = False
Else
cmdDiskCopy.Enabled = True
End If
End Sub
Ok, dass ist noch keine Kunst und so habe ich schon einmal
meiner DriveListBox einen Index hinzugefügt. Ungefähr so!
Private Sub Form_Load()
With Drive1 'Name meiner Listbox
.ListIndex = 1 ' Anzeige bei Start des Programms soll das Disklaufwerk sein
End With
End Sub
Leider klappt dies aber garnicht, so dass derzeit immer noch als Standard
dort mein Laufwerk "C:\XYZ "angezeigt und ausgewählt ist!
Wie kann ich meiner DriveListBox bei bringen sofort dort das Disk. Laufwerk a:
ausgewählt zu haben?
Bin wie immer für alle (auch noch so kleien Tipps) Dankbar.
CanTan
Bitte markiere auch die Kommentare, die zur Lösung des Beitrags beigetragen haben
Content-ID: 113019
Url: https://administrator.de/contentid/113019
Ausgedruckt am: 22.11.2024 um 20:11 Uhr
6 Kommentare
Neuester Kommentar
Hallo CanTan!
Meine Antwort beruhte auf Deiner umfangreichen Problembeschreibung (die allerdings noch nicht einmal die VB-Version und schon gar nicht den nachgereichten Hinweis auf das Ausblenden von Laufwerken enthielt) ...
... und sollte trotzdem funktionieren, wenn Du Dich dazu entschließen könntest, auch für bShowRemovable ein True zu übergeben, also:
Grüße
bastla
P.S.: Ob Dir wohl die Fehlermeldung hätte weiterhelfen können? (Mir schon ...)
Meine Antwort beruhte auf Deiner umfangreichen Problembeschreibung (die allerdings noch nicht einmal die VB-Version und schon gar nicht den nachgereichten Hinweis auf das Ausblenden von Laufwerken enthielt) ...
... und sollte trotzdem funktionieren, wenn Du Dich dazu entschließen könntest, auch für bShowRemovable ein True zu übergeben, also:
DriveShow Drive1, True, False, True, False, False, True ' hier werden die nutzbaren LW definiert
Drive1.Drive = "A:"
bastla
P.S.: Ob Dir wohl die Fehlermeldung hätte weiterhelfen können? (Mir schon ...)
Hallo CanTan!
Grüße
bastla
Doch wie fange ich dies per Errorhandling ab, wenn noch keine Diskette im Laufwerk steckt?
Die Frage, was bei einem Fehler geschehen soll, musst Du für Dich selbst beantworten - rein technisch gesehen könnte das Abfangen des Fehlers etwa so realisiert werden:Private Sub Form_Load()
DriveShow Drive1, False, True, True, False, False, True
On Error GoTo ErrorHandler 'Fehlerbehandlung festlegen
SetDrive: 'für Rücksprung zum neuerlichen Versuch
Drive1.Drive = "A:"
On Error GoTo 0 'Fehlerbehandlung wieder auf Standard setzen
'Fortsetzung, wenn es keinen Fehler (mehr) gibt ...
'
' was eben so anliegt ...
'
Exit Sub
ErrorHandler:
Select Case Err.Number
Case 68
MsgBox "Laufwerk nicht bereit!"
Case 71
Ret = MsgBox("Kein Datenträger eingelegt!", vbAbortRetryIgnore)
If Ret = vbRetry Then Resume SetDrive 'neuer Versuch ...
Case Else
MsgBox "Unbekannter Fehler aufgetreten!"
End Select
'Soferne kein "Resume" erfolgt ist, geht es hier
'für alle Arten von Fehlern weiter ...
'
End Sub
bastla