von jrsch » So, 26.02.2006 23:03
Danke zuerste einmal für Eure Hilfsangebote. Das hat mir erst einmal weitergeholfen, da ich noch mal anders getestet habe:
Es ging um die Anweisung
dispatcher.executeDispatch(document, ".uno:Paste", "", 0, Array())
(Mit allem sonstigen DispatcherAufrufen usw)
Jetzt habe ich festgestellt, dass das Makro läuft, wenn man es direkt aufruft, aber nicht, wenn man es über einen Button aufruft.
Vielleicht ein Konvertierungsfehler?
Die Tabelle ist aus der Version 1 Konvertiert worden, aber der Button ist danach eingefügt worden. In OO1 lief auch alles, jetzt habe ich gemerkt, dass auch andere Buttons diese Probleme machen.
Das Makro wird aufgerufen aber die o.a. Funktion läuft nicht.
Der Inhalt der Zwischenablage ist aus einem Opera Fenster übernommen und lässt sich problemlos per Hand einfügen und auch per manuellem Aufruf des Makros einfügen!!!
hier das gesamte Makro
sub botsch
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")
rem ----------------------------------------------------------------------
dim args1(0) as new com.sun.star.beans.PropertyValue
args1(0).Name = "ToPoint"
args1(0).Value = "$E$1"
dispatcher.executeDispatch(document, ".uno:GoToCell", "", 0, args1())
rem --- Einfügen einer Spalte-------------------------------------------------------------------
dispatcher.executeDispatch(document, ".uno:InsertColumns", "", 0, Array())
rem ----- Und kopieren der Zwischenablage in die Zelle E2-----------------------------------------------------------------
dim args3(0) as new com.sun.star.beans.PropertyValue
args3(0).Name = "ToPoint"
args3(0).Value = "$E$2"
dispatcher.executeDispatch(document, ".uno:GoToCell", "", 0, args3())
rem ---Das läuft jetzt nicht -------------------------------------------------------------------
dispatcher.executeDispatch(document, ".uno:Paste", "", 0, Array())
rem ----------------------------------------------------------------------
dim args5(0) as new com.sun.star.beans.PropertyValue
args5(0).Name = "ToPoint"
args5(0).Value = "$F$1"
dispatcher.executeDispatch(document, ".uno:GoToCell", "", 0, args5())
rem ---Das läuft anscheinend auch nicht, denn in der Zwischenablage ist noch der ursprüngliche Wert vorhannden, den ich mit Sttg-V einfügen kann.-------------------------------------------------------------------
dispatcher.executeDispatch(document, ".uno:Copy", "", 0, Array())
rem ----------------------------------------------------------------------
dim args8(0) as new com.sun.star.beans.PropertyValue
args8(0).Name = "ToPoint"
args8(0).Value = "$E$1"
dispatcher.executeDispatch(document, ".uno:GoToCell", "", 0, args8())
rem ---Das läuft jetzt auch nicht --------------------------------------------------------------------
dispatcher.executeDispatch(document, ".uno:Paste", "", 0, Array())
end sub
Danke zuerste einmal für Eure Hilfsangebote. Das hat mir erst einmal weitergeholfen, da ich noch mal anders getestet habe:
Es ging um die Anweisung
dispatcher.executeDispatch(document, ".uno:Paste", "", 0, Array())
(Mit allem sonstigen DispatcherAufrufen usw)
Jetzt habe ich festgestellt, dass das Makro läuft, wenn man es direkt aufruft, aber [color=darkred]nicht, wenn man es über einen Button aufruft.[/color]
[b]Vielleicht ein Konvertierungsfehler?[/b]
Die Tabelle ist aus der Version 1 Konvertiert worden, aber der Button ist danach eingefügt worden. In OO1 lief auch alles, jetzt habe ich gemerkt, dass auch andere Buttons diese Probleme machen.
Das Makro wird aufgerufen aber die o.a. Funktion läuft nicht.
Der Inhalt der Zwischenablage ist aus einem Opera Fenster übernommen und lässt sich problemlos per Hand einfügen und auch per manuellem Aufruf des Makros einfügen!!!
hier das gesamte Makro
sub botsch
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")
rem ----------------------------------------------------------------------
dim args1(0) as new com.sun.star.beans.PropertyValue
args1(0).Name = "ToPoint"
args1(0).Value = "$E$1"
dispatcher.executeDispatch(document, ".uno:GoToCell", "", 0, args1())
rem --- Einfügen einer Spalte-------------------------------------------------------------------
dispatcher.executeDispatch(document, ".uno:InsertColumns", "", 0, Array())
rem ----- Und kopieren der Zwischenablage in die Zelle E2-----------------------------------------------------------------
dim args3(0) as new com.sun.star.beans.PropertyValue
args3(0).Name = "ToPoint"
args3(0).Value = "$E$2"
dispatcher.executeDispatch(document, ".uno:GoToCell", "", 0, args3())
rem ---[b]Das läuft jetzt nicht [/b]-------------------------------------------------------------------
dispatcher.executeDispatch(document, ".uno:Paste", "", 0, Array())
rem ----------------------------------------------------------------------
dim args5(0) as new com.sun.star.beans.PropertyValue
args5(0).Name = "ToPoint"
args5(0).Value = "$F$1"
dispatcher.executeDispatch(document, ".uno:GoToCell", "", 0, args5())
rem ---[b]Das läuft anscheinend auch nicht, denn in der Zwischenablage ist noch der ursprüngliche Wert vorhannden, den ich mit Sttg-V einfügen kann.[/b]-------------------------------------------------------------------
dispatcher.executeDispatch(document, ".uno:Copy", "", 0, Array())
rem ----------------------------------------------------------------------
dim args8(0) as new com.sun.star.beans.PropertyValue
args8(0).Name = "ToPoint"
args8(0).Value = "$E$1"
dispatcher.executeDispatch(document, ".uno:GoToCell", "", 0, args8())
rem ---[b]Das läuft jetzt auch nicht [/b]--------------------------------------------------------------------
dispatcher.executeDispatch(document, ".uno:Paste", "", 0, Array())
end sub