Druckbereich nach Inhalt festlegen

Das Tabellenkalkulationsprogramm

Moderator: Moderatoren

xeon
Beiträge: 4
Registriert: Sa, 16.10.2004 20:49

Druckbereich nach Inhalt festlegen

Beitrag 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
xeon
Beiträge: 4
Registriert: Sa, 16.10.2004 20:49

Beitrag 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
Stephan
********
Beiträge: 12368
Registriert: Mi, 30.06.2004 19:36
Wohnort: nahe Berlin

Beitrag 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
xeon
Beiträge: 4
Registriert: Sa, 16.10.2004 20:49

Beitrag 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
Stephan
********
Beiträge: 12368
Registriert: Mi, 30.06.2004 19:36
Wohnort: nahe Berlin

Beitrag 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
xeon
Beiträge: 4
Registriert: Sa, 16.10.2004 20:49

Beitrag 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.
Stephan
********
Beiträge: 12368
Registriert: Mi, 30.06.2004 19:36
Wohnort: nahe Berlin

Beitrag 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
Antworten