🍀 Das LibreOffice Forum braucht HEUTE Ihre Hilfe! 🍀
❤️ Spenden Sie jetzt und sichern Sie die Zukunft unseres LibreOffice-Forums ❤️
Ihre Spende hilft, die Community offen, werbefrei (bei Registrierung) und lebendig zu halten. Vielen lieben Dank!

🙏 DANKE >> << DANKE 🙏

>> Das LibreOffice-Forum lebt von Ihnen – und von vielen Experten, die freiwillig und kostenlos ihr Wissen teilen.<<
Als Dankeschön werden Sie im Forum als LO-SUPPORTER gekennzeichnet.

LibreOffice Basic

Alles zur Programmierung im LibreOffice.
Antworten
Trudchen
Beiträge: 7
Registriert: Mo 16. Apr 2018, 14:20

LibreOffice Basic

Beitrag von Trudchen » Do 13. Jun 2024, 18:38

Moin moin,
ich versuche erfolglos, mittels LibreOffice (6.4) Basic (LO-Basic) eine Zeile in Calc zu löschen. Als prinzipielles Beispiel:
Ich habe nur 1 Tabellenblatt und 5 belegte, lückenlose Zeilen. Ich will die Zeile 3 löschen. Da ich im Netz rein gar nichts dazu gefunden habe, auch nicht in der LibreOffice Hilfe für Basic, auch nicht in der Analyse einer Makro-Aufzeichnung, brauche ich eure Hilfe. Ich habe versucht, den VBA-Befehl dazu zu verwenden – geht nicht. Könnte mir jemand meinen Code so korrigieren, dass ich damit eine Zeile löschen kann und mir vielleicht kurz erläutern, was an meinem Code falsch oder verbesserungsfähig ist. Für jede noch so kleine Hilfe bedanke ich mich vielfach im voraus:
Option Explicit
Option VBASupport 1
sub ZeileLoeschen()
dim doc as object
dim sheet as object
dim row as object
doc = ThisComponent
sheet = doc.sheets(0)
row = row(4)
row.Delete
end sub

mikele
* LO-Experte *
Beiträge: 2046
Registriert: Mo 1. Aug 2011, 20:51

Re: LibreOffice Basic

Beitrag von mikele » Do 13. Jun 2024, 22:12

Gruß,
mikele

F3K Total
* LO-Experte *
Beiträge: 2515
Registriert: So 10. Apr 2011, 10:10

Re: LibreOffice Basic

Beitrag von F3K Total » Fr 14. Jun 2024, 14:17

mikele hat geschrieben:
Do 13. Jun 2024, 22:12
guggst du hier:
... und dann verstehst du vermutlich diesen Code:

Code: Alles auswählen

sub ZeileLoeschen()
    dim doc as object
    dim sheet as object
    dim rows as object
    doc = ThisComponent
    sheet = doc.sheets(0)'Tabellenblatt 1
    rows = sheet.rows
    rows.removeByIndex(2,1)'( nIndex as long, nCount as long ) der Index von Zeile 1 = 0, Zeile 2 = 1, Zeile 3 = 2 usw., nCount ist die Anzahl der Zeilen ab hier, also eine Zeile wird gelöscht -> removeByIndex(2,1)
end sub
Gruß R
Windows 11: AOO, LO Linux Mint: AOO, LO

Trudchen
Beiträge: 7
Registriert: Mo 16. Apr 2018, 14:20

Re: LibreOffice Basic

Beitrag von Trudchen » Fr 14. Jun 2024, 16:19

Danke für die Hilfe bis hierher, aber der Code funzt noch immer nicht. Bei der Zeile sheet=doc.sheet(0) erscheint die Fehlermeldung: Laufzeitfehler 423 - (Eigenschaft oder Methode nicht gefunden).Mein Code sieht bisher so aus:
Option Explicit
Option VBASupport 1
sub ZeileLoeschen()
' MsgBox " Funktioniert nicht!"
dim doc as object
dim sheet as object
dim rows as object
doc = ThisComponent
sheet = doc.sheets(0)
rows = sheets.rows ' Laufzeitfehler 423 - (Eigenschaft oder Methode nicht gefunden)
rows.removeByIndex(4,1)
end sub

Benutzeravatar
karolus
* LO-Experte *
Beiträge: 2712
Registriert: Fr 10. Dez 2010, 10:01

Re: LibreOffice Basic

Beitrag von karolus » Fr 14. Jun 2024, 16:41

Hallo

rows = sheets.rows

Das rote s kannst du weglassen!
LO25.2.x.y debian 13(trixie) auf Raspberry5 8GB (64bit)
LO25.8.x.y flatpak debian 13(trixie) auf Raspberry5 8GB (64bit)

Trudchen
Beiträge: 7
Registriert: Mo 16. Apr 2018, 14:20

Re: LibreOffice Basic

Beitrag von Trudchen » Fr 14. Jun 2024, 20:14

Juchuuuuuuuu! Es funktioniert. Vielen herzlichen Dank an Karolus und alle anderen, die sich die Mühe gemacht haben, einem Greenhorn auf die Hufe zu helfen. Ich hoffe, ich werde auch ein Mal so kompetent wie ihr und kann dann vielleicht auch anderen helfen. Nochmals vielen Dank!
Trudchen


An alle, die das LibreOffice-Forum gern nutzen:
Bitte beteiligen Sie sich mit 7 Euro pro Monat und helfen uns bei unserem Budget für das laufende.
Einfach per Kreditkarte oder PayPal. Als Dankeschön werden Sie im Forum als LO-SUPPORTER gekennzeichnet.



❤️ Vielen lieben Dank für Ihre Unterstützung ❤️

Antworten