VBA Funktioniert nicht im Netz

16/05/2012 - 08:24 von Willi.Emmrich | Report spam
Hi ,
ich verwende einen Code der im Lokalen Laufwerk z.b. (C:\ ) aber nicht
im Netzwerk z.B. ( O:\ ) funktioniert.
kann mir einer erklàren warum das so ist?

'###Aus dem Buch von Nonika Weber und Melanie Breden######
Sub FileDirList()
Dim objFSO As Object
Dim strInput As String
Dim strMsg As String
Dim C
Dim ws2 As Worksheet
Worksheets(1).Activate
Set ws1 = Worksheets(1)
ws1.Cells.ClearContents
Set objFSO = CreateObject("Scripting.FileSystemObject")
strInput = InputBox(" Bitte den Pfad eingeben", Default:="C:\")
If Dir(strInput) = "" Then
MsgBox "(Der Pfad " & strInput & " existiert nicht."
Exit Sub
End If
For Each C In objFSO.GetFolder(strInput).SubFolders
strMsg = strMsg & C.Name
'####Dieser Teil ist von mir :-) #######
n = n + 1
ws1.Cells(n, 1) = strMsg
strMsg = ""
Next
End Sub
 

Lesen sie die antworten

#1 Gerd Schlag
16/05/2012 - 11:48 | Warnen spam
Hallo Willi
Weil DIR(Netzwerk-Drive) nicht klappt
Außerdem hast Du ws2 deklariert, nutzt aber ws1
Nimm den Code unten, dann klappts auch mit demn Nachbarn:

gruss
Gerd Schlag
(ich bin nicht in der Excel-Newsgroup, sondern Access gemeldet
- deshalb als Mail an dich)

'
Option Explicit

Sub FileDirList()
Dim objFSO As Object, C
Dim strInput As String, strMsg As String, n As Long
Dim wks As Worksheet
On Error Resume Next
'Input= "C:\" oder als UNC= "\\Server\Share\"
strInput = InputBox(" Bitte den Pfad eingeben", Default:="C:\")
'Korrektur
If Len(strInput) = 0 Then
Exit Sub
ElseIf Left(strInput, 1) <> "\" Then
strInput = strInput & "\"
End If
'existiert der Pfad?
Set objFSO = CreateObject("Scripting.FileSystemObject")
Set C = objFSO.GetFolder(strInput)
If Err <> 0 Then
MsgBox "(Der Pfad " & strInput & " existiert nicht."
Err.Clear
Exit Sub
End If
'Tabelle leeren, neu füllen:
Worksheets(1).Activate
Set wks = Worksheets(1)
wks.Cells.ClearContents
For Each C In objFSO.GetFolder(strInput).SubFolders
strMsg = strMsg & C.name
n = n + 1: wks.Cells(n, 1) = strMsg
strMsg = ""
Next
End Sub
'





Am 16.05.2012, 08:24 Uhr, schrieb Willi.Emmrich :

Hi ,
ich verwende einen Code der im Lokalen Laufwerk z.b. (C:\ ) aber nicht
im Netzwerk z.B. ( O:\ ) funktioniert.
kann mir einer erklàren warum das so ist?

'###Aus dem Buch von Nonika Weber und Melanie Breden######
Sub FileDirList()
Dim objFSO As Object
Dim strInput As String
Dim strMsg As String
Dim C
Dim ws2 As Worksheet
Worksheets(1).Activate
Set ws1 = Worksheets(1)
ws1.Cells.ClearContents
Set objFSO = CreateObject("Scripting.FileSystemObject")
strInput = InputBox(" Bitte den Pfad eingeben", Default:="C:\")
If Dir(strInput) = "" Then
MsgBox "(Der Pfad " & strInput & " existiert nicht."
Exit Sub
End If
For Each C In objFSO.GetFolder(strInput).SubFolders
strMsg = strMsg & C.Name
'####Dieser Teil ist von mir :-) #######
n = n + 1
ws1.Cells(n, 1) = strMsg
strMsg = ""
Next
End Sub


Ähnliche fragen