Inhalt eine Zelle auslesen und einen Text anhängen

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

Moderator: Moderatoren

Markus195
*
Beiträge: 18
Registriert: So, 20.04.2008 19:23
Kontaktdaten:

Inhalt eine Zelle auslesen und einen Text anhängen

Beitrag von Markus195 » Mi, 06.10.2010 12:01

Hallo,

benutze OOo 3.2.1 und suche eine Funktion damit ich den Text in der Zelle auslesen auf der gerade der Cousor steht den Wert ausliest von und nach den String einen Text dazu kopiert und wieder in die Zelle ausliest und da ganze per Tastenkürzel aufrufbar ist.

ich hock schon eine ganze Weile davor und finde nur Anleitung in der eine bestimmte Zelle ausgeklesen wird.
oZelle = ThisComponent.Sheets(0).getCellByPosition( 0, 0 )

aber ich möchte die aktuelle Zelle auslesen.

ich hab es bisjetzt so probiert aber irgendwie zeigt der Befehl InsertText keine Funktion

Code: Alles auswählen

dispatcher.executeDispatch(document, ".uno:SetInputMode", "", 0, Array())

 rem (11) Press Home to move the cursor to the start of the line.
 dispatcher.executeDispatch(document, ".uno:GoToStartOfLine", "", 0, Array())


 rem (4) Press Tab to add the tab without the space after the constant name.
 dim args4(0) as new com.sun.star.beans.PropertyValue
 args4(0).Name = "Text"
 args4(0).Value = "<text>"
 
 dispatcher.executeDispatch(document, ".uno:InsertText", "", 0, args4())
Zuletzt geändert von Markus195 am Mi, 06.10.2010 13:09, insgesamt 1-mal geändert.
Mein Verein: FC Schloßberg
Meine Homepage

mumpel
****
Beiträge: 133
Registriert: So, 22.08.2004 05:27
Wohnort: Lindau (B)
Kontaktdaten:

Re: Inhalt eine Zelle auslesen und einen Text anhängen

Beitrag von mumpel » Mi, 06.10.2010 12:48

Hallo!

Zum Beispiel: StarDesktop.CurrentComponent.CurrentSelection().String

Gruß, René

Windows 7 Home Premium (auf Acer Desktop PC)
Windows 8 Professional (auf Microsoft Surface Pro 3).
MSO 365 Home Premium
LibreOffice 4.2.
F-Secure Internet Security

clag
********
Beiträge: 3547
Registriert: Di, 27.01.2009 15:30

Re: Inhalt eine Zelle auslesen und einen Text anhängen

Beitrag von clag » Mi, 06.10.2010 12:49

Hallo Markus195,

deine Frage finde ich zwar etwas verwirrend,
trotzdem habe ich einmal versucht deine Wunsch in Code umzusetzen

Code: Alles auswählen

Sub addtext
    oDoc = thisComponent
    oZelle = oDoc.getCurrentSelection()
    chkcell = HasUnoInterfaces( oZelle, "com.sun.star.table.XCell" )
    if chkcell then
    myString = oDoc.CurrentSelection().string
    mystring = " Zusatztext davor >" & myString & "< Zusatztext dahinter "
    oDoc.CurrentSelection().string = myString
    else
    msgbox "mit einem Bereich funktioniert das nicht"
    end if
exit sub
meintest du das so ?
LG
clag

nutzt: WinXP SP3 / AOO 4.1.2 / Firefox

mumpel
****
Beiträge: 133
Registriert: So, 22.08.2004 05:27
Wohnort: Lindau (B)
Kontaktdaten:

Re: Inhalt eine Zelle auslesen und einen Text anhängen

Beitrag von mumpel » Mi, 06.10.2010 12:56

Noch einfacher geht es mit VBA-Unterstützung. Für den Fall das eine einfache Lösung bevorzugt wird.

Code: Alles auswählen

Option VBASupport 1 'Diese Zeile am Anfang des Moduls

Sub Auslesen()
MsgBox ActiveCell.Value
End Sub

Code: Alles auswählen

Option VBASupport 1 'Diese Zeile am Anfang des Moduls

Sub Auslesen()
ActiveCell.Value = "Zusatz " & ActiveCell.Value & " Text"
End Sub

Windows 7 Home Premium (auf Acer Desktop PC)
Windows 8 Professional (auf Microsoft Surface Pro 3).
MSO 365 Home Premium
LibreOffice 4.2.
F-Secure Internet Security

Markus195
*
Beiträge: 18
Registriert: So, 20.04.2008 19:23
Kontaktdaten:

Re: Inhalt eine Zelle auslesen und einen Text anhängen

Beitrag von Markus195 » Mi, 06.10.2010 13:22

Danke, die VBA Lösung funktioniert,

gibt es noch ein Befehl der die nächste Zelle unten auswählt?
Zuletzt geändert von Markus195 am Mi, 06.10.2010 13:35, insgesamt 1-mal geändert.
Mein Verein: FC Schloßberg
Meine Homepage

bst
*****
Beiträge: 222
Registriert: Mo, 18.01.2010 16:14
Wohnort: Ilsfeld

Re: Inhalt eine Zelle auslesen und einen Text anhängen

Beitrag von bst » Mi, 06.10.2010 13:33

Auch Hallo,

als 'VBA-Lösung' nimm einfach:

Code: Alles auswählen

ActiveCell.Offset(1,0).Value = "Zusatz " & ActiveCell.Value & " Text"
cu, Bernd

Antworten