Anzeige
Archiv - Navigation
1416to1420
Aktuelles Verzeichnis
Verzeichnis Index
Übersicht Verzeichnisse
Vorheriger Thread
Rückwärts Blättern
Nächster Thread
Vorwärts blättern
Anzeige
HERBERS
Excel-Forum (Archiv)
20+ Jahre Excel-Kompetenz: Von Anwendern, für Anwender
Inhaltsverzeichnis

Historie über pdf Ausdrucke anlegen.

Historie über pdf Ausdrucke anlegen.
22.03.2015 11:31:28
Matthias
Hallo,
ich kann per Button PDf erzeugen lassen. Funktioniert einwandfrei.
Nun möchte ich das ganze erweitern.
Und zwar sollte der Ausdruck in meiner Tabelle unter dem Sheet"Historie" protokolliert werden. Es soll das Datum, die Uhrzeit, der Betreff, die Art des Ausdrucks und der Link zum Ausdruck abgelegt werden.
Den Betreff möchte in Bevor die Pdf erstellt wird in einer Eingabemaske schreiben können. Die Art des Ausdrucks in der selben Maske über eine Down-Menü auswählen können. Das Down-Menü wird gefüllt über eine Namenliste.
Die Pdf. sollte dann im gleichen Ordner der Excel-Datei abgelegt werden. Jedoch sollte vorher eine Ordner "PDF" generiert werden in dem dann alle erzeugten PDF`s abgelegt werden.
Den Link zur Datei wird in der Historie aufgelistet als der Dateiname.
Ich bräuchte dazu eine kompetente Hilfe.
Besten Dank.

9
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
AW: Historie über pdf Ausdrucke anlegen.
22.03.2015 22:41:21
fcs
Hallo Mathias,
hier eine entsprechende Beispieldatei.

Die Datei https://www.herber.de/bbs/user/96558.xlsm wurde aus Datenschutzgründen gelöscht


Die Art, wie der Name der PDF festgelegt wird, muss dann in der Initialize-Prozedur des Userforms integriert werden.
Gruß
Franz

AW: Historie über pdf Ausdrucke anlegen.
23.03.2015 17:14:37
Matthias
Hallo,
deine Datei ist der Wahnsinn.
Vielen Vielen Dank.
Ich habe nur das Problem, dass er mir immer Fehler bringt, sobald ich meine Datei auf einen anderen Pc starten will.
Über den Playbutton ist meine Userform erreichbar. Der zusätzliche Button mit deinem Makro birngt mir: Fehler beim Kompilieren. Prozedur oder Bibiothek nicht gefunden. Es wir markiert. datDatum = Date
Jedoch geht wie gesagt, dein Code nur auf meinem PC in der Datei.
Wenn ich eine komplett Neue Datei anlege funktioniert auch wieder alles.
Hast du vllt. einen Tipp warum meine Datei nicht funktioniert? Kann es sein, dass ich in meiner Datei ausversehen irgendwas ausgeschaltet habe? oder auf etwas zugreife, dass auf den anderen PC nicht definiert ist.?
Besten Dank.

Anzeige
AW: Historie über pdf Ausdrucke anlegen.
24.03.2015 12:31:40
Matthias
Hallo,
danke deine Datei funktioniert toll.
Hallo,
ich habe den Fehler in einer fehlenden Verweis gefunden.
Ich habe dennoch drei Fragen.
1) Ist es möglich über die Art des Ausdruckes im Code vorgeben welches Sheet ausgedruckt werden soll?
Sprich Art 1 , Sheet 1 und 2
Art 2 , Sheet 3 etc.
Wie könnte man dies lösen?
2) Ich möchte den Dateinamen in der Reihenfolge Datum, Name der Datei angeben. Funktioniert auch, aber ich bekomme den Leerschritt zwischen Datum und Name der Datei nicht hin.
3) Ich hätte versucht in meiner Userform dein Steuermodule zu kopieren. Innerhalb meiner Userform liegt auch dein toller Code.
Wenn ich aber dann auf pdf erstellen gehe, bringt er mir den Fehler. Laufzeitfehler – Objekt erforderlich und markiert mir den Code
wksPrint.ExportAsFixedFormat Type:=xlTypePDF, Filename:=strDatei, Quality:=xlQualityStandard, _
Includedocproperties:=True, Ignoreprintareas:=False, Openafterpublish:=False
gelb.
Was mache ich Falsch?

Anzeige
AW: Historie über pdf Ausdrucke anlegen.
24.03.2015 15:28:19
fcs
Hallo Matthias,
1) Ist es möglich über die Art des Ausdruckes im Code vorgeben welches Sheet ausgedruckt werden soll?
Sprich Art 1 , Sheet 1 und 2
Art 2 , Sheet 3 etc.
Wie könnte man dies lösen?

In einer Select Case - Anweisung kann man die jeweils zu drukenden Blätter festlegen.
Die Blätter werden dabei in einer Variablen als Array gespeichert. Diese Daten werden am besten unter dem Change_Ereignis der Combobox für die Art zusammengestellt, dann kann man die Blätter auch im Userform anzeigen.
In der hochgeladenen Textdatei hab ich den kompletten Userform Code mal so angepasst, dass über die Combobox-Auswahl für "Art" die als PDF zu speichernden Blätter vorgewählt werden.
2) Ich möchte den Dateinamen in der Reihenfolge Datum, Name der Datei angeben. Funktioniert auch, aber ich bekomme den Leerschritt zwischen Datum und Name der Datei nicht hin.
Das kann man in das Format für das Datum einbauen oder man fügt per & " " zwischen Datum and Dateinamen ein Leerzeichen ein.
    With ThisWorkbook
'Syntax für automatischen Dateinamen ggf. anpassen
Me.txbDatei = Format(datDatum, " YYYY-MM-DD ") & Left(.Name, InStrRev(.Name, ".") - 1) & _
".pdf"
End With

3) Ich hätte versucht in meiner Userform dein Steuermodule zu kopieren. Innerhalb meiner Userform liegt auch dein toller Code.
Wenn ich aber dann auf pdf erstellen gehe, bringt er mir den Fehler. Laufzeitfehler – Objekt erforderlich und markiert mir den Code
wksPrint.ExportAsFixedFormat Type:=xlTypePDF, Filename:=strDatei, Quality:=xlQualityStandard, _
Includedocproperties:=True, Ignoreprintareas:=False, Openafterpublish:=False

Wahrscheinlich hast du die Deklaration der Variablen, die für alle Makros im Userform-Code gelten sollen, am Beginn des Codes vergessen zu kopieren.
Option Explicit 'Sorgt unter anderem dafür das nicht deklarierte Variablen _
beim Kompilieren angemeckert/angezeigt werden.
Private wksPrint As Worksheet, wksHistorie As Worksheet
Private datDatum As Date, datZeit As Date
Gruß
Franz
https://www.herber.de/bbs/user/96609.txt

Anzeige
AW: Historie über pdf Ausdrucke anlegen.
24.03.2015 18:04:09
Matthias
Vielen Vielen Dank.
Es funktioniert super.
ISt es möglich das ganze auch auf den Codenamen der Blätter zu beziehen.
So wäre ich hier sicher wenn jemand den BLattnamen ändern will.

AW: Historie über pdf Ausdrucke anlegen.
25.03.2015 11:51:45
fcs
Hallo Mathias,
ja man kann auch mit den Code-Namen arbeiten.
die Case-Zeilen müssen dann wie folgt aussehen:
    Case "Art 01"
arrSheets = Array(Tabelle4.Name, Tabelle6.Name, Tabelle7.Name)
Me.txbTabelle = Tabelle4.Name & ", " & Tabelle6.Name & ", " & Tabelle7.Name
Wenn du so große Sorgen bzüglich der Blattnamen hast, dann kannst du auch die Arbeitsmappe schützen mit den Optionen "Struktur" und "Fenster" aktiv.
Gruß
Franz

Anzeige
AW: Historie über pdf Ausdrucke anlegen.
27.03.2015 07:48:08
Matthias
Hallo,
vielen Dank für die Erweiterung des Codes.
Ich werde dennoch bei der Ausführung mit den Blattnamen bleiben.
Jedoch würde ich gerne deine Userform und Code noch so anpassen, dass der Dateipfad, der Dateiname nicht angezeigt wird.
Die Auswahl der Art soll soweit noch erhalten bleiben. Je nach Art können ja verschiedene Tabellenblätter zu geordnet werden.
Ist es noch möglich benutzerdefinierte Ansichten zusätzlich innerhalb des ausgewählten Tabellenblattes festzulegen?
Der Betreff sollte ich aus zwei Teilen gestaltet werden.
Ein Auswahlmenü das über eine Namensliste gefüllt wird. Und einen zweiten Bereich der vom User über einen Text ausgefüllt wird.
Die Historie sollte dann die Informationen Datum Uhrzeit Betreff teil 1 Betreff Teil 2 und den Link zur Datei haben.
Kann so was realisiert werden?, weil dann wäre es abschließend perfekt.
Besten Dank.

Anzeige
AW: Historie über pdf Ausdrucke anlegen.
27.03.2015 16:10:27
fcs
Hallo Mathias,
wenn du die Info zu Pfad und Datei nicht angezeigt werden soll, dann kannst du Label-Felder löschen. Die Textboxen werden im Code aber benötigt, wenn nicht der ganze Code umgeschrieben und alles über Variablen abgefahren werden soll. Verkleinere die Tectboxen, schiebe sie im Userform irgendwo an den Rand, wo sie nicht stören, und setze unter den Eigenschaften dieser Textboxen, den Visible-Status auf False.
Wenn du den Betreff teilen willst, dann musst du eine zusätzliche Combobox einfügen (Kopiere die für "Art") und ändere die Eigenschaft "RowSource", so dass die benötigten Auswahldaten in der Combobox zur Verfügung stehen.
In der Historie muss dann eine weitere Spalte eingefügt werden und das Makro, dass die Daten dort einträgt muss entsprechend angepasst werden.
Ist es noch möglich benutzerdefinierte Ansichten zusätzlich innerhalb des ausgewählten Tabellenblattes festzulegen?
Theoretisch: Ja. Alles, was vor der Anzeige des Userforms in den Tabellenblättern eingestellt ist, wird ja sowie übernommen. Wenn du aber erst im Userform zu den via "Art" ausgewählten Blättern zusätzlich ggf. eine benutzerdefinierte Ansicht auswählen willst, dann wird es kompliziert. Ich hab da auch nur wenig Erfahrungen mit, was denn funktioniert und was nicht. Da bräuchte ich auch mal eine Beispiedatei was dir da so vorschwebt.
Gruß
Franz

Anzeige
AW: Historie über pdf Ausdrucke anlegen.
31.03.2015 12:35:21
Matthias
Hallo danke für die Info.
Anbei mal deine Datei erweitert um zwei Tabellen Blätter Tabelle1 und Tabell2
wenn du nun auf Ansichten gehst dann auf Benutzdefinierte Ansichten sind zwei Ansichten definiert. Bei Tabelle2 eine Ansicht.
Ich möchte nun Aufgrund des Art des Ausdruckes nicht nur festlegen können welche Tabllenblätter was ja bereits sehr gut funktioniert sondern auf noch im Code vordefiniert haben, mit welcher Ansicht gedruckt wird.
Ich möchte hier Zeit und Fehler beim Ausdruck vermindern.
Verstehst du was ich meine?
Hast du hierzu einen Idee auch im Zusammenhang mit dem ersten Teil der Betreffzeile die auf eine Namenslist zugreift.?
Besten Dank ich Voraus für den tollen Ideen.
https://www.herber.de/bbs/user/96758.xlsm
Anzeige

Links zu Excel-Dialogen

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige