Makro zum drucken, dass den Druckbereich dynamisch auswählt

Programmierung unter AOO/LO (StarBasic, Python, Java, ...)

Moderator: Moderatoren

F3K Total
********
Beiträge: 3724
Registriert: Mo, 28.02.2011 17:49

Re: Makro zum drucken, dass den Druckbereich dynamisch auswä

Beitrag von F3K Total »

Ein Ansatz wäre, pro Formular ein Tabellenblatt zu verwenden. Dann ist es auch mit den Makros deutlich einfacher.
R
Benutzeravatar
balu
********
Beiträge: 3812
Registriert: Fr, 24.08.2007 00:28
Wohnort: Warstein

Re: Makro zum drucken, dass den Druckbereich dynamisch auswä

Beitrag von balu »

Hallo Andi,

ich versteh hier mittlerweile gar nix mehr. Und das schon mal allein wegen der Tatsache das deine Beispieldatei keine Übereinstimmung mit deinem letzten Screenshot hat.

Erschwerend kommt hinzu das Du hier immer von Formularen sprichst, das ein bestimmter Zellbereich gedruckt werden soll, aber nirgends ist wirklich was davon zu sehen was für Daten sich in den Zellbereichen befindet. Das einzige was man zu gesichte bekommt, sind die Titel *Blattnummer*, *Benutzer1* und *Benutzer2*. Das mit den Dateinamen etc. lassen wir mal aussen vor.

Das alles ergibt zumindest für mich alles kein Sinn, da die "Formulare" absolut ohne leben sind, sie sind also Tot. Wie soll man dir eventuell gescheit helfen können, wenn wir hier es mit etwas leblosen zu tun haben?

Ich sehe auch keinen Sinn darin, aus dem Blatt mit den "Formularen", immer nur so einen winzig kleinen Bereich auszudrucken wollen. Und das wahrscheinlich auch noch auf DIN-A4, so etwas nenn ich Verschwendung ;-).

Aber Halt, Stop!!
Mir ist da grad eben in deinem Code etwas aufgefallen, was mich stutzig macht.

Code: Alles auswählen

        Dim aDruckbereich(0)
        oCalc = thisComponent
        osheets = oCalc.Sheets
        'vorhandene Druckbereiche löschen
        for i = 0 to osheets.count - 1
            osheet = oSheets(i)
            osheet.setPrintAreas(Array())
        next i
        osheet = thisComponent.currentcontroller.activesheet
[...]
Du hast also in der richtigen Datei mehrere Tabellenblätter mit Druckbereichen. Und diese löscht Du bevor das Aktive Blatt einen neuen Druckbereich zugeordnet bekommt um es anschließend als PDF auszudrucken. Jetzt versteh ich gar nix mehr. Was verbirgt sich in den anderen Tabellenblättern? Sollen diese auch gedruckt werden?


Ich finde es ist an der Zeit das Du endlich mal mit richtigen Fakten daherkommst.
Mach eine neue und gescheite Beispieldatei aus der man ersehen kann um was es wirklich geht. Ich will das einfach nicht glauben, das nur die paar Zellen aus dem einen Tabellenblatt mit den *Formularen* ausgedruckt werden sollen. Und wenn ja, was für Daten stehen da drin?

Falls es sich um Daten handelt die nicht für die Öffentlichkeit bestimmt sind, dann ersetze die durch andere, aber so das wir endlich verstehen was angesagt ist.

Erzähl mal mehr von der Datei, um was geht es da?



Es grüßt ein total verwirrter :roll:
balu
Sei öfter mal ein Faultier, sag öfter mal "Ach was!" Dann kriegst du keinen Herzinfarkt, und hast ne menge Spass.

wehr rächtschraipfähler findet khan si behalden :D
AndiO
Beiträge: 9
Registriert: Fr, 01.11.2013 17:36

Re: Makro zum drucken, dass den Druckbereich dynamisch auswä

Beitrag von AndiO »

Hallo,

ich hab jetzt echt lange rum probiert, ständig kommen aber irgend welche Fehler. Daher starte ich noch einen Versuch.

Ich hab versucht, die beiden Lösungen zusammen zu bringen. Die Idee war, dass ich den zweiten Vorschlag als Grundlage nehme. Anstatt, dass man nun in die Kopfzeile klicken muss, um die Daten für den Printbereich bzw. den PDF-Namen auszulesen, wollte ich es mit den Zusatzinformationen versuchen, wie oben beschrieben:
F3K Total hat geschrieben:
  • Auf dem Reiter Allgemein der Eigenschaften der Buttons findest Du unten Zusatzinformation.
  • Trage hier auf jedem Drucken-Button den jeweiligen Druckbereich z.B. A1:E5
  • und auf jedem PDF-Button den jeweiligen Druckbereich z.B. A1:E5,gefolgt von einem , (Komma) und dann den Dateinamen ein:
    tag.png
Nur welche Stellen muss ich da austauschen?
Allerdings möchte ich nicht den tatsächlichen Druckbereich bzw. den PDF-Namen dort eintragen, sondern hier eben auf die entsprechende Zelle verweisen, wo dieser Wert drin steht, aber selbst das hat nicht funktioniert (ich habe unter Zusatzinformationen dann E2 bzw. D2 eingetragen).

Wäre schön, wenn mir doch noch jemand weiter hilft, ich habe nämlich gemerkt, dass Makros und ich wohl keine Freunde mehr werden :)

Vielen Dank!
Antworten