Live-Forum - Die aktuellen Beiträge
Anzeige
Anzeige
HERBERS
Excel-Forum (Archiv)
20+ Jahre Excel-Kompetenz: Von Anwendern, für Anwender

Forumthread: Problem beim Zugriff auf Laufwerk/Ordner

Problem beim Zugriff auf Laufwerk/Ordner
14.08.2008 11:08:56
oxe
Hallo zusammen!
Es geht um unten angehängten Quelltext, der macht Probleme...
Wenn ich das bei mir ausführe klappt alles, ist das Laufwerk und der Ordner da, dann setzt er die Datei auf schreibgeschützt, wenn er aber das Laufwerk nicht hat oder der Ordner nicht existiert kommt die gewünschte Meldung, man klickt auf OK und weiter geht's.
Bei einem Kollegen allerdings, der das P:-Laufwerk nicht hat, funktioniert das nicht. Er hat das gleiche Office-System. Aber bei ihm bleibt Excel immer in der If-Zeile hängen und springt in den Debugger. Wenn er statt P: testweise C: eingibt funktioniert es, dann kommt die Meldung dass der Ordner nicht gefunden wurde, ist ja klar, da die Ordnerstruktur auf C: nicht existiert.
Was ist da los, kann mir jemand weiterhelfen?
achja:
Blatt "00_Bearbeiter" -> Zelle "F12" -> Inhalt "P:\1\1234A12\0000\100\Listen\Excel_Listen\Liste07.xls"

Sub andereSperren()
Dim wks_00_Bearbeiter As Worksheet
Set wks_00_Bearbeiter = ThisWorkbook.Worksheets("00_Bearbeiter")
If Dir(wks_00_Bearbeiter.Cells(12, 6), vbDirectory) = "" Then
MsgBox "Datei - " & wks_00_Bearbeiter.Cells(12, 6) & " - nicht gefunden!"
Exit Sub
End If
SetAttr (wks_00_Bearbeiter.Cells(12, 6)), 1
End Sub


Anzeige

5
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
AW: Problem beim Zugriff auf Laufwerk/Ordner
14.08.2008 11:19:00
Ramses
Hallo
Das kann ja nicht funktionieren, weil das Laufwerk ja schon nicht vorhanden ist. Du prüfst ja nur, ob das Directory vorhanden ist.
Ob das Laufwerk überhaupt existiert kannst du so prüfen
Option Explicit

Function CheckDrive(chkDrive As String) As String
    '(c) ramses
    Dim myFSO As Object, myDrv As Object, drvCount, drvStr As String, vName As String, drvTyp As String
    Dim drvmax As Byte, drvNum As Byte
    Set myFSO = CreateObject("Scripting.FileSystemObject")
    Set drvCount = myFSO.Drives
    For Each myDrv In drvCount
        If myDrv.Driveletter = chkDrive Then
            CheckDrive = True
            Exit Function
        End If
    Next
    CheckDrive = False
End Function

Aufgerufen wird die Funktion mit
If CheckDrive("P") = False Then
msgbox "Das Laufwerk existiert nicht"
Exit sub
End if
Danach deinen normale "If Dir(...)" routine
Gruss Rainer

Anzeige
Korrektur
14.08.2008 11:20:30
Ramses
Sorry
die Funktion muss natürlich
Function CheckDrive(chkDrive As String) As Boolean
lauten
Gruss Rainer

AW: Korrektur
14.08.2008 11:25:00
oxe
Ok, danke, sowas hatte ich auch schon überlegt.
Aber was mich halt wundert bzw ich gerne wüsste:
Warum funktioniert es bei mir auch wenn ich ein Laufwerk angebe, das gar nicht existiert, aber biem Kollegen nicht? Ich gebe beispielsweise statt P: einfach Q: an und bei mir kommt die MsgBox...

Anzeige
AW: Korrektur
14.08.2008 11:27:53
Ramses
Hallo
Keine Ahnung,... das musst du MS fragen :-)
Gruss Rainer

AW: Korrektur
14.08.2008 11:28:00
oxe
Alles klar ;-]
Danke sehr trotzdem!

Forumthreads zu verwandten Themen

Entdecke relevante Threads

Schau dir verwandte Threads basierend auf dem aktuellen Thema an

Alle relevanten Threads mit Inhaltsvorschau entdecken
Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Entdecke mehr
Finde genau, was du suchst

Die erweiterte Suchfunktion hilft dir, gezielt die besten Antworten zu finden

Suche nach den besten Antworten
Unsere beliebtesten Threads

Entdecke unsere meistgeklickten Beiträge in der Google Suche

Top 100 Threads jetzt ansehen
Anzeige