Sie versuchen, zu drucken, um PDF -, stuck auf dem letzten Schritt (automatisch als Datei speichern, mit Sendkeys) msExcel 2003
Ich versuche automatisch eine PDF-Datei erstellen (ohne Benutzeroberfläche, anderen als den Klick auf einen button in der Excel Datei). Ich scheinen, um alles richtig mit den code unten, aber wenn die Datei gespeichert wurde, automatisch generierten Namen, der code scheint nicht zu stoppen die Benutzer-und es fordert mich zur Eingabe von Dateinamen verwenden (statt greifen Sie automatisch aus dem code). Ich habe das Gefühl, dass sendkeys
ist nicht für mich.
Sub PrinttoPDFTest()
ActiveSheet.PageSetup.PrintArea = "$A$1:$F$17"
With ActiveSheet.PageSetup
.PrintTitleRows = ""
.PrintTitleColumns = ""
End With
ActiveSheet.PageSetup.PrintArea = "$A$1:$F$17"
With ActiveSheet.PageSetup
.Orientation = xlLandscape
.FitToPagesWide = 1
.FitToPagesTall = 1
End With
ActiveWindow.SelectedSheets.PrintOut Copies:=1, ActivePrinter:="Adobe PDF on Ne04:", Collate:=True
newHour = Hour(Now())
newMinute = Minute(Now())
newSecond = Second(Now()) + 5
waitTime = TimeSerial(newHour, newMinute, newSecond)
Application.Wait waitTime
Filename = "C:\Temp\PDF\" & ActiveSheet.Range("DateSerial").Value & ".pdf"
SendKeys Filename & "{Enter}", False
End Sub
- Schauen Sie hier: ozgrid
- Dank Reafidy, das hat funktioniert! danke!
- Okay, geschrieben als Antwort. Danke.
Du musst angemeldet sein, um einen Kommentar abzugeben.
Wäre es einfacher zu verwenden .ExportAsFixedFormat statt .Ausdruck, und nur stapeln Sie Ihre Anfragen (keine Verzögerung code erforderlich):
Ersetzen Sie einfach die Destinationen und Dateinamen, und dieser code sollte funktionieren. Wenn Sie möchten, verwenden Sie einen Wert in das Blatt als Teil eines Dateinamens, dann können Sie verketten (&) wie diese:
Oder speichern die Dateinamen in eine variable, und tun es auf diese Weise:
Und es geht weiter und weiter...