Makro funktioniert nur bei direktem Aufruf

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

Moderator: Moderatoren

Filzlaus
Beiträge: 1
Registriert: Mi, 22.11.2006 05:40

Makro funktioniert nur bei direktem Aufruf

Beitrag von Filzlaus »

Hallo

Ich habe mir ein Makro erstellt mit dem ich in einem Writer Dokument durch anspringen von Textmarken den ausgewählten Text durchstreichen kann. Das funktioniert einwandfrei solange ich das Makro direkt Starte, also über Extras--> Makros --> Makro ausführen.
Wenn ich aber eine Schaltfläche in das Dokument einfüge und dieser das Makro zuweise wird zwar die Textmarke angesprungen aber keine Formatierung des Textes mehr durchgeführt.
Hier mal das Makro

Sub durchstreichen_an

rem ----------------------------------------------------------------------
rem define variables
dim document as object
dim dispatcher as object
rem ----------------------------------------------------------------------
rem get access to the document
document = ThisComponent.CurrentController.Frame
dispatcher = createUnoService("com.sun.star.frame.DispatchHelper")


Cursor = thiscomponent.CurrentController.getviewCursor()
Bookmark = thiscomponent.Bookmarks.getByName("durchstreichen1").Anchor
Cursor.gotorange(Bookmark, False)

rem ----------------------------------------------------------------------
dim args2(0) as new com.sun.star.beans.PropertyValue
args2(0).Name = "Strikeout.Kind"
args2(0).Value = 1

dispatcher.executeDispatch(document, ".uno:Strikeout", "", 0, args2())
End Sub

Version Openoffice.org 2.0.3
Vielleicht kann mir ja jemand sagen warum das über die Schaltfläche nicht funktioniert.

Gruß Xaver