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
Cheers Winfried
aktuell: LO 5.3.5.2 30m0(Build:2) SUSE rpm, unter Linux openSuSE Leap 42.3 x86_64/KDE5 DateTime2 Einfügen von Datum/Zeit/Zeitstempel (als OOo Extension)
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).
Cheers Winfried
aktuell: LO 5.3.5.2 30m0(Build:2) SUSE rpm, unter Linux openSuSE Leap 42.3 x86_64/KDE5 DateTime2 Einfügen von Datum/Zeit/Zeitstempel (als OOo Extension)
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.
Cheers Winfried
aktuell: LO 5.3.5.2 30m0(Build:2) SUSE rpm, unter Linux openSuSE Leap 42.3 x86_64/KDE5 DateTime2 Einfügen von Datum/Zeit/Zeitstempel (als OOo Extension)
' 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
Cheers Winfried
aktuell: LO 5.3.5.2 30m0(Build:2) SUSE rpm, unter Linux openSuSE Leap 42.3 x86_64/KDE5 DateTime2 Einfügen von Datum/Zeit/Zeitstempel (als OOo Extension)
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"
Cheers Winfried
aktuell: LO 5.3.5.2 30m0(Build:2) SUSE rpm, unter Linux openSuSE Leap 42.3 x86_64/KDE5 DateTime2 Einfügen von Datum/Zeit/Zeitstempel (als OOo Extension)
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
Cheers Winfried
aktuell: LO 5.3.5.2 30m0(Build:2) SUSE rpm, unter Linux openSuSE Leap 42.3 x86_64/KDE5 DateTime2 Einfügen von Datum/Zeit/Zeitstempel (als OOo Extension)