CALC - ReplaceByName mit Tabellenblättern möglich

Programmierung unter AOO/LO (StarBasic, Python, Java, ...)

Moderator: Moderatoren

theindless
*****
Beiträge: 355
Registriert: So, 09.05.2010 12:37

CALC - ReplaceByName mit Tabellenblättern möglich

Beitrag von theindless »

Hallo Miteinander,

ist es möglich mit der ReplaceByName-Methode ein Tabellenblatt durch ein anderes zu ersetzen?

Mein bisheriger Code:

Code: Alles auswählen

Sub Tabellenblatt_aendern																

Dim Spreadsheet As Object, Sheets As Object, SheetName As Object
Dim OldSheet As String, NewSheet As Object

Spreadsheet = ThisComponent
Sheets = Spreadsheet.Sheets
OldSheet = Inputbox("Altes Blatt? ")
NewSheet = Sheets.GetByIndex("Tabelle3")

Sheets.replaceByName(OldSheet, NewSheet)

End Sub
Prinzipiell wollte ich ein einzugebendes Tabellenblatt (Inputbox) durch das Tabellenblatt "Tabelle3" ersetzen bzw. in Erweiterung noch durch ein ebenfalls einzugebendes Tabellenblatt (Inputbox).

Danke für die Hilfe!

P.S.: Es ist eine Frage aus meinem Versuch Basic zu lernen. Bitte nicht versuchen, den Sinn zu begreifen! :)
Lernbegieriger Nutzer mit (hoffentlich) steigendem Wissen
theindless
*****
Beiträge: 355
Registriert: So, 09.05.2010 12:37

Re: CALC - ReplaceByName mit Tabellenblättern möglich

Beitrag von theindless »

Hallo,

nach nochmaligem Nachlesen bin ich zu dem Schluss gekommen, dass zumindest Oldsheet als Object deklariert werden muss.
Neuer Versuch funktioniert leider trotzdem nicht.

Code: Alles auswählen

Sub Tabellenblatt_aendern															

Dim Spreadsheet As Object, Sheets As Object, SheetName As String
Dim OldSheet As Object, NewSheet As Object

Spreadsheet = ThisComponent
Sheets = Spreadsheet.Sheets
SheetName = Inputbox("Altes Blatt? ") 
OldSheet = Sheets.GetByName(SheetName)
NewSheet = Sheets.GetByIndex(3)

Sheets.replaceByName(OldSheet, NewSheet)

End Sub
Fehlermeldung liegt in Zeile

Sheets.replaceByName(OldSheet, NewSheet)

"com.sun.star. lang.IllegalArgumentExceptionMessage"
Lernbegieriger Nutzer mit (hoffentlich) steigendem Wissen
Benutzeravatar
komma4
********
Beiträge: 5332
Registriert: Mi, 03.05.2006 23:29
Wohnort: Chon Buri Thailand Asia
Kontaktdaten:

Re: CALC - ReplaceByName mit Tabellenblättern möglich

Beitrag von komma4 »

theindless hat geschrieben:Bitte nicht versuchen, den Sinn zu begreifen! :)
Ah, ja.


Der Code ergibt deswegen keinen Sinn, da "Tabelle3" offensichtlich schon vorhanden ist.
Cheers
Winfried
aktuell: LO 5.3.5.2 30m0(Build:2) SUSE rpm, unter Linux openSuSE Leap 42.3 x86_64/KDE5
DateTime2 Einfügen von Datum/Zeit/Zeitstempel (als OOo Extension)
theindless
*****
Beiträge: 355
Registriert: So, 09.05.2010 12:37

Re: CALC - ReplaceByName mit Tabellenblättern möglich

Beitrag von theindless »

Hallo Winfried,

ich hatte glaub nen Denkfehler...
Gedanklich wollte ich den Inhalt der Blätter ersetzen, aber es geht ja um ganze Blätter.
Und da kann er logischerweise Tabelle 1 nicht mit Tabelle 3 der gleichen Datei ersetzen, weil Tabelle 3 dann 2 mal existieren würde.

Richtig? Oder wieder falsch gedacht?
Lernbegieriger Nutzer mit (hoffentlich) steigendem Wissen
Benutzeravatar
komma4
********
Beiträge: 5332
Registriert: Mi, 03.05.2006 23:29
Wohnort: Chon Buri Thailand Asia
Kontaktdaten:

Re: CALC - ReplaceByName mit Tabellenblättern möglich

Beitrag von komma4 »

Cheers
Winfried
aktuell: LO 5.3.5.2 30m0(Build:2) SUSE rpm, unter Linux openSuSE Leap 42.3 x86_64/KDE5
DateTime2 Einfügen von Datum/Zeit/Zeitstempel (als OOo Extension)
Antworten