Hallo Andreas,
ich habe eben Deine Testdatei heruntergeladen und das Makro manuell
gestartet
[Extras]>[Makros]>[Makro ausführen]: + test-zeile-einfügen.ods +Standard
+Module1 => InsertRow
und es macht genau das, was es soll.
Der Makro-Code ist völlig in Ordnung.
Ich sende Dir den Makro-Code als Dateianhang (InsertRow.txt) mit einer
2. Mail an Deine private Mail-Adresse, dann kannst Du selbst
vergleichen.
| Zum Code:
| Gibt es denn wirklich keine einfachere Möglichkeit?
| "Gehe zum Anfang der Tabelle"
| "Gehe eine Zeile nach unten"
| "Füge eine Zeile oberhalb ein"
Genau das macht diese eine Code-Zeile im Makro:
oRow.insertByIndex(iRowIns,1)
"iRowIns": Die Zeilennummer der einzufügenden Zeile.
Im Makro hat iRowIns den Wert 1. Das heißt, es wird nach der Zeile mit
dem Index 0 (das ist die erste Zeile der Tabelle) eine Zeile eingefügt.
"1": Das ist die Anzahl der einzufügenden Zeilen.
Nach dem Einfügen haben die Zellen der eingefügten Zeile (automatisch)
die Eigenschaften der Zellen der Zeile darüber (Deine
Überschriftszeile). Damit sie die Eigenschaften der Zellen der Zeile
unter der eingefügten Zeile haben, sind die Aktionen in der Schleife
notwendig.
Gruß
Hans-Werner
Sub InsertRow
' A c h t u n g
' iColMax muss an die Anzahl Spalten der aktuellen Tabelle angepasst
werden:
' iColMax = 'Anzahl Spalten' - 1
' Der Spalten-Index beginnt bei 0, weswegen man von der 'Anzahl
Spalten' 1
' abziehen muss.
Dim oDoc as Object ' object Document
Dim oSheet as Object ' object Sheet
Dim oRow as Object ' object Row
Dim iCol as Long ' index Column (i=0 => 1st Column)
Dim iColMax as Long ' index Column Maximum
Dim iRowIns as Long ' index Row Insert (i=0 => 1st Row )
oDoc = ThisComponent
oSheet = oDoc.Sheets(0)
oRow = oSheet.getRows
iRowIns = 1
iColMax = 4
' Zeile einfügen:
oRow.insertByIndex(iRowIns,1)
For iCol=0 To iColMax Step 1
' Zell-Typ übernehmen:
oSheet.getCellByPosition(iCol,iRowIns).NumberFormat =
oSheet.getCellByPosition(iCol,iRowIns+1).NumberFormat
' Zell-Inhalt Schriftattribut "Name" übernehmen:
oSheet.getCellByPosition(iCol,iRowIns).CharFontName =
oSheet.getCellByPosition(iCol,iRowIns+1).CharFontName
' Zell-Inhalt Schriftattribut "Größe" übernehmen:
oSheet.getCellByPosition(iCol,iRowIns).CharHeight =
oSheet.getCellByPosition(iCol,iRowIns+1).CharHeight
' Zell-Inhalt Schriftattribut "Farbe" übernehmen:
oSheet.getCellByPosition(iCol,iRowIns).CharColor =
oSheet.getCellByPosition(iCol,iRowIns+1).CharColor
' Zell-Inhalt Schriftattribut "fett" übernehmen:
oSheet.getCellByPosition(iCol,iRowIns).CharWeight =
oSheet.getCellByPosition(iCol,iRowIns+1).CharWeight
' Zell-Inhalt Schriftattribut "kursiv" übernehmen:
oSheet.getCellByPosition(iCol,iRowIns).CharPosture =
oSheet.getCellByPosition(iCol,iRowIns+1).CharPosture
' Zell-Hintergrund "Farbe" übernehmen:
oSheet.getCellByPosition(iCol,iRowIns).CellBackColor =
oSheet.getCellByPosition(iCol,iRowIns+1).CellBackColor
' Zell-Inhalt "vertikale Ausrichtung" übernehmen:
oSheet.getCellByPosition(iCol,iRowIns).VertJustify =
oSheet.getCellByPosition(iCol,iRowIns+1).VertJustify
' Zell-Inhalt "horizontale Ausrichtung" übernehmen:
oSheet.getCellByPosition(iCol,iRowIns).HoriJustify =
oSheet.getCellByPosition(iCol,iRowIns+1).HoriJustify
Next iCol
End Sub
--
Liste abmelden mit E-Mail an: users+unsubscribe@de.libreoffice.org
Probleme? https://de.libreoffice.org/hilfe-kontakt/mailing-listen/abmeldung-liste/
Tipps zu Listenmails: https://wiki.documentfoundation.org/Netiquette/de
Listenarchiv: https://listarchives.libreoffice.org/de/users/
Datenschutzerklärung: https://www.documentfoundation.org/privacy
Context
- [de-users] Re: Calc: Neue Zeile direkt unter Spaltenüberschrift-Zeile einfuegen · OoOHWHOoO
Privacy Policy |
Impressum (Legal Info) |
Copyright information: Unless otherwise specified, all text and images
on this website are licensed under the
Creative Commons Attribution-Share Alike 3.0 License.
This does not include the source code of LibreOffice, which is
licensed under the Mozilla Public License (
MPLv2).
"LibreOffice" and "The Document Foundation" are
registered trademarks of their corresponding registered owners or are
in actual use as trademarks in one or more countries. Their respective
logos and icons are also subject to international copyright laws. Use
thereof is explained in our
trademark policy.