🙏 Helfen Sie mit, unser LibreOffice Forum zu erhalten! 🙏
Mit Ihrer Spende sichern Sie den Fortbestand, den Ausbau und die laufenden Kosten dieses Forums. 🌱

🍀 Jeder Beitrag zählt – vielen Dank für Ihre Unterstützung!🍀

❤️ DANKE >> << DANKE ❤️

>> Dank Ihrer Unterstützung -> Keine Werbung für alle registrierten LibreOffice-Forum User! <<
🤗 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: 1929
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: 2501
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: 2533
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!
LO7.4.7.5 debian 12(bookworm) auf Raspberry4b 8GB (64bit)
LO24.8.0.3 flatpak debian 12(bookworm) auf Raspberry4b 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 und unterstützen wollen:


Bitte helfen Sie uns mit 7 Euro pro Monat.
Durch Ihren Beitrag tragen Sie dazu bei, unsere laufenden Kosten für die kommenden Monate zu decken.
Unkompliziert per Kreditkarte oder PayPal.
Als ein kleines Dankeschön werden Sie im LO-Forum als SUPPORTER gekennzeichnet.



Antworten