[OOo 2.4.1 Calc] Eingabezeile in Makro?

18/01/2009 - 13:10 von Gottfried Beyer | Report spam
Hallo ihr Hilfreichen!
Gibt es eine Möglichkeit, Operationen in der Eingabezeile in ein Makro
aufzunehmen?
Ich komme mit Ctrl+Shift+F2 in die Eingabezeile, aber was ich dort mache
(nur mit Tastatur), wird nicht aufgezeichnet. Ich will nur Text
innerhalb einer Zelle hinundher schieben.

Grüße

Gottfried Beyer
 

Lesen sie die antworten

#1 Volker Kohaupt
23/01/2009 - 18:53 | Warnen spam
Gottfried Beyer schrieb:

Gibt es eine Möglichkeit, Operationen in der Eingabezeile in ein Makro
aufzunehmen?
Ich komme mit Ctrl+Shift+F2 in die Eingabezeile, aber was ich dort mache
(nur mit Tastatur), wird nicht aufgezeichnet. Ich will nur Text
innerhalb einer Zelle hinundher schieben.



Für das bearbeiten des Zellinhalte sollte folgendes Makro helfen, es
liest die aktuelle Zelle aus, fügt ein Text hinzu und schreibt dies in
die aktuelle zurück.
Für das "hinundher schieben" mußte halt noch "myString" in der der "Sub
Main" dementsprechend bearbeiten.


REM ***** BASIC *****

Option Explicit

Sub Main
Dim Column as String
Dim Row as String
Dim myDoc as Object
Dim mySheet as Object
Dim myCell as Object
Dim myString as String

myDoc = thisComponent
mySheet = myDoc.sheets(0)
Column = getColumn()
Row = getRow()
mycell = mysheet.getCellByPosition(Column, Row)
myString = mycell.string
'hier
'myString
'bearbeiten
'z.b
myString = myString & "Aber Hallo"
mycell.string = myString
End Sub

function getColumn() as String
dim oSel as Object
dim oDesktop as Object
dim oAdr as Object

oDesktop = createUnoService( "com.sun.star.frame.Desktop" )
oSel = oDesktop.CurrentFrame.Controller.Selection
oAdr = oSel.CellAddress
getColumn = oAdr.Column
end function

function getRow() as String
dim oSel as Object
dim oDesktop as Object
dim oAdr as Object

oDesktop = createUnoService( "com.sun.star.frame.Desktop" )
oSel = oDesktop.CurrentFrame.Controller.Selection
oAdr = oSel.CellAddress
getRow = oAdr.Row
end function

Viele grüße von Volker und dem Pinguin.

PC 1 : Linux openSUSE 11.0
PC 2 : Linux openSUSE 10.2
Server: Linux openSUSE 11.0 ohne X

Ähnliche fragen