String verschieben

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

Moderator: Moderatoren

klaus_harrer
Beiträge: 7
Registriert: Mi, 18.02.2004 21:15
Wohnort: Berlin
Kontaktdaten:

String verschieben

Beitrag von klaus_harrer »

Hallo

Ich bin nicht gerade eine Talent in Scriptsprachen .

Ich habe eine Sub erstellt die Datum ausliest(Mo-Fr) und den Ort.
Ich habe ein neues Tabellenblatt hinzugefügt. In den alle Daten die ausgelesen wurden eingetragen werden sollen

Code: Alles auswählen

Sub Steuern
Dim oDocument, oSheet, oCell, oCell1, oDate, oDate1, oOrt, oTabellenBlatt, oZelle(3), oCellBereich  as Object
Dim Zelle0 as Integer
Zelle0 = 2
oDocument=ThisComponent
oSheet=oDocument.Sheets(0)
oCell=oSheet.GetCellByPosition(3,Zelle0)
'Tabellenblatt erzeugen
If Not oDocument.Sheets.hasbyName("Steuern") Then
oDocument.Sheets.insertNewByName("Steuern", 3)
oTabellenBlatt = oDocument.Sheets(3)
'Tabellenzellen  Text formatieren
oZelle(0) = oTabellenBlatt.GetCellByPosition(0,0)
oZelle(1) = oTabellenBlatt.GetCellByPosition(2,0)
oZelle(2) = oTabellenBlatt.GetCellByPosition(4,0)
oZelle(3) = oTabellenBlatt.GetCellByPosition(6,0)
oCellBereich = oTabellenBlatt.getCellRangeByName("A1:G10")
oCellBereich.CharHeight = 10
oCellBereich.HoriJustify = com.sun.star.table.CellHoriJustify.CENTER
oZelle(0).String = "Von"
oZelle(1).String = "Bis"
oZelle(2).String = "Baustelle"
oZelle(3).String = "Stunden"
End If
Sprungmarke:
oCell1=oSheet.GetCellByPosition(3,Zelle0 + 1)
oDate =oSheet.GetCellByPosition(0,Zelle0)
oOrt =oSheet.GetCellByPosition(3,Zelle0)
REM *****  Ende Variablendefinition ******
If Len(oDate.String) <> 0 Then
While oCell.String <> oCell1.String
oCell=oSheet.GetCellByPosition(3,Zelle0)
oCell1=oSheet.GetCellByPosition(3,Zelle0 + 1)
oDate =oSheet.GetCellByPosition(0,Zelle0)
-->Print oDate.String<--
Zelle0 = Zelle0 + 1
While Len(oCell1.String) = 0 
oCell=oSheet.GetCellByPosition(3,Zelle0)
oCell1=oSheet.GetCellByPosition(3,Zelle0 + 1)
Zelle0 = Zelle0 + 1
Wend
Goto Sprungmarke
Wend
While oCell.String = oCell1.String
oCell=oSheet.GetCellByPosition(3,Zelle0)
oDate =oSheet.GetCellByPosition(0,Zelle0)
Zelle0 = Zelle0 + 1
While Len(oCell1.String) = 0 
oCell=oSheet.GetCellByPosition(3,Zelle0)
oCell1=oSheet.GetCellByPosition(3,Zelle0 + 1)
Zelle0 = Zelle0 + 1
Wend
Goto Sprungmarke
Wend 
End If
End Sub

Ist für einen Profi bestimmt ein wirrer Code.
Der --> <-- gekennzeichnete Code soll in das Tabellenblatt(3) eingetragen werden.

Kann ich den String(oDate.String) in oZelle(0).String verschieben?

MfG
Klaus
openmind
****
Beiträge: 184
Registriert: So, 29.06.2003 15:00
Wohnort: Schweiz

Beitrag von openmind »

Ich bin nicht ganz sicher, ob ich dich richtig verstanden habe. Du willst den Wert der Zellen eines Tabellenblattes in eine Zelle eines anderen Blattes verschieben? Das wäre dann nichts anderes als Wert kopieren und danach die Quellzelle löschen.

Code: Alles auswählen

oDocument.Sheets(1).getCellByPosition( 0, 0).String = oDocument.Sheets(0).getCellByName( 0,0 ).String 

oDocument.Sheets(0).getCellByName( 0,0 ).String  = ""
bzw. mit deinen Variablen

Code: Alles auswählen

oZelle(0).String = oDate.String
oDate.String = ""
[/code]
Meine Installation: AMD Athlon XP 1600+, 512 MB RAM, SuSE Linux 8.2, OpenOffice 1.1
Kostenlose OOo-CD in der Schweiz: http://www.office-cd.ch/
Antworten