Microsoft Excel

Herbers Excel/VBA-Archiv

Informationen und Beispiele zum Thema CommandButton
BildScreenshot zu CommandButton CommandButton-Seite mit Beispielarbeitsmappe aufrufen

Bestimmten Ordner anwählen in Vba


Betrifft: Bestimmten Ordner anwählen in Vba von: dieter
Geschrieben am: 12.04.2018 16:08:51

Hallo,
Ich möchte nur das Verzeichnis I:\Excel geöffnet haben in meinem Code.
Bei mir öffnet sich immer nur der Desktop auf C: was auch funktioniert dann weiter.
Ich würde aber gerne das sich das Laufwerk I:\Exel öffnet wo ich meine Datei anwählen kann. Die Shell angabe geht zwar aber dann öffnet er 2 mal.
Hier ein Auszug vom Code.

Private Sub CommandButton4_Click() ' andere Datei öffnen
UserForm1.Hide
Dim varName As Variant

' Shell "explorer.exe /e,I:\Excel", vbNormalFocus

varName = Application.GetOpenFilename("CSV-Dateien,*.csv,Alle Dateien,*.*")
If varName = False Then Exit Sub
With ActiveSheet.QueryTables.Add(Connection:="TEXT;" & varName, Destination:=Range("$A$1"))

Weiterer Code nicht wichtig zum Problem

Danke im voraus der Mühe
Dieter

  

Betrifft: AW: Bestimmten Ordner anwählen in Vba von: Martin
Geschrieben am: 12.04.2018 16:18:13

Hallo Dieter,

verwende statt Shell folgende Anweisungen:

    ChDrive "I" 'Laufwerk wechseln
    ChDir "I:\Excel" 'Verzeichnis wechseln
Viele Grüße

Martin


  

Betrifft: AW: Bestimmten Ordner anwählen in Vba von: Armin
Geschrieben am: 12.04.2018 16:41:06

Hallo Dieter,
Du kannst Dir das umstellen auf ein anders Laufwerk schenken.
Verwende das FileDialog Objekt. Da ist alles schön zu sehen was wozu gebaucht wird.

Private Sub CommandButton4_Click() ' andere Datei öffnen
Dim fDialog As FileDialog
Dim FileName As String

UserForm1.Hide
Set fDialog = Application.FileDialog(msoFileDialogFilePicker)
fDialog.AllowMultiSelect = False
fDialog.Title = "Select a file"
fDialog.Filters.Clear
fDialog.Filters.Add "Excel files", "*.csv"
fDialog.InitialFileName = "I:\Excel"
If fDialog.Show = -1 Then
   FileName = fDialog.SelectedItems(1)
Else
   Set fDialog = Nothing
   Exit Sub
End If
With ActiveSheet.QueryTables.Add(Connection:="TEXT;" & FileName, Destination:=Range("$A$1"))
'....

End Sub
Gruß Armin


  

Betrifft: Wo Armin recht hat, hat er recht ;-) o.w.T. von: Martin
Geschrieben am: 12.04.2018 16:45:28

..


  

Betrifft: AW: Wo Armin recht hat, hat er recht ;-) o.w.T. von: dieter
Geschrieben am: 13.04.2018 16:25:22

Hallo,
Ich danke Martin und Armin für die schnelle Antwort.
Soweit funktionieren beide Versionen prima so wie ich das gerne auch haben wollte.
Nur jetzt erst ist mir aufgefallen das ich nur .csv Dateien öffnen kann.

Was muss ich ändern das er mir auch .xls - .xlsx Dateien öffnet ?

Danke im voraus

Dieter


  

Betrifft: XLS und CSV anzeigen von: Robert Werner
Geschrieben am: 14.04.2018 14:29:36

Hallo Dieter,

passe nachstehende Zeile wie folgt an:
fDialog.Filters.Add "Excel files", "*.csv, *.xls*"

Gruß
Robert


  

Betrifft: AW: XLS und CSV anzeigen von: Dieter
Geschrieben am: 17.04.2018 14:00:33

Hallo Robert
Danke der Antwort, funktioniert prima.

Mfg. Dieter


Beiträge aus dem Excel-Forum zum Thema "Bestimmten Ordner anwählen in Vba"