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

Pfad über Netzwerk

Forumthread: Pfad über Netzwerk

Pfad über Netzwerk
23.12.2005 09:03:08
lexika
Hi,
kann mir vielleicht jemand sagen was man tun muß um über ein Netzwerk dateien einlesen zu können?
benutze momentan
Dim fn
Dim wb As Workbook, wb2 As Workbook
Set wb = ActiveWorkbook
ChDrive PfadA
ChDir PfadA
fn = Application.GetOpenFilename("Excel-Dateien (*.csv),*csv")
If fn = False Then Exit Sub
wobwei PfadA so definiert ist
Public Const PfadA = "D:\excel\aktuell\Neu\Archiv\"
nun ist der ordner aber nicht mehr auf dem gleichen rechner und wenn ich
Public Const PfadA = "\\pc010\Klimadaten\Archiv\"
schreibe bringt er mir eine fehlermeldung bei ChDrive
Danke
Anzeige

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

Betreff
Datum
Anwender
Anzeige
AW: Pfad über Netzwerk
23.12.2005 10:35:36
Manfred
Hallo lexika,
ich habe das bei gelöst, in dem ich das Netzlaufwerk über den Windows-Explorer verbunden habe und einen festen Laufwerksbuchstaben gegeben habe. Probiere es doch mal. Du wirst sehen es funktioniert.
Rückmeldung wäre nett.
Gruss Manfred
AW: Pfad über Netzwerk
23.12.2005 10:47:21
bst
Auch Hallo,
das geht anscheinend nicht ohne ein Netzlaufwerk zu verbinden.
Hier eine Notlösung, weis jemand was besseres ?
cu, Bernd
--
Option Explicit

Public Const MapDrive$ = "X:"
Public Const MapPath$ = "\\pc010\Klimadaten"
Public Const PfadA$ = "\Archiv"

Public Sub OpenCSV()
   Dim fn As Variant, wshNetwork As Object, oldDrive$
   
   oldDrive = Left(CurDir, 1)
   Set wshNetwork = CreateObject("WScript.Network")
   wshNetwork.MapNetworkDrive MapDrive, MapPath
   ChDrive MapDrive
   ChDir PfadA
   fn = Application.GetOpenFilename("Excel-Dateien (*.csv),*.csv")
   If fn <> False Then
      ' ....
   End If
   ChDrive oldDrive
   wshNetwork.RemoveNetworkDrive MapDrive
   Set wshNetwork = Nothing
End Sub

Anzeige
AW: Pfad über Netzwerk
23.12.2005 11:09:23
lexika
HI,
hab ein laufwerk eingerichtet und der manuelle import geht auch aber mithilfe von vb gehts nicht mehr.
hier der vb-code

Function NeuesteDatei() As String
Dim fn As String, fd As String
Dim fNeu As String
Dim d As Date
Dim f_csv As String
Dim f_cxv As String
fn = Dir(Pfad1 & "*.csv")
Do While fn <> ""
fd = Replace(fn, ".csv", "")
If IsDate(fd) Then
If CDate(fd) > d Then
d = CDate(fd)
fNeu = fn
End If
End If
fn = Dir()
Loop
NeuesteDatei = fNeu
End Function

Public Const Pfad1 = "Z:\1\"
With Worksheets("Sensor 1").QueryTables.Add(Connection:= _
"TEXT;" & Pfad1 & NeuesteDatei _
, Destination:=Worksheets("Sensor 1").Range("A20"))
.Name = "Sensor_1"
.FieldNames = True
.RowNumbers = False
.FillAdjacentFormulas = False
.PreserveFormatting = True
.RefreshOnFileOpen = False
.RefreshStyle = xlOverwriteCells
.SavePassword = False
.SaveData = True
.AdjustColumnWidth = True
.RefreshPeriod = 0
.TextFilePromptOnRefresh = False
.TextFilePlatform = xlWindows
.TextFileStartRow = 1
.TextFileParseType = xlDelimited
.TextFileTextQualifier = xlTextQualifierDoubleQuote
.TextFileConsecutiveDelimiter = False
.TextFileTabDelimiter = False
.TextFileSemicolonDelimiter = False
.TextFileCommaDelimiter = True
.TextFileSpaceDelimiter = False
.TextFileColumnDataTypes = Array(1, 1, 1, 1)
.TextFileDecimalSeparator = "."
.Refresh BackgroundQuery:=False
End With
gibt es noch einen anderen weg als über das laufwerk einrichten? die datei soll mal von verschiedenen rechnern gestartet werden.
Danke
Anzeige
AW: Pfad über Netzwerk
23.12.2005 11:47:05
lexika
Hi
der Fehler liegt irgendwo hier

Function NeuesteDatei() As String
Dim fn As String, fd As String
Dim fNeu As String
Dim d As Date
Dim f_csv As String
Dim f_cxv As String
fn = Dir(Pfad1 & "*.csv")
Do While fn <> ""
fd = Replace(fn, ".csv", "")
If IsDate(fd) Then
If CDate(fd) > d Then
d = CDate(fd)
fNeu = fn
End If
End If
fn = Dir()
Loop
NeuesteDatei = fNeu
End Function

excel schreibt nichts in NeuesteDatei
Danke
Anzeige
AW: Pfad über Netzwerk
23.12.2005 13:22:19
lexika
Hi,
kann mir vielleicht jemand sagen was man in folgenden Zeilen ändern muß damit auf ein Netzwerkpfad zugegriffen wird?

Function NeuesteDatei() As String
Dim fn As String, fd As String
Dim fNeu As String
Dim d As Date
Dim f_csv As String
Dim f_cxv As String
Const Pfad1 = "\\pc010\Klimadaten\1\"
fn = Dir(Pfad1 & "*.csv")
Do While fn <> ""
fd = Replace(fn, ".csv", "")
If IsDate(fd) Then
If CDate(fd) > d Then
d = CDate(fd)
fNeu = fn
End If
End If
fn = Dir()
Loop
NeuesteDatei = fNeu
End Function

Danke
Anzeige
;
Anzeige

Infobox / Tutorial

Netzwerkpfade in Excel nutzen


Schritt-für-Schritt-Anleitung

Um auf Dateien über ein Netzwerk zuzugreifen, kannst du folgende Schritte befolgen:

  1. Netzlaufwerk verbinden: Öffne den Windows-Explorer und verbinde das Netzlaufwerk. Dazu kannst du mit der rechten Maustaste auf „Dieser PC“ klicken und „Netzlaufwerk verbinden“ auswählen. Vergib einen Laufwerksbuchstaben, z.B. „Z:“, und verlinke es mit dem Netzwerkpfad, z.B. \\pc010\Klimadaten\Archiv.

  2. VBA-Code erstellen: Nutze den folgenden VBA-Code, um die Dateien von dem verbundenen Netzlaufwerk zu lesen:

    Public Const Pfad1 = "Z:\1\"
    
    Function NeuesteDatei() As String
       Dim fn As String, fd As String
       Dim fNeu As String
       Dim d As Date
       fn = Dir(Pfad1 & "*.csv")
       Do While fn <> ""
           fd = Replace(fn, ".csv", "")
           If IsDate(fd) Then
               If CDate(fd) > d Then
                   d = CDate(fd)
                   fNeu = fn
               End If
           End If
           fn = Dir()
       Loop
       NeuesteDatei = fNeu
    End Function
  3. Daten importieren: Füge den Code zum Importieren der Daten in dein Arbeitsblatt ein, indem du die QueryTables.Add-Methode verwendest.


Häufige Fehler und Lösungen

  • Fehler bei ChDrive: Wenn du beim Zugriff auf den Netzwerkpfad eine Fehlermeldung erhältst, stelle sicher, dass das Netzlaufwerk korrekt verbunden ist. Überprüfe auch, ob der Pfad korrekt angegeben ist.

  • Excel schreibt nichts in NeuesteDatei: Stelle sicher, dass der Pfad korrekt ist und dass es tatsächlich .csv-Dateien im angegebenen Verzeichnis gibt. Nutze den Debug.Print Befehl, um den Status der Variablen zu überprüfen.


Alternative Methoden

Falls du das Netzlaufwerk nicht verbinden möchtest, kannst du den Pfad direkt im VBA-Code verwenden. Zum Beispiel:

Public Const Pfad1 = "\\pc010\Klimadaten\1\"

Achte darauf, dass der Netzwerkpfad richtig geschrieben ist und die entsprechenden Berechtigungen vorhanden sind.


Praktische Beispiele

Hier ist ein Beispiel, wie du die NeuesteDatei Funktion in einem Arbeitsblatt verwenden kannst:

With Worksheets("Sensor 1").QueryTables.Add(Connection:= _
    "TEXT;" & Pfad1 & NeuesteDatei(), Destination:=Worksheets("Sensor 1").Range("A20"))
    .Name = "Sensor_1"
    .FieldNames = True
    .Refresh BackgroundQuery:=False
End With

Dieses Beispiel zeigt, wie du die neueste CSV-Datei aus dem Netzlaufwerk importierst und in ein bestimmtes Arbeitsblatt lädst.


Tipps für Profis

  • Sicherheit: Achte darauf, dass du die richtigen Berechtigungen für das Netzlaufwerk hast. Andernfalls kann der Zugriff auf die Dateien fehlschlagen.

  • Automatisierung: Du kannst VBA-Makros nutzen, um den Importprozess zu automatisieren, sodass du mit einem Klick die aktuellsten Daten erhältst.

  • Fehlerprotokollierung: Implementiere eine Fehlerprotokollierung in dein VBA-Skript, um Probleme schneller identifizieren und beheben zu können.


FAQ: Häufige Fragen

1. Warum kann ich kein Netzlaufwerk verbinden?
Überprüfe, ob der Netzwerkpfad korrekt ist und ob du die notwendigen Berechtigungen auf dem Zielrechner hast.

2. Wie kann ich den Pfad eines Netzlaufwerks in Excel anzeigen?
Verwende die ChDir-Funktion in deinem VBA-Code, um den aktuellen Arbeitsordner zu ändern und den Pfad des Netzlaufwerks anzuzeigen.

3. Gibt es eine Möglichkeit, ohne Netzlaufwerk auf Dateien zuzugreifen?
Ja, du kannst den UNC-Pfad direkt im VBA-Code verwenden, um die Dateien zu erreichen, ohne das Laufwerk zu verbinden.

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