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