aktueller coursor position *5 zellen nach rechts markieren*

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

Moderator: Moderatoren

Laines
*
Beiträge: 14
Registriert: So, 03.07.2005 20:12
Kontaktdaten:

aktueller coursor position *5 zellen nach rechts markieren*

Beitrag von Laines »

Hallo

Ich bin am verzweifeln :x

Ich bin auf der suche nach einem code der mir an meiner aktuellen Coursor Position 5 Zellen nach recht markiert.

Wie ich die dann kopiere und wo anderst einfüge bekomme ich hin,
nur nicht an meiner aktuellen Position

Gruß
Laines
*************
Wer nicht fragt bleibt dumm ... oder so :-)
Karolus
********
Beiträge: 7532
Registriert: Mo, 02.01.2006 19:48

Beitrag von Karolus »

Hallo Laines

Ich war jetzt faul, und hab einfach mal die Aktion: shift+[5mal]→
als Makro aufgezeichnet und dieses aufs wesentliche gekürzt:

Code: Alles auswählen

sub fuenfnachrechts
rem define variables
dim document   as object
dim dispatcher as object
rem get access to the document
document   = ThisComponent.CurrentController.Frame
dispatcher = createUnoService("com.sun.star.frame.DispatchHelper")
dim args2(1) as new com.sun.star.beans.PropertyValue
args2(0).Name = "By"
args2(0).Value = 5
args2(1).Name = "Sel"
args2(1).Value = true
dispatcher.executeDispatch(document, ".uno:GoRight", "", 0, args2())
end sub
das geht bestimmt auch mit "richtigem" Basic-code, bei http://www.dannenhoefer.de/faqstarbasic/ dürftest du fündig werden.

Gruß Karo
turtle47
*******
Beiträge: 1849
Registriert: Mi, 04.01.2006 20:10
Wohnort: Rheinbach

Beitrag von turtle47 »

Hallo Zusammen,

ich habe es so gelöst:

Code: Alles auswählen

Sub fuenf_nach_rechts
oZell = thisComponent.getcurrentSelection()
   if not oZell.supportsService("com.sun.star.sheet.SheetCell") then
       msgbox "Bitte nur eine Zelle markieren (aktivieren)!", 48, "Fehler in Selektion!"
       exit Sub
   end if 
	doc=thisComponent
	blatt = doc.sheets(0)
	oCelle=doc.getCurrentSelection().getCellAddress()
	oRow=oCelle.Row ' aktuelle Zeile(Index)
	oColumn=oCelle.column ' aktuelle Spalte(Index)
	oColumn = oColumn + 5 'Spalte um 5 erhöhen
	nCell = blatt.getCellByPosition(oColumn, oRow)  'aktuellen Cursor auf die o.a. Position setzen
	doc.CurrentController.Select(nCell)
End Sub 
Jürgen
Laines
*
Beiträge: 14
Registriert: So, 03.07.2005 20:12
Kontaktdaten:

Beitrag von Laines »

Hallo Jürgen und Karo

Super vielen vielen Dank an euch zwei

Der Code von Karo ist genau der den ich momentan brauche da er mir die fünf Zellen markiert läßt.

Habe aber auch schon eine idee für den Code von Jürgen.

Grüße und nochmals Danke

Rainer
*************
Wer nicht fragt bleibt dumm ... oder so :-)
Karolus
********
Beiträge: 7532
Registriert: Mo, 02.01.2006 19:48

Beitrag von Karolus »

Hallo
Habe aber auch schon eine idee für den Code von Jürgen.
Etwa so:

Code: Alles auswählen

....
oColumn=oCelle.column ' aktuelle Spalte(Index)
   oColumnplus = oColumn + 5 'Spalte um 5 erhöhen
   nCell = blatt.getCellRangeByPosition(oColumn, oRow, oColumnplus , orow)  'aktuellen Cursor auf die o.a. Position setzen
.....
 
Gruß Karo
Antworten