Seite 1 von 1
nach sheets.removeByName Laufzeitfehler
Verfasst: Mi 18. Sep 2024, 11:11
von ReinerR
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.
Re: nach sheets.removeByName Laufzeitfehler
Verfasst: Mi 18. Sep 2024, 11:39
von mikele
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.
Re: nach sheets.removeByName Laufzeitfehler
Verfasst: Mi 18. Sep 2024, 12:05
von ReinerR
Das wäre schön, ich habe es mal mit der deutschen Version

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 (81.94 KiB) 2186 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 ?
Re: nach sheets.removeByName Laufzeitfehler
Verfasst: Mi 18. Sep 2024, 12:22
von mikele
Hallo,
wie viele Tabellen hat deine Datei?
Kommt der Laufzeitfehler bei jedem Schleifendurchlauf? Bei welchem i kommt der Fehler?
Re: nach sheets.removeByName Laufzeitfehler
Verfasst: Mi 18. Sep 2024, 13:04
von ReinerR
unmissable, also machen wir das mal ganz einfach simple is the best:

- Bildschirmfoto vom 2024-09-18 13-03-14.png (127.67 KiB) 2174 mal betrachtet
der Fehler taucht eben hier auf
Re: nach sheets.removeByName Laufzeitfehler
Verfasst: Mi 18. Sep 2024, 13:19
von ReinerR
sodele evtl dann aber erst hier weiter denke ich :Dvielleich mache ich ja ein grundsätzlichen Fehler???
Re: nach sheets.removeByName Laufzeitfehler
Verfasst: Mi 18. Sep 2024, 13:50
von mikele
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.
Re: nach sheets.removeByName Laufzeitfehler
Verfasst: Mi 18. Sep 2024, 15:19
von ReinerR
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 (62.94 KiB) 2144 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

? dann baue ich das um muss ich eh wenn ich nicht weiterkomm..
Re: nach sheets.removeByName Laufzeitfehler
Verfasst: Mi 18. Sep 2024, 15:45
von mikele
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.
Re: nach sheets.removeByName Laufzeitfehler
Verfasst: Mi 18. Sep 2024, 16:06
von ReinerR
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

!
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