Macro starten bei Änderung in einem Feld

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: Macro starten bei Änderung in einem Feld

von MrSpock » Mo, 05.06.2006 10:51

Hallo Thomas,

zum Merken habe ich folgende Zeilen benutzt:

Code: Alles auswählen

Dim Doc As Object 
Dim Sheet As Object
Dim oRow, oCol as Integer
Doc = ThisComponent 
Sheet = Doc. Sheets (0)
oRow=Doc.getCurrentSelection().getCellAddress().Row
oCol=Doc.getCurrentSelection().getCellAddress().Column
und zum Setzen des Cursors:

Code: Alles auswählen

dim args3(0) as new com.sun.star.beans.PropertyValue
args3(0).Name = "ToPoint"
args3(0).Value = Chr(oCol+65) & oRow+1
' msgbox args3(0).Value
dispatcher.executeDispatch(document, ".uno:GoToCell", "", 0, args3())
Funktioniert jetzt auch, aber es ist unschön,dass ich die Zelle über die Reihen- und Spaltennummer auslese und dann in eine Buchstaben/Zahlenkombination setze.

von Toxitom » Mo, 05.06.2006 07:24

Hey Mr.Spock,
st bestimmt einfach, aber ich bekomme es nicht hin.
Na, dann poste den Code doch mal :-)

Da können wir bestimmt leicht helfen.

Gruss
Thomas

von MrSpock » So, 04.06.2006 22:15

Hallo Thomas,

ja, sollte natürlich "Weg" heißen.

Das mit der Gültigkeitsprüfung scheint jetzt doch zu funktionieren.

Ich habe dabei nur noch ein Problem: Nach Ausführung des Macros steht der Cursor (also die aktuelle Zelle) an der falschen Stelle.

Ich möchte das Macro jetzt am Anfang und am Ende leicht modifizieren, so dass sich das Programm am Anfang die aktuelle Cursor Position merkt und am Ende dort wieder den Cursor hinsetzt. Ist bestimmt einfach, aber ich bekomme es nicht hin. :?

von Toxitom » So, 04.06.2006 18:44

Hey Mr. Spock,

Code: Alles auswählen

Wer kenn einen besseren Wert.
Soll wohl "Weg" heissen, oder? Na ja, wenn du mit dem Button nicht einverstanden bist - einen Listener schreiben. Den kannst du an verschiedene Ereignisse binden - zum Beispiel an das Verlassen der Zelle.
Ist aber alles nicht so ganz "ohne" und setzt Erfahrung im Umgang mit der API vorraus.
Such einfach mal im Forum - ich glaube, es gab mal einen Thread, der einen Listener für eine Calczelle beschrieben hat.

Viele Grüße
Thomas

Macro starten bei Änderung in einem Feld

von MrSpock » So, 04.06.2006 16:50

Hallo,

ich habe eine Tabelle, in der ich Ergebnisse eintrage (Kickerspiele). Beim Drücken eines Buttons, wird die zugehörige Tabelle erstellt. Funktiert alles. Ich möchte jetzt aber, dass ich nicht mehr den Button drücken muss, sondern beim Ändern des Ergebnisses automatisch das Macro zur Erstellung der Tabelle aufgerufen wird. Habe es über die Definition einer Gültigkeit versucht. Dabei habe ich eine Bedingung erstellt, die nie erfüllt wird (Zulassen: Wert > 100) und dann in der Fehlerbehandlung das Macro aufgerufen.) Irgendwie funktiniert das aber nur bei jeder zweiten Änderung. Außerdem ist natürlich nicht wirklich elegant. Wer kenn einen besseren Wert.

Nach oben