Problem beim Einfügen aus Clipboard per Makro

Antwort erstellen


BBCode ist eingeschaltet
[img] ist ausgeschaltet
[url] ist eingeschaltet
Smileys sind ausgeschaltet

Die letzten Beiträge des Themas
   

Ansicht erweitern Die letzten Beiträge des Themas: Problem beim Einfügen aus Clipboard per Makro

von jrsch » Mi, 01.03.2006 18:07

Nach einer Neuinstallation ist der Fehler bisher nicht mehr aufgetaucht. könnte an der Version OOo 2.0.0 gelegen haben, die auf dem Rechner lief. Jetzt mit 2.0.1 scheint es zu gehen.

von Stephan » Mi, 01.03.2006 16:13

Wo kann man das melden?

http://de.openoffice.org/dev/pre_submission_de.html


Gruß
Stephan

von jrsch » Mi, 01.03.2006 15:48

Hallo, danke für deine Antwort

Habe teilweise etwas unklar erklärt


Ich habe jetzt folgendes gemacht
Ein neues Kalkdokument erzeugt
ein Makro geschrieben, das von b5 in c7 kopiert, bzw mit dem markorecorder aufgezeichnet.
mittels extra-makro-aufrufen mehrmals getestet - geht
jetzt eine Schaltfläche im dokument erzeugt und das Makro zugewiesen
->der Cursor springt nach c7, kopiert aber nichts
noch mal mit extra-makro--- aufgerufen - geht jetzt auch nicht mehr.

Meine Tochter gerufen (studiert Informatik) und vorgeführt, sie meinte auch, das müsse ein Bug sein.

Wo kann man das melden?

Werde meine Installation updaten und dann noch mal probieren.

von Stephan » Mo, 27.02.2006 14:49

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.


(Ich nehme an das der Button eine Schaltfläche auf dem Tabellenblatt ist)
Ja, ich glaube es gibt einen solchen Konvertierfehler, weil Michael darüber schonmal was geschrieben hat, aber das ist für Dich völlig bedeutunglos da Du schreibst Du fügst die Schaltfläche erst nach der Konvertierung ein.
Jetzt habe ich festgestellt, dass das Makro läuft, wenn man es direkt aufruft, aber nicht, wenn man es über einen Button aufruft.
unter Beachtung des oben genannten habe ich dafür keine Erklärung bzw. was soll die Unterscheidung direkt/Bottom? Beides ist direkt, indirekt wäre i.d.S. über ein Ereignis.
Das Makro wird aufgerufen aber die o.a. Funktion läuft nicht.


Welche Funktion? Ich sehe bisher nur das Makro und dort auch keinen Verweis auf eine Funktion. Poste doch bitte auch den Code der Funktion und sage mir wo die wie aufgerufen wird.
auch per manuellem Aufruf des Makros einfügen!!!


?
keine Ahnung was mir das sagen soll. Bisher sprachen wir hier nur über manuelles Starten über einen Button und Du schriebst das geht nicht und nun geht es doch?


Dein Code selbst läuft bei mir fehlerfrei. (OOo 2.0.1 deutsch, Windows 2000)
Ich bin dann auch gänzlich ahnungslos wenn Du sagst bestimmte Teile liefen nicht, entweder das Makro läuft garnicht (weil beispielsweise das Starten nicht klappt) oder es läuft ebend, dann aber komplett. (Nein, generell gilt diese Einschätzung nicht, aber für das konkrete Makro, nach meinem Verständnis, schon.)
Tut mir leid, aber mehr kann ich nicht sagen bzw. wenn Deine Vermutungen zutreffen habe ich nicht die geringste Vermutung woran das liegen sollte.



Gruß
Stephan

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

von Stephan » So, 26.02.2006 09:33

Mit 00 2.0.1 auf win98 SE habe ich mit dem Macrorecorder ein Makro aufgezeichnet und einen Text in eine Tabelle eingefügt. (Text stammt aus einem Opera-Fenster, aber auch bei anderen Quellen geht es nicht)

Das klappte, aber wenn ich das mit deimen Markoaufruf wiederholen will klappt das nicht.


Kann ich nicht nachvollziehen, weder in einer Tabelle in einem Textdokument noch in einem Tabellendokument.
(Natürlich muß der Text schon in der Zwischenablage sein bevor Du das Makro startest, der Makrorekorder kann nur innerhalb von OOo aufzeichnen, also im vorliegenden Falle nur das "paste" in OOo und nicht das "copy" im Browser.)
Auch internes Kopieren macht Probleme wenn man es per Makro versucht geht es anscheinend nicht oder meist nicht.

(Ich habe das an einem neutralen CalcDokument überprüft und alles ausgeschlossen was irrelevent ist.


Bei mir alles normal. Ich habe aber nur testweise den Inhalt einiger Calc-Zellen kopiert.
(Weder weiß ich aber was ein "neutrales CalcDokument" sein soll, noch was Dein Maßstab für irrelevante Dinge ist.)


Ich sehe zwar keinn Grund, aber vielleicht tritt das Problem nur unter Windows98 auf? Ich arbeite hier mit Windows 2000.

Poste doch bitte Dinen Makro-Code, vielleicht kann man da eine Ursache erkennen.



Gruß
Stephan

von Toxitom » So, 26.02.2006 09:14

Hey jrsch,

Hmm, was erwartest du hier eigentlich für eine Antwort? Auf so eine allgemeine Feststellung?

Ja und Nein. Ja, ich kann via Clipboard Daten mit einem Makro einfügen. Nein, es gibt Fälle, da geht das nicht so einfach.

Also, ohne exakte Beschreibung deines Vorhabens, ohne Posten deines Codes und Darlegung, wo uns wie die Fehler auftreten (so, dass wir es nachvollziehen können - denn zumindest meine Kristallkugel ist derzeit auf Urlaub), kann dir hier sicher niemand helfen.

Gruss
Thomas

Problem beim Einfügen aus Clipboard per Makro

von jrsch » Sa, 25.02.2006 21:20

Mit 00 2.0.1 auf win98 SE habe ich mit dem Macrorecorder ein Makro aufgezeichnet und einen Text in eine Tabelle eingefügt. (Text stammt aus einem Opera-Fenster, aber auch bei anderen Quellen geht es nicht)

Das klappte, aber wenn ich das mit deimen Markoaufruf wiederholen will klappt das nicht.
Auch internes Kopieren macht Probleme wenn man es per Makro versucht geht es anscheinend nicht oder meist nicht.

(Ich habe das an einem neutralen CalcDokument überprüft und alles ausgeschlossen was irrelevent ist.

Hat jemand dass schon mal beobachtet oder weiß darüber Bescheid?

Nach oben