Ergebnis 1 bis 3 von 3

Thema: Ordner schliessen per VBA (Office 2016)

  1. #1
    Office-Hilfe.com - Neuling
    Registriert seit
    02.01.2019
    Beiträge
    6

    Ordner schliessen per VBA

    Um Berichte in ein bestimmtes Unterverzeichnis zu exportieren, habe ich folgende Prozedur erstellt. Das funktioniert auch problemlos. Nur nach dem Export des Berichtes bleiben alle Ordner geöffnet. Wenn dann der nächste Bericht exportiert wird, werden wieder alle Ordner geöffnet, sodass dann sehr viele Ordner geöffnet sind, die ich dann alle wieder manuell schliessen muss. Gibt es eine Möglichkeit, diese Ordner nach der Export des Berichts wieder automatisch zu schliessen??

    Ich hoffe wieder auf Eure Hilfe

    Herzlichen Dank!!!

    ChDir "L:"
    ChDir "L:\Kegeln"
    ChDir "L:\Kegeln\Statistik"
    DoCmd.SetWarnings False

    Shell "explorer.exe """ & Pfad1 & """", vbNormalFocus
    If Dir(Pfad1, vbDirectory) <> "" Then
    Shell "explorer.exe """ & Pfad1 & """", vbNormalFocus
    Else
    MkDir Pfad1
    Shell "explorer.exe """ & Pfad1 & """", vbNormalFocus
    End If
    ChDir Pfad1
    Shell "explorer.exe """ & Pfad2 & """", vbNormalFocus
    If Dir(Pfad2, vbDirectory) <> "" Then
    Shell "explorer.exe """ & Pfad2 & """", vbNormalFocus
    Else
    MkDir Pfad2
    Shell "explorer.exe """ & Pfad2 & """", vbNormalFocus
    End If
    ChDir Pfad2
    Dim Pfad5 As String
    Pfad5 = "Auswärtstabelle"
    If Dir(Pfad5, vbDirectory) <> "" Then
    Shell "explorer.exe """ & Pfad5 & """", vbNormalFocus
    Else
    MkDir Pfad5
    Shell "explorer.exe """ & Pfad5 & """", vbNormalFocus
    End If
    ChDir Pfad5

  2. #2
    Office-Hilfe.com - Profi
    Registriert seit
    24.11.2008
    Beiträge
    2.108
    Hallo,

    … Nur nach dem Export des Berichtes bleiben alle Ordner geöffnet.
    wenn man das so macht, bleiben natürlich alle Dateiexplorer-Fenster offen, die man dann händisch schließen muss.

    Deshalb hat das Application-Objekt die FileDialog-Methode, mit der man das weit einfacher lösen kann:
    Code:
    Option Compare Database
    Option Explicit
    
    Sub Makro2()
       
       Dim BasisPfad As String
       Dim Pfad1 As String, Pfad2 As String, Pfad5 As String
       
       DoCmd.SetWarnings False
       
       BasisPfad = "L:\Kegeln\Statistik\"
       
       Pfad1 = PfadSuche("Pfad1", BasisPfad)
       If Pfad1 = "" Then Exit Sub 'Verlasse Makro, falls 'Abbrechen'-Button gedrückt wurde
       
       Pfad2 = PfadSuche("Pfad2", BasisPfad)
       If Pfad2 = "" Then Exit Sub 'Verlasse Makro, falls 'Abbrechen'-Button gedrückt wurde
          
       Pfad5 = PfadSuche("Pfad5", BasisPfad & "Auswärtstabelle\")
       If Pfad5 = "" Then Exit Sub 'Verlasse Makro, falls 'Abbrechen'-Button gedrückt wurde
       
       'Weitere Anweisungen im Makro
       'usw.
       '..............
       
    End Sub
    
    Function PfadSuche(Titel As String, InitPfad As String) As String
    
       With Application.FileDialog(msoFileDialogFolderPicker)
         .Title = "Pfadsuche für '" & Titel & "' bzw. neues Subverzeichnis:"
         .Title = "Suche bzw. erzeuge neues Verzeichnis in Pfadvariable '" & Titel & "':"
         .InitialView = msoFileDialogViewList
         .AllowMultiSelect = False
         .InitialFileName = InitPfad
         If .Show Then
           'Button 'Ok' wurde gedrückt - Pfad wird von Funktion zurückgegeben:
           PfadSuche = .SelectedItems.Item(1)
         Else
           'Button 'Abbrechen' wurde gedrückt - Leerer Pfad wird zurückgegeben:
           PfadSuche = ""
         End If
       End With
      
    End Function
    Im obigen "Makro2" können die 3 Variablen "Pfad1", "Pfad2" und "Pfad5" mit Dateipfaden befüllt werden, wobei für "Pfad1" und "Pfad2" als InitPfad im Dialogfenster "L:\Kegeln\Statistik" verwendet wird und für Variable "Pfad5" das Unterverzeichnis "L:\Kegeln\Statistik\Auswärtstabelle".
    Falls ein Verzeichnis noch nicht existieren sollte, kann man es im Dialogfenster händisch mittels "Neu" (rechte Maustaste) erzeugen.
    Liebe Grüße
    Anton Exl

    Windows 10 (x64)
    Office 2016 Professional Plus

  3. #3
    Office-Hilfe.com - Neuling
    Registriert seit
    02.01.2019
    Beiträge
    6
    Danke Anton, für diese Hilfe. Werde beim nächsten Einstieg in die Datenbank das so umsetzen.

Berechtigungen

  • Neue Themen erstellen: Nein
  • Themen beantworten: Nein
  • Anhänge hochladen: Nein
  • Beiträge bearbeiten: Nein
  •  
Excel Ticker - News, Tipps und Tricks zu Microsoft Excel | SMS kostenlos versenden | Forenuser - Die Foren Findmaschine