Seite 1 von 1

[gelöst] Tabelle in Writer: Zeile darüber per Makro einfügen

Verfasst: Do, 12.08.2010 22:07
von uroveits
Hallo zusammen!

Ich bin auf der Suche nach der richtigen Syntax für ein Makro, das folgendes können soll:
In einer bestehenden Tabelle in Writer soll eine Zeile oberhalb der Zeile eingefügt werden, in der der Cursor steht.

Ich habe folgendes Makro erstellt:

sub ZeileInTabelleEinfuegen
dim document as object
dim dispatcher as object
document = ThisComponent.CurrentController.Frame
dispatcher = createUnoService("com.sun.star.frame.DispatchHelper")
dispatcher.executeDispatch(document, ".uno:InsertRows", "", 0, Array())
end sub

Dieses Makro fügt aber die neue Zeile unterhalb der Zeile ein.

Wie muss die Syntax lauten, damit die neue Zeile oberhalb der Zeile eingefügt wird.
Kann mir jemand bitte einen Tipp geben.

Ich verwende OOoWriter 3.2.1 und Windows 7 (64bit).

Gruß

Jochen

Re: Tabelle in Writer: Zeile darüber per Makro einfügen

Verfasst: Do, 12.08.2010 22:46
von Karolus
Hallo
Nimm als erste Codezeile zusätzlich:

Code: Alles auswählen

thisComponent.currentController.getViewcursor.goUp(1, 0)
Gruß Karo

Re: [gelöst] Tabelle in Writer: Zeile darüber per Makro einfügen

Verfasst: Do, 12.08.2010 23:45
von uroveits
Hallo Karo,

vielen Dank für Deinen Lösungsvorschlag. Jetzt funktioniert alles so wie ich es mir vorstelle.

Der Vollständigkeit halber stelle ich die Syntax hier noch einmal ein:
(ich habe noch eingefügt, dass der Cursor in die neu erzeugte Zeile springt)

Code: Alles auswählen

sub ZeileInTabelleEinfuegen
dim document   as object
dim dispatcher as object
document   = ThisComponent.CurrentController.Frame
dispatcher = createUnoService("com.sun.star.frame.DispatchHelper")
thisComponent.currentController.getViewcursor.goUp(1, 0)
dispatcher.executeDispatch(document, ".uno:InsertRows", "", 0, Array())
dim args3(1) as new com.sun.star.beans.PropertyValue
args3(0).Name = "Count"
args3(0).Value = 1
args3(1).Name = "Select"
args3(1).Value = false
dispatcher.executeDispatch(document, ".uno:GoDown", "", 0, args3())
end sub
Gruß

Jochen

Re: [gelöst] Tabelle in Writer: Zeile darüber per Makro einfügen

Verfasst: Fr, 13.08.2010 09:07
von Karolus
Hallo
Na ja dann tausch doch noch:

Code: Alles auswählen

dim args3(1) as new com.sun.star.beans.PropertyValue
args3(0).Name = "Count"
args3(0).Value = 1
args3(1).Name = "Select"
args3(1).Value = false
dispatcher.executeDispatch(document, ".uno:GoDown", "", 0, args3())
gegen

Code: Alles auswählen

thisComponent.currentController.getViewcursor.goDown(1, 0)
Gruß Karo

Re: [gelöst] Tabelle in Writer: Zeile darüber per Makro einfügen

Verfasst: Fr, 13.08.2010 20:20
von uroveits
Hallo Karo,

vielen Dank für Deinen Zusatztipp. Ich habe diesbezüglich das Makro geändert.
Gruß

Jochen