Zeilen ausblenden per makro

Antwort erstellen


BBCode ist eingeschaltet
[img] ist ausgeschaltet
[url] ist eingeschaltet
Smileys sind ausgeschaltet

Die letzten Beiträge des Themas
   

Ansicht erweitern Die letzten Beiträge des Themas: Zeilen ausblenden per makro

Re: Zeilen ausblenden per makro

von komma4 » Do, 13.11.2008 19:22

Bei Makros gibt es keine Schönheitspreis ... wenn's funktioniert...

Viel Spass noch mit OOo!

Re: Zeilen ausblenden per makro

von komma4 » Do, 13.11.2008 17:23

Na, etwa so:

Code: Alles auswählen

sFormel = "=sum<table8.E1:E" & Evariable & ">"
ThisComponent.getTextTables().getByName( "Tabelle8").getCellByPosition( spalte, zeile ).Formula = sFormel
spalte, zeile weisst nur Du

Re: Zeilen ausblenden per makro

von komma4 » Do, 13.11.2008 15:35

MFG hat geschrieben:mehr und in der gesamt-zelle steht: =sum<Table8.C1:?> und damit kanner nich rechnen
Dann erstelle die Formel neu und setze sie in die Zelle: die Gesamtanzahl von Zeilen nach dem Löschen bekommst Du wieder über oTxtTab.Rows.getCount()

Re: Zeilen ausblenden per makro

von komma4 » Do, 13.11.2008 10:43

Im zuletzt kopierten Codefragment fehlte die Zuweisung, korrekt wäre gewesen:

Code: Alles auswählen

oDokPageStyles = _
   ThisComponent.getStyleFamilies().getByName( "PageStyles" )

Zu Deiner letzten Frage: follow the link in meinem footer, dann solltest Du das auch rausfinden können :-)

Re: Zeilen ausblenden per makro

von komma4 » Mi, 12.11.2008 23:13

Der Makro-Recorder zeichnet unvollständig auf...!

In Abwandlung des Makros zum Setzen einer Hintergrundgrafik, hier die Version zum Entfernen solcher Grafiken:

Code: Alles auswählen

    ThisComponent.getStyleFamilies().getByName( "PageStyles" )

    for i = 0 to oDokPageStyles.Count - 1
       oStyle = oDokPageStyles.getByIndex( i )
       if oStyle.isInUse() then
          if oStyle.BackGraphicURL > "" Then
             oStyle.BackGraphicURL = ""
          end if     
       end if
    next

Re: Zeilen ausblenden per makro

von Karolus » Mi, 12.11.2008 17:42

Hallo
Trag einfach in einem der 4 subs die Namen der anderen 3 an passender Stelle ein.
(Ein Name pro Zeile)
Gruß Karo

Re: Zeilen ausblenden per makro

von komma4 » Mi, 12.11.2008 15:02

MFG hat geschrieben:dann das dokument geschlossen wird, ohne speichern und ohne nachfrage, ob das nun geänderte dokument nochmal gespeichert werden soll
Schliessen ohne Nachfrage
ThisComponent.dispose()

Ein Kollege meinte gerade, dass sei hässlich, besser wäre:
ThisComponent.Modified = FALSE
ThisComponent.Close( TRUE )


Ein Unterschied habe ich bislang nicht feststellen können.


Mit "MUSTER" meinst Du: Wasserzeichen? Siehe den zuvor geposteten Link zum "Makro Wasserzeichen"

Re: Zeilen ausblenden per makro

von komma4 » Mi, 12.11.2008 13:52

MFG hat geschrieben:nur hab ich schon wie nen blöder gesucht, aber kein makro zum pdf erzeugen gefunden
???
Nach was suchst Du denn? PDF und EXPORT als Suchbegriffe hier im Forum ergibt schon 41 Treffer, bspw. Makro Wasserzeichen

Re: Zeilen ausblenden per makro

von komma4 » Mi, 12.11.2008 12:41

Die Checkboxen haben eine Eigenschaft "Drucken", die auf NEIN gesetzt werden kann (im Entwurfsmodus).


.
.
.
.
.
.
.
.
.
.
Ja, das musst Du nicht bei allen nachträglich ändern, sondern Du kannst es auch per Makro setzen:

Code: Alles auswählen

' 2008-11-12
Sub de20775

' alle Kontrollelemente sind in einer Form einer DrawPage
oForm = ThisComponent.Drawpage.Forms(0)

' alle Namen der Kontrollelemente
aNamen = oForm.ElementNames() 

' alle bearbeiten
For i = 0 to UBound( aNamen() )
   oForm.getByName( aNamen( i ) ).Printable = FALSE  
Next i 

End Sub

Re: Zeilen ausblenden per makro

von komma4 » Mi, 12.11.2008 10:21

Das i ist der Zähler der Schleife: gesetzt durch die Anzahl der Zeilen, in der Schleife (da als Index gebraucht) um eins vermindert. Die Schleife selbst zählt rückwärts, damit der Zeiger sonst (aufwärts gezählt) nach einem Löschen durcheinander kommt.

Und bei meinen Tests werden nur die Zeilen gelöscht, die eine Null in SpalteA haben (gesetzt durch Umschalten der Checkboxen).

Du könntest das Löschen-Makro beim Dokument dann (wenn es auch bei Dir funktioniert) an das Extras>Anpassen>Ereignis Dokument drucken hängen.

Re: Zeilen ausblenden per makro

von komma4 » Mi, 12.11.2008 10:06

Es gibt bei einer Texttabelle kein "Ausblenden" von Zeilen.

Ich habe den Verdacht, dass irgendwie Dein Design "nicht das Wahre" ist.

Verstanden habe ich, dass Du Positionen anhand der Checkboxen auf eins setzen möchtest. Zum Ausdrucken (PDF-Export) sollen dann die Zeilen mit "Menge = 0" verschwinden. Das leistet das zuletzt gepostete Makro - rufe es vor Druck/PDF-Export auf. Eine Automatik mit Ein-/Ausblenden von Zeilen geht nur mit einem erhöhten Aufwand. Und: die Schaltflächen "wissen" nichts von ihrer Positionierung in einer Tabelle (kein Bezug zur Zeile).

Re: Zeilen ausblenden per makro

von komma4 » Di, 11.11.2008 18:28

Hilft Dir das?

Code: Alles auswählen

Sub loescheTxtTabZeileWennSpalteA0

oTxtTab = ThisComponent.getTextTables().getByName( "Tabelle7" )

For i = oTxtTab.Rows.Count to 1 Step -1

	If oTxtTab.getCellByPosition( 0, i-1 ).Value = 0 Then
	   oTxtTab.getRows().removeByIndex( i-1, 1 )
	End If

Next i

End Sub

Nach oben