🙏 Helfen Sie jetzt 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. 🤗

nach sheets.removeByName Laufzeitfehler

CALC ist die Tabellenkalkulation, die Sie immer wollten.
Antworten
ReinerR
Beiträge: 10
Registriert: Mi 18. Sep 2024, 10:53

nach sheets.removeByName Laufzeitfehler

Beitrag von ReinerR » Mi 18. Sep 2024, 11:11

Hallo an alle,
so frisch angemeldet und ein absoluter Neuling in Macro Scripting,
habe aber jetzt schon 3 Monate hinter mir, und konnte mir immer helfen nur jetzt stosse ich an eine Grenze leider...
also zur Situation folgenden Code: in meinem Sript

Code: Alles auswählen

Sub Deleting_Sheets
	Dim Doc As Object, Sheets As Object, Sheet As Object
	Dim sheetName As String
	Dim i As Long 
	
	Doc = ThisComponent 
	Sheets = Doc.getSheets()
	
	For i = Sheets.getCount()-1 To 0 Step -1
		Sheet = Sheets.getByIndex(i)
	    sheetName = Sheet.Name
	  	  IF sheetName <> "Sheet1"	Then
  			Sheets.removeByName(sheetName)	
  		  End IF
	Next
End Sub
Bekomme ich ein Laufzeitfehler Es ist eine Ausnahme aufgetretten!

Ich habe das Objekt/Bib .removeByName mit verschieden Scrpts getestet es geht einfach nicht.
Ziel ist es, dass gesamte Tabellenblätter die den gleichen Namen haben, zu löschen.
Zuletzt geändert von ReinerR am Mi 18. Sep 2024, 11:50, insgesamt 1-mal geändert.

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

Re: nach sheets.removeByName Laufzeitfehler

Beitrag von mikele » Mi 18. Sep 2024, 11:39

Hallo und willkommen,
an sich funktioniert dein Makro. Ich vermute mal, der Fehler tritt auf, weil alle Tabellen gelöscht werden (wenn keines mit dem Namen "Sheet1" exisitiert.
Gruß,
mikele

ReinerR
Beiträge: 10
Registriert: Mi 18. Sep 2024, 10:53

Re: nach sheets.removeByName Laufzeitfehler

Beitrag von ReinerR » Mi 18. Sep 2024, 12:05

Das wäre schön, ich habe es mal mit der deutschen Version :D Tabelle1, probiert nö will nicht.
Zur Unterstützung ob die Bib überhaupt funktioniert en Breakp gesetzt und die Variable ausgelesen:
Bildschirmfoto vom 2024-09-18 11-59-39.png
Bildschirmfoto vom 2024-09-18 11-59-39.png (81.94 KiB) 2185 mal betrachtet
wunderbar das sind die sheets die gelöscht werden sollen... :?:
Der Laufzeitfehler kommt trotz alledem. Fehlt evtl. irgend ein Bib oder was muss ergänzt werden ?

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

Re: nach sheets.removeByName Laufzeitfehler

Beitrag von mikele » Mi 18. Sep 2024, 12:22

Hallo,
wie viele Tabellen hat deine Datei?
Kommt der Laufzeitfehler bei jedem Schleifendurchlauf? Bei welchem i kommt der Fehler?
Gruß,
mikele

ReinerR
Beiträge: 10
Registriert: Mi 18. Sep 2024, 10:53

Re: nach sheets.removeByName Laufzeitfehler

Beitrag von ReinerR » Mi 18. Sep 2024, 13:04

unmissable, also machen wir das mal ganz einfach simple is the best:
Bildschirmfoto vom 2024-09-18 13-03-14.png
Bildschirmfoto vom 2024-09-18 13-03-14.png (127.67 KiB) 2173 mal betrachtet
der Fehler taucht eben hier auf

ReinerR
Beiträge: 10
Registriert: Mi 18. Sep 2024, 10:53

Re: nach sheets.removeByName Laufzeitfehler

Beitrag von ReinerR » Mi 18. Sep 2024, 13:19

sodele evtl dann aber erst hier weiter denke ich :Dvielleich mache ich ja ein grundsätzlichen Fehler???

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

Re: nach sheets.removeByName Laufzeitfehler

Beitrag von mikele » Mi 18. Sep 2024, 13:50

Hallo,
was ich in der Abbildung sehe, sind eine Menge Dateien mit dem Namen DVD_zehn_min_wind.txt
Als Textdateien werden sie (in Calc) geöffnet nur eine einzige Tabelle beinhalten. Der Versuch diese einzige Tabelle zu löschen wird stets fehlschlagen.
vielleich mache ich ja ein grundsätzlichen Fehler???
Du versuchst die einzige Tabelle zu löschen die in der Datei existiert. Das geht nicht.
Gruß,
mikele

ReinerR
Beiträge: 10
Registriert: Mi 18. Sep 2024, 10:53

Re: nach sheets.removeByName Laufzeitfehler

Beitrag von ReinerR » Mi 18. Sep 2024, 15:19

Okay wann für welche Fälle geht den der scipt dann so?

Ich versuchs mal leihaften zu erklären, in welchem Zustand sich Office calc sich befindet.
Also ich befinde mich direkt nach dem öffnen auf der Datei Unbenannt1 oder eine Datei Test.odt mit leerer Tabelle1,
gehe zum meinen Macros unter Standart, dort liegt mein Modul das ich derzeit bearbeite, das ist ein ganz schöner Broken geworden. und führe ein Start in meiner ersten Funktion durch, alles funktionert exports; Grafiken anlegen; sowie speichern; aufrufen einer neuen Tabelle, füllen der Tabelle mit Werten eben diese ...Windxxx, zugriff über bash, auf meinem Server wirklich alles!
Ich sehe das so, dass man in einer Instanz arbeitet, die man auch ständig durch die Bib aufruft, warum soll dann eine gerade neu erstande Tabelle/sheet nicht zu löschen sein... da steige ich noch nicht dahinter? Das ist ja schließlich noch keine neue Datei entstanden sondern eine Instanz...?
Bildschirmfoto vom 2024-09-18 15-24-22.png
Bildschirmfoto vom 2024-09-18 15-24-22.png (62.94 KiB) 2143 mal betrachtet
mir kommt beim schreiben gerade ne Idee, ich suche mal nach den Dateien.. oder muss mann mindestens 2 Tabellenblätter in einer Instanz haben sonst haut man sich selber die Füsse weg beim remove :lol: ? dann baue ich das um muss ich eh wenn ich nicht weiterkomm..

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

Re: nach sheets.removeByName Laufzeitfehler

Beitrag von mikele » Mi 18. Sep 2024, 15:45

Hallo,
Das ist ja schließlich noch keine neue Datei entstanden
doch und diese Datei hat nur eine einzige Tabelle und die kann man nicht löschen.
Gruß,
mikele

ReinerR
Beiträge: 10
Registriert: Mi 18. Sep 2024, 10:53

Re: nach sheets.removeByName Laufzeitfehler

Beitrag von ReinerR » Mi 18. Sep 2024, 16:06

Ja nach testen ein bissel klar, ist den aber eine virtuelle Datei denn aufrufen aus z.B. den Dateibrowser geht dann noch nicht erst wenn ich diese Speicher- daher mein Gerede von Instanz aber gut.. (mit LabView wäre ich in drei Tagen fertig)
Aber wann geht den der erst genannte Code, also mit entstandener Datei und mehreren Arbeitsblättern/Tabellen/sheets oder?

so
Tabelle1/Tabelle2/Tabelle3 usw.
wobei sich Tab2 bis Tab3 löschen lassen oder??? (Tabelle1 bleibt intakt dabei)

Antwort nach Test ja nur dann gehts, was schade ist, als er wieder gerade war brach er ab was schade war :lol: !

so gelöst muss alles anders aufbauen so ein Mist, statt neu sheet; dann neue Tabelle in vorhandenen sheet/Datei anlegen; Daten importieren; rest bulk of work; dann Tabelle 2 löschen usw. Puh (echt wenn man schon mal was privat macht sowas von Arbeit) naja Danke für den Dialog @mikele


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