Ich programmiere wirklich gerne. Aber ich habe immer meine liebe Not mit ungenauen Arbeitsanweisungen.
Ich soll per Programmierung ein Tabellenblatt als PDF ablegen.
Kein Problem. Allerdings muss ich nachfragen, wie das PDF-Dokument heißen soll.
BatchRecord-Filename-Datum-Uhrzeit
lautet die Antwort.
Ich vermute, dass er nicht Filename, sondern Blattname meint.
Und: in welcher Form das Datum und die Uhrzeit geschrieben wird, erklärt er mir auch nicht. Nun, er wird es mir sicherlich noch sagen.
Ich probiere:
strBlattname = "BatchRecord-" & ThisWorkbook.Name & Format(Date, "DD.MM.YYYY") & "-" & Format(Now, "HH:MM") & ".pdf"
' -- Export als PDF - in den gleichen Ordner, in dem sich die Vorlagendatei befindet
ActiveSheet.ExportAsFixedFormat Type:=xlTypePDF, Filename:= _
ThisWorkbook.Path & "\" & strBlattname, _
Quality:=xlQualityStandard, IncludeDocProperties:=True, IgnorePrintAreas:=False, _
OpenAfterPublish:=False
Eine Fehlermeldung ist die Folge:
Das Dokument wurde nicht gespeichert.
Ein bisschen suchen und ich werden fündig: Natürlich darf kein Doppelpunkt im Dateinamen auftauchen. Also raus damit (bei der Uhrzeit) und warten, wie denn der Dateiname korrekt aussehen soll:
Warum finde ich in der Liste der Seitengrößen kein Format A0? Ich möchte das Dokument als PDF speichern!
Bei meiner Kollegin habe ich das doch gesehen!
Die Antwort ist schnell gefunden: wird ein „normaler“ Drucker ausgewählt, der kein A0 drucken kann, wird dieser auch nicht vorgeschlagen. Man muss einen PDF-DRUCKER wählen, dann steht A0 zur Verfügung und jetzt kann man auch ein A0-PDF erstellen (speichern oder drucken):
Boah, ist das frech. Jahrzehntelang durfte wir Dokumente erstellen, die dann vielleicht irgendwann abgesürzt sind. Und wir durften sie noch einmal erstellen. Haben uns ein bisschen geärgert. Und jetzt kommt Microsoft und macht uns darauf aufmerksam, dass wir doch (bitte ?!) das Dokument speichern sollen. Haben die Angst um unsere Dateien?
Ich will auch weiterhin in Word, Excel & co Dateien erstellen ohne zu speichern. Meine Datei gehört mir. Jetzt wird nicht gespeichert!
Oder doch? Ein Dankeschön an Jürgen Diedmann, der mir folgenden Artikel zum Thema Speichern und Abstürze zugeschickt hat. Wichtig für alle! Damit (nicht nur) Excel nicht (mehr so sehr) nervt.
Speicher und Sicherheitsfunktionen nach Absturz o.ä.
Grundsätzliches: In den Optionen sollten eingestellt sein:
Kategorie Speichern / Auto-Wiederherstellen-Informationen speichern alle 1 Minute Dateispeicherort für AutoWiederherstellen: So wie abgebildet, Ort niemals ändern, WICHTIG
Einstellungen mit OK bestätigen
Grundsätzliche Unterscheidung zwischen
Nicht gespeicherte Arbeitsmappe
Bereits gespeicherte Dateien
Nicht gespeicherte Arbeitsmappe
Datei wurde noch nicht unter einem Namen gespeichert bzw. abgelegt. Datei wird von Excel automatisch im Speicherpfad, hier (Beispiel) C:\Users\Juerg\Appdata\Local\Microsoft\Office\UnsavedFiles abgelegt.
Wiederherstellung nach Systemabsturz, Stromausfall o.ä.
Nicht gespeicherte Arbeitsmappe
Dateiname wurde noch nicht vergeben und man ist auf normalen Wegen aus Excel ausgestiegen, wie zum Beispiel rot unterlegtes Kreuz rechts oben geklickt,
Ihre Änderung an dieser Datei speichern?……Nicht speichern Egal wann diese Datei wiederhergestellt werden soll, sie wurde auf der Festplatte abgespeichert. Wichtig ist nur, dass die Datei mind. 1 Minute, (Einstellung Optionen) geöffnet war.
Wiederherstellung:
Excel öffnen…
Weitere Arbeitsmappen rechts unten anklicken, es erscheint…
Nicht gespeicherte Arbeitsmappen wiederherstellen anklicken.
Es erscheint…
Hier sind nun alle Dateien abgelegt, welche automatisch unter dem in den Optionen aufgeführten Speicherort abgespeichert wurden. Datei anklicken und alles wird gut. Daher der Hinweis, den Pfad in den Optionen nie ändern.
Die gewünschte Datei wird so dann wiederhergestellt mit folgenden Hinweisen:
Wiederhergestellte Datei… sofort Speichern unter…
Gespeicherte Arbeitsmappe
Eine beliebige Arbeitsmappe wurde erstellt und abgespeichert, welche nach einer Minute „zusammenbricht“. Wir provozieren dieses einmal mit dem Task-Manager. Str+Alt+Entf drücken, Task-Manager, Excel anklicken, Task beenden drücken und den Manager wieder verlassen. Excel ist und „unsanft“ beendet worden.
Nun wird Excel wieder gestartet… Im Startbildschirm erscheint im unteren Bereich…
Nach dem Klick in die Fläche kommt dann der eigentliche Bildschirm mit den Wiederherstellungsoptionen
Ein Klick in die gewünschte Rubrik Arbeitsmappe und die Datei ist wieder auf dem Schirm. Es geht lediglich die Arbeit 1 Minute verloren
Und immer wieder: ich öffnen Excel, probiere etwas aus, schließe die Datei oder das Programm (meist mit [Strg] + [F4] oder [Alt] + [F4]); drücke aus Gewohnheit auf die Taste „n“ … Und dann das:
Einer meiner Kunden verwendet ein von mir gebasteltes Excel-Tool (ist inzwischen wirklich übel verbastelt). Er verteilt das dann an weitere Leute („Trainer“), die die Ergebnisse dann an weiter („Kunden“) verteilen. Er möchte, dass die Vorlage nicht so einfach zerstört wird, und deshalb sind wir auf die xltm-Dateien gekommen.
Der Kunde liebt (leider) seinen Mac über alles und verwendet auch Mac-Excel (ist der erste und letzte Excel-Mac Kunde von mir!). Jetzt gibt es hier einen Unterschied zwischen Mac und Windows. Nach seiner Beschreibung (also beim Mac) wird beim normalen speichern der xltm-Datei automatisch eine xlsm-Datei gespeichert. Beim Speichern unter Windows passiert das nicht, da wird eine xltm-Datei gespeichert, bzw. die vorhandene überschrieben.
Meine Frage an dich ist erst mal, wie das „normale“ Verhalten der xltm-Dateien sein soll. Ich habe dazu keine wirklich saubere Antwort gefunden.
Die nächste Frage ist, wie wir in diesem Fall das vom Kunden gewünschte Verhalten auch bei Windows beibringen können (hab da was beim googeln gefunden mit VBA). Hast du da andere Vorschläge?
Ich würde mich sehr freuen, wenn du mir da weiterhelfen könntest.
Schöne Grüße
Peter
Hallo Peter,
du warst leider bei unserem Vorlagen-Abend nicht dabei. Da haben wir die verschiedenen Varianten diskutiert: du kannst eine Vorlage öffnen oder mit ihr eine neue Datei erstellen. Unter Windows lautet der Standard, dass ein Doppelklick (im Explorer) aus einer XLTX-Datei eine neue Datei erstellt. Allerdings kannst du nicht verhindern, dass der Anwender die Datei mit rechter Maustaste / öffnen aufmacht. Natürlich kann man die Dateien im Vorlagenordner für die Vorlagen speichern und dem Anwender sagen, er solle sie bitte nur über Datei / Neu herholen. Aber auch hier gibt es einige gewitzte Zeitgenossen …
Ich schlage ein anderes Vorgehen vor: Beim Speichern-Ereignis überprüfst du, ob der Anwender die XLTM oder XLSM-Datei speichern will. Will er die XLTM-Datei speichern, dann „schlage ihm auf die Finger“ und setzte den Parameter Cancel auf True.
Ist nicht ganz so elegant, funktioniert aber. Solche Tricks habe ich auch schon anwenden müssen.
Hilft das?
LG :: Rene
Hallo René,
das hilft mir ganz gewaltig! Vielen Dank für deine Erklärung!
die Excel die wir überarbeitet haben laufen super, und die Kollegen machen jetzt sehr viel auch selbst.
Ich habe jetzt hier das Problem, dass hier ein Protokoll über den Button „PDF mailen“ versendet werden soll, allerdings erkennt Office365 / Excel kein PDF-Add in.
Hast du da einen Tipp welches Add in wir verwenden sollen?
Früher hatten wir das Tool PDF Gotomaxx in Einsatz nur das hat dieses ADD-In nicht mehr in der neusten Version enthalten.
LG
Mario
Hallo Mario,
schön von dir zu hören. Und: schön, das ihr sehr viel selbst macht und hinbekommt.
Ich verwende seit einer Weil die interne PDF-Funktion von Office – du kannst ja die Datei speichern als PDF. Erstaunlicherweise stellt Excel VBA die PDF-Exportfunktion nur für das Blatt zur Verfügung. Also: