Ordner per VBA öffnen

Informationen und Beispiele zu den hier genannten Dialog-Elementen:
MsgBox
Bild

Betrifft: Ordner per VBA öffnen
von: onkelbobby
Geschrieben am: 08.09.2015 11:09:00

Hallo zusammen,
ich habe aktuell in einer Tabelle ein Makro mit dem ich einen pdf-Druck anstosse und die Datei in einen Ordner schieben lasse. Ich möchte, dass nach dem Speichern der Ordner mit dieser Datei geöffnet wird.
Der entsprechende Teil des Makros sieht so aus:
wb.Worksheets("Liste").PrintOut Copies:=1, ActivePrinter:="FreePDF", PrintToFile:= _
True, PrToFileName:="c:\temp\test.ps"

Application.Wait Now + TimeSerial(0, 0, 5)
Shell "C:\Program Files (x86)\FreePDF_XP\freepdf.exe c:\temp\test.ps /a /d /x"
Shell "Explorer.exe C:\Listendruck", vbNormalFocus
Application.Wait Now + TimeSerial(0, 0, 5)
If Dir("C:\Listendruck\Nr. " & Range("A1") & "\" & Range("C1") & "\" & Range("B1") & " Stand " & Format(Now, "yyyy-mm-dd") & ".pdf") = "" Then
Name "C:\temp\test.pdf" As "C:\Listendruck\Nr. " & Range("A1") & "\" & Range("C1") & "\" & Range("B1") & " Stand " & Format(Now, "yyyy-mm-dd") & ".pdf"
Else: MsgBox "Das pdf ist bereits vorhanden. Vor dem erneuten Speichern erst die alte Datei löschen!"
End If
Makro funktioniert und mir wird der Ordner "C:\Listendruck" angezeigt.
Ich möchte jedoch einige Ebenen tiefer genau den Ordner angezeigt bekommen, in dem sich das pdf befindet, nämlich "C:\Listendruck\Nr. (A1)\(C1)" (in den Klammern sind jeweils die Zellen die den gewünschten Text enthalten).
Diese Daten müssten ja irgendwie hier
Shell "Explorer.exe C:\Listendruck", vbNormalFocus
eingefügt werden. Ich weiss aber nicht wie ich die Variable da integriere.
Ausserdem hätte ich im Dateinamen statt
& Format(Now, "yyyy-mm-dd")
lieber ein Datum, das in Zelle B2 steht. Jedoch steht das Datum dort nicht alleine, sondern die Zelle sieht in etwa so aus "Liste vom 08.09.2015". Ich brauche also die letzten 10 Zeichen dieser Zelle.
Danke für Eure Hilfe!
Bei der Gelegenheit um VBA ein bisschen näher kennen zu lernen:
Was hat diese Zeilen für eine Funktion:
Application.Wait Now + TimeSerial(0, 0, 5)
und
was bewirkt das hier:
/a /d /x

Bild

Betrifft: AW: Ordner per VBA öffnen
von: UweD
Geschrieben am: 08.09.2015 11:31:32
Hallo
du könntest es so machen... (ungetestet)


    Dim Pfad1 As String
    Dim Pfad2 As String
    Pfad1 = "C:\Listendruck\Nr. " & Range("A1") & "\" & Range("C1")
    Pfad2 = "\" & Range("B1") & " Stand " & Format(Now, "yyyy-mm-dd") & ".pdf"
    
    
    wb.Worksheets("Liste").PrintOut Copies:=1, ActivePrinter:="FreePDF", PrintToFile:= _
        True, PrToFileName:="c:\temp\test.ps"
    Application.Wait Now + TimeSerial(0, 0, 5)
    Shell "C:\Program Files (x86)\FreePDF_XP\freepdf.exe c:\temp\test.ps /a /d /x"
    Shell "Explorer.exe Pfad1, vbNormalFocus"
    Application.Wait Now + TimeSerial(0, 0, 5)
    If Dir(Pfad1 & Pfad2) = "" Then
        Name "C:\temp\test.pdf" As Pfad1 & Pfad2
    Else: MsgBox "Das pdf ist bereits vorhanden. Vor dem erneuten Speichern erst die alte Datei  _
löschen!"
    End If
Gruß UweD

Bild

Betrifft: AW: Ordner per VBA öffnen
von: onkelbobby
Geschrieben am: 08.09.2015 12:05:30
Hi Uwe,
klappt leider nicht.
Datei wird erzeugt, es öffnet sich aber der Ordner "Eigene Dokumente". Auch die Fehlermeldung wird nicht angezeigt, wenn die Datei schon vorhanden ist.
Danke für weiter Hilfe

Bild

Betrifft: AW: Ordner per VBA öffnen
von: onkelbobby
Geschrieben am: 08.09.2015 13:28:15
Update: Das Öffnen des gewünschten Ordners funktioniert! War ein Formatierungsproblem
Jetzt müsste ich nur noch das mit dem Datum hinkriegen! Danke!

Bild

Betrifft: AW: Ordner per VBA öffnen Datum
von: UweD
Geschrieben am: 08.09.2015 15:36:47
Hallo nochmal.
dann so...


      Dim Pfad1 As String
      Dim Pfad2 As String
      Dim Datum As Date
      
      Datum = Right(ActiveSheet.Range("B2"), 10)
      Pfad1 = "C:\Listendruck\Nr. " & ActiveSheet.Range("A1") & "\" & ActiveSheet.Range("C1")
      Pfad2 = "\" & ActiveSheet.Range("B1") & " Stand " & Format(Datum, "yyyy-mm-dd") & ".pdf"
      'usw...
Gruß UweD

Bild

Betrifft: AW: Ordner per VBA öffnen Datum
von: onkelbobby
Geschrieben am: 09.09.2015 09:38:58
Danke,
Perfekt!

Bild

Betrifft: Parameter
von: Michael
Geschrieben am: 08.09.2015 12:44:48
Hi zusammen,
zu den Parametern habe ich hier was gefunden:
https://www.herber.de/forum/archiv/972to976/972585_FreePDF_mit_VBA_aufrufen.html
Schöne Grüße,
Michael

Bild

Betrifft: AW: Parameter
von: onkelbobby
Geschrieben am: 08.09.2015 13:28:39
Danke!

 Bild

Beiträge aus den Excel-Beispielen zum Thema "Ordner per VBA öffnen"