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

csv Datei in bestimmten Pfad öffnen

csv Datei in bestimmten Pfad öffnen
Jürgen
Hallo Excel-Forum,
habe eine höchstwahrscheinlich (hoffentlich) einfache Frage. Bei der Recherche bicn ich irgendwie nicht zu einem Ergebnis gekommen.
Ich möchte per Makro eine csv.Datei öffnen. Diese liegt auf einem bestimmten Pfad (auf einem Server).
Das Excel mir im Öffnen-Dialog nur csv-Dateien anzeigt habe ich schon:
fFile = Application.GetOpenFilename("csv-Dateien (*.csv), *.csv")
Wie bekomme ich es aber hin, dass der Öffnen-Dialog mir sofort ein bestimmtes Verzeichnis öffnet?
Der Pfad lautet als Beispiel: \\server\daten\lutz
Vielen Dank schon einmal im Vorraus.
Jürgen
AW: csv Datei in bestimmten Pfad öffnen
12.03.2010 12:26:48
ede
hallo Jürgen,
schau mal unter ChDrive oder ChDir in der Hlfe nach, da wirst du was finden.
Gruss
AW: csv Datei in bestimmten Pfad öffnen
12.03.2010 13:02:18
Jürgen
Hallo,
ich habe den ChDir mit Pfadangabe vor und nach der Befehlszeile ausprobiert.
Hat leider nichts gebracht. Der Öffnen-Dialog geht trotzdem nicht in das Verzeichnis.
Grüße
Jürgen
AW: csv Datei in bestimmten Pfad öffnen
12.03.2010 13:32:38
Dirk

ChDir "\\server\daten\lutz"
Workbooks.Open FileName:="\\server\daten\lutz\"&filename
den Dateinamen mit Endung
versuch mal die zeilen hier
AW: csv Datei in bestimmten Pfad öffnen
12.03.2010 14:01:18
Jürgen
Hallo Dirk,
danke für Deinen Vorschlag. Leider ist es nicht ganz was ich möchte.
Ich hätte gerne, dass ich im Öffnen-Dialog in diesem Verzeichnis bin und ich mir dann die csv-Datei aussuchen kann.
Hättest Du hierfür vielleicht eine Lösung?
Grüße
Jürgen
Anzeige
AW: csv Datei in bestimmten Pfad öffnen
12.03.2010 14:16:36
Josef

Hallo Jürgen,
etwas aufwändiger, aber flexibler.

' **********************************************************************
' Modul: Modul5 Typ: Allgemeines Modul
' **********************************************************************

Option Explicit

Private Declare Function GetOpenFileName Lib "comdlg32.dll" Alias _
  "GetOpenFileNameA" (pOpenfilename As OPENFILENAME) As Long

Private Type OPENFILENAME
  lStructSize As Long
  hwndOwner As Long
  hInstance As Long
  lpstrFilter As String
  lpstrCustomFilter As String
  nMaxCustFilter As Long
  nFilterIndex As Long
  lpstrFile As String
  nMaxFile As Long
  lpstrFileTitle As String
  nMaxFileTitle As Long
  lpstrInitialDir As String
  lpstrTitle As String
  Flags As Long
  nFileOffset As Integer
  nFileExtension As Integer
  lpstrDefExt As String
  lCustData As Long
  lpfnHook As Long
  lpTemplateName As String
End Type

Public Const OFN_FILEMUSTEXIST As Long = &H1000&
Public Const OFN_HIDEREADONLY As Long = &H4&
Public Const OFN_PATHMUSTEXIST As Long = &H800&

Public Function ShowOpen(Path As String, Filter As String, Flags As Long, hWnd As _
    Long, Optional FilterIndex As Long = 1&, Optional Title As String = "Datei Auswählen") As String

  Dim Buffer As String
  Dim Result As Long
  Dim ComDlgOpenFileName As OPENFILENAME
  
  Buffer = String$(128, 0)
  
  With ComDlgOpenFileName
    .lStructSize = Len(ComDlgOpenFileName)
    .hwndOwner = hWnd
    .Flags = Flags
    .nFilterIndex = FilterIndex
    .nMaxFile = Len(Buffer)
    .lpstrFile = Buffer
    .lpstrFilter = Filter
    .lpstrInitialDir = Path
    .lpstrTitle = Title
  End With
  
  Result = GetOpenFileName(ComDlgOpenFileName)
  
  If Result <> 0 Then
    ShowOpen = Left$(ComDlgOpenFileName.lpstrFile, _
      InStr(ComDlgOpenFileName.lpstrFile, _
      Chr$(0)) - 1)
  End If
End Function

Sub Datei_Waehlen()
  Dim Filter As String, FileName As String
  Dim Flags As Long, lngIndex As Long
  
  Flags = OFN_FILEMUSTEXIST Or OFN_HIDEREADONLY Or _
    OFN_PATHMUSTEXIST
  
  
  Filter = "Alle Dateien (*.*)" & Chr$(0) & "*.*" & Chr$(0) & _
    "Text Dateien (*.csv, *.txt)" & Chr$(0) & _
    "*.csv; *.txt" & Chr$(0)
  
  
  Filter = Filter & Chr$(0)
  
  FileName = ShowOpen("\\server\daten\lutz", Filter, Flags, Application.hWnd, 2&, "Datei Auswählen")
  
  If FileName <> "" Then
    MsgBox FileName
  End If
  
End Sub

Gruß Sepp

Anzeige
AW: csv Datei in bestimmten Pfad öffnen
12.03.2010 14:29:30
Jürgen
BoaHHH
Hallo Sepp,
professioneller geht es glaube ich nicht. Aber geht es nicht etwas einfacher?
Ich dacht man könnte das Verzeichnis mit ein oder zwei Befehlszeilen angeben.
Ich muss das ganze noch in ein anderes Makro einbauen und würde auch gerne verstehen was ich da mache.
Danke schon einmal
Jürgen
AW: csv Datei in bestimmten Pfad öffnen
12.03.2010 15:15:26
Josef

Hallo Jürgen,
ChDrive kann keinen UNC-Pfad verarbeiten, deshalb funktioniert es mit den zwei Zeilen nicht.
Ist doch egal ob 2 oder 100 Zeilen, es kommt doch auf das Ergebnis an.

Gruß Sepp

Anzeige
AW: csv Datei in bestimmten Pfad öffnen
12.03.2010 15:23:01
Jürgen
Dann werde ich mal gucken, wie ich das einbaue.
Ich danke herzlich für die Hilfe.
Grüße
Jürgen
AW: csv Datei in bestimmten Pfad öffnen
12.03.2010 16:35:54
Detlef
Hallo Jürgen,
da hat Sepp völlig recht. Kürzer geht nur so:
Sub DateiÖffnenVar01()
    ChDrive "L" '***entsprechend den LW-Buchstaben vom Server angeben 
    ChDir "L:\xxxx\xxxxxx"
    Application.Dialogs(xlDialogOpen).Show arg1:="*.csv"
End Sub
Das funktioniert nur dann, wenn alle User den gleichen LW-Buchstaben für das Netzwerk benutzen und nur dann. Allerdings ist das ja oftmals in Firmen über Profile standardmäßig geregelt.
Gruß Detlef
Anzeige

305 Forumthreads zu ähnlichen Themen

Anzeige
Anzeige
Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige