Live-Forum - Die aktuellen Beiträge
Anzeige
Archiv - Navigation
1144to1148
Aktuelles Verzeichnis
Verzeichnis Index
Übersicht Verzeichnisse
Vorheriger Thread
Rückwärts Blättern
Nächster Thread
Vorwärts blättern
Anzeige
HERBERS
Excel-Forum (Archiv)
20+ Jahre Excel-Kompetenz: Von Anwendern, für Anwender
Inhaltsverzeichnis

gemapptes LW wird gefunden obwohl es nicht da ist

gemapptes LW wird gefunden obwohl es nicht da ist
Jürgen
Hallo Excel-Forum,
vielleicht kann mir auch bei diesem Prob jemand helfen.
Ganz zu Anfang wird allerdings geprüft, ob das Laufwerk W: schon vorhanden ist. Wenn ja erfolgt Abbruch.
lw = "W:"
On Error Resume Next
ChDrive lw
If Err = 0 Then
MsgBox "!!! Laufwerk " & lw & " gibt es schon !!!"
Exit Sub
End If
Per Makro mappe ich dann ein Laufwerk (W:). Am Ende des Makros wird dieses gemappte Laufwerk wieder getrennt.
Dim objNet
Set objNet = CreateObject("WScript.Network")
On Error Resume Next
objNet.MapNetworkDrive "W:", "\\server\daten\wawi"
----
objNet.RemoveNetworkDrive "W:", True, True
Set objNet = Nothing
Nun ist es aber so, wenn das Makro einmal durchgelaufen ist und ich es noch mal starte, die Meldung erfolgt, dass er ein Laufwerk W: gefunden hat, obwohl dieses nicht vorhanden ist. Schätzungsweise befindet sich in irgendeinem temporären Speicher noch der Eintrag Laufwerk W da.
Erst wenn ich Excel einmal schließe und wieder öffne, erkennt das Makro, dass es kein Laufwerk W: gibt und arbeitet weiter.
Kann ich es irgendwie erreichen, dass Excel nicht wieder neu gestartet werden muss damit es kein Laufwerk erkennt?
Bin für jeden Hinweis dankbar.
Grüße
Jürgen

4
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Benutzer
Anzeige
Temporäres Laufwerksmapping funktioniert
17.03.2010 12:09:01
NoNet
Hallo Jürgen,
ich kann das Problem nicht nachvollziehen :
Ich habe ebne mit folgendem Code temporär ein NOVELL-Netzlaufwerk gemappt (erschien auch sofort im Explorer) und gleich danach das Mapping wieder aufgehoben (verschwand sofort im Explorer).
Beim nächsten Start des Makros funktionierte das auch sofort wieder :
Sub NetzlaufwerkMappen()
Dim objNet As Object
Dim strLW As String, strUNCPfad As String
strLW = "W:"
strUNCPfad = "\\server\daten\wawi"
On Error Resume Next
ChDrive strLW
If Err = 0 Then
MsgBox "Laufwerk " & strLW & "  ist bereits gemappt oder existiert schon."
Else
Set objNet = CreateObject("WScript.Network")
On Error Resume Next
objNet.MapNetworkDrive strLW, strUNCPfad
MsgBox "Laufwerk " & strLW & " wurde neu gemappt !"
objNet.RemoveNetworkDrive strLW, True, True
MsgBox "Laufwerk " & strLW & " wurde wieder entfernt !"
Set objNet = Nothing
End If
End Sub
Excel selbst "cached" das Laufwerk wohl nicht. Prüfe das Makro doch mal im Einzelschrittmodus (Taste F8) im parallel geöffneten Explorer.
Gruß, NoNet
Anzeige
AW: Temporäres Laufwerksmapping funktioniert
17.03.2010 13:24:59
Jürgen
Hallo NoNet,
vielen Dank für Deine Hilfe. Du hast mir einen neuen Denkanstoß gegeben. Wenn ich am Ende des Makros ein anderes Laufwerk (über ChDrive) anspreche geht es. Dann kann ich auch sofort wieder das Makro ohne Fehlermeldung starten.
Besten Dank nochmal.
Jürgen
AW: gemapptes LW wird gefunden obwohl es nicht da ist
17.03.2010 12:26:56
Anton
Hallo Jürgen,
probier's hiermit:
Code:

Sub b()
  Dim fso As Object, LW As String    
  LW = "W:"
  Set fso = CreateObject("Scripting.FileSystemObject")  
 'prüfen,ob Laufwerk existiert
  If fso.DriveExists(LW) Then  
    MsgBox "Laufwerk " & LW & " vorhanden."
    Set fso = Nothing  
    Exit Sub  
  End If  
  Set fso = Nothing  
 'dein weiterer Code
End Sub  


mfg Anton
Anzeige
AW: gemapptes LW wird gefunden obwohl es nicht da ist
17.03.2010 13:25:12
Detlef
Hallo Jürgen,
stimmt, wenn ich Deinen Code laufen lasse, wird der LW-Buchstabe als vorhanden ausgegeben obwohl das LW bereits wieder getrennt ist.
Mit folgender Funktion funktioniert es bei mir.
Sub ttt()
    LwVorhanden ("W:")
End Sub

Function LwVorhanden(strLw As String) As Boolean
    Dim strTemp As String
    strTemp = Dir(strLw, vbVolume)
    If strTemp = "" Then
        MsgBox "!!! Laufwerk " & strLw & " gibt es nicht !!!"
        procLwErstellen
    Else
        MsgBox "!!! Laufwerk " & strLw & " gibt es schon !!!"
    End If
End Function
    
Sub procLwErstellen()
    Dim objNet
    
    On Error Resume Next

    Set objNet = CreateObject("WScript.Network")
    objNet.MapNetworkDrive "W:", "\\server\daten\wawi"
    
End Sub

Sub procLwLöschen()
    Dim objNet
    
    On Error Resume Next

    Set objNet = CreateObject("WScript.Network")
    
    objNet.RemoveNetworkDrive "W:", True, True
    Set objNet = Nothing
End Sub
Gruß Detlef
Anzeige

300 Forumthreads zu ähnlichen Themen

Anzeige
Anzeige
Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige