CALC - ReplaceByName mit Tabellenblättern möglich

Antwort erstellen


BBCode ist eingeschaltet
[img] ist ausgeschaltet
[url] ist eingeschaltet
Smileys sind ausgeschaltet

Die letzten Beiträge des Themas
   

Ansicht erweitern Die letzten Beiträge des Themas: CALC - ReplaceByName mit Tabellenblättern möglich

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

von komma4 » Fr, 23.03.2012 16:57

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

von theindless » Fr, 23.03.2012 16:37

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?

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

von komma4 » Fr, 23.03.2012 16:24

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


Der Code ergibt deswegen keinen Sinn, da "Tabelle3" offensichtlich schon vorhanden ist.

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

von theindless » Fr, 23.03.2012 14:24

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"

CALC - ReplaceByName mit Tabellenblättern möglich

von theindless » Fr, 23.03.2012 13:57

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! :)

Nach oben