Seite 1 von 1

Druckbereich nach Inhalt festlegen

Verfasst: Sa, 16.10.2004 20:54
von xeon
Hallo,

gibt es eine Einstellmöglichkeit in einer Openoffice Tabelle, wo man festegen kann, dass eine Zeile in einer Tabelle nur dann gedruckt wird wenn in einem Feld in der jenigen Zeile nicht leer ist. Die entsprechenden Zeilen befinden sich zwischen anderen Zeilen, die so oder so gedruckt werden müssen.

Oder lässt sich das mit einem Makro lösen, leider habe ich davon keine Ahnung.

Ich hoffe ihr könnt mir helfen

gruss
xeon

Verfasst: So, 24.10.2004 15:16
von xeon
Anonymous hat geschrieben: Aber da hast Du dann halt eine Leerzeile im Ausdruck.
Dann bin ich gleich weit wie vorher, das Ziel wäre schon, dass die zeile gar nicht erst gedruckt wird wenn in einer bestimmten Zelle der entsprechenden Zeile kein Text ist.
Man könnte das sicher mit einem Basic Script lösen, aber da weiss ich eben nicht wie.

gruss
xeon

Verfasst: Mo, 25.10.2004 14:08
von Stephan
Ich habe Dir ein kleines Makro geschrieben, was geeignet sein sollte. Du must es an Hand der Kommentare etwas anpassen.

Code: Alles auswählen

Sub ausblenden_einblenden
'die Spalte in welcher die zu prüfende Zelle steht
'hier eintragen. Spalte 1 (Spalte A) entspricht 0
vorgabe = 0
'die letzte zu prüfende Zeile hier eintragen
'Zeile 1 entspricht 0
max_zeile = 20
For x = 0 to max_zeile 
	If ThisComponent.Sheets.GetByName("Tabelle1").getCellByPosition(vorgabe, x).String = "" Then
		If ThisComponent.Sheets.GetByName("Tabelle1").Rows(x).isVisible = False Then
				ThisComponent.Sheets.GetByName("Tabelle1").Rows(x).isVisible = True
			Else
				ThisComponent.Sheets.GetByName("Tabelle1").Rows(x).isVisible = False
		End if
	End if 
Next x


Frage nach falls Du weitere Hilfe benötigst.

Gruß
Stephan

Verfasst: Mo, 25.10.2004 17:04
von xeon
Vielen dank, das funktioniert so!

Könnte man ev. noch einstellen, dass dieses makro direkt vor dem drucken ausgeführt wird für den ausdruck und danach nocheinmal um die zeilen wieder anzuzeigen? Oder geht das nur von hand?

gruss
xeon

Verfasst: Mo, 25.10.2004 18:16
von Stephan
Naja, im Prinzip schon. Allerdings gibt es nur das Ereignis "Ducken" und Du mußt für das Ereignis 'wurde gedruckt' das Ereignis "wurde geändert" verwenden, was jedoch nur nutzbar ist wenn unter Optionen eingestellt ist "drucken setzt geändert Status".
Du müßtest dann also vor jedem Drucken definitiv erst speichern, damit der 'Geändert-Status' auf false steht.
Ich könnte vorschlagen 'Datei direkt drucken' als makro aufzuzeichnen und dann an Anfang und Ende des Makros per Hand einen Aufruf meines Makros einzufügen, dann sollte das automatisch laufen.

Gruß
Stephan

Verfasst: Mo, 25.10.2004 20:09
von xeon
Es gibt doch auch so buttons in dokumenten, könnte man das nicht darüber realisieren?, in dem man auf den button klickt um zu drucken. als erstes würden dann die zeilen ausgeblendet, dann der druckauftrag gesendet und dann wieder die zeilen eingeblendet. während dieser zeit sollte wohl ein info fenster eingeblendet werden, damit keine sonstigen aktionen ausgeführt werden könnten.
leider hab ich keine ahnung wie man so einen button ins dokument bekommt.

Verfasst: Mo, 25.10.2004 21:00
von Stephan
Es gibt doch auch so buttons in dokumenten, könnte man das nicht darüber realisieren?
Ja, klar nur dachte ich gerade das sei nicht beabsichtigt.
leider hab ich keine ahnung wie man so einen button ins dokument bekommt.
Linke Fensterseite langer Klick auf Formularfunktionen und Fenster klappt raus, dieses an der Titelzeile auf den Arbeitsbereich ziehen.
In diesem Fenster mittels gleichnamiger Schaltfläche Bearbeitungsmodus aktivieren und dann mit der Schaltfläche 'Schaltfläche' einen Commandbutton auf das Blatt zeichnen und positionieren.
Den Button markieren und über das Kontextmenü den Eintrag "Kontrollfeld" aufrufen, dort unter Register Ereignisse das entsprechende Makro dem Ereignis "beim Auslösen" zuweisen.
Im ursprünglichen Fenster "Formularfunktionen" den Bearbeitungsmodus beeenden und das Fenster schließen.
Makro startet nun bei Klick auf Schaltfläche.
Da die Schaltfläche selbst wohl nicht mit gedruckt werden soll diese außerhalb des festgelegten Druckbereichs positionieren oder über Seite>Format -->Register Tabelle Zeichenobjekte deaktivieren.


Gruß
Stephan