[Gelöst] Makro auslösen bei Verlassen einer Zelle in Calc

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

Moderator: Moderatoren

Reginald
****
Beiträge: 114
Registriert: Fr, 23.07.2010 23:58

[Gelöst] Makro auslösen bei Verlassen einer Zelle in Calc

Beitrag von Reginald »

Hallo zusammen,

für Excel habe ich das einmal gelesen, bei Calc habe ich da keine Idee, wie man ansetzen soll:

Wenn ich eine (bestimmte) Zelle bearbeitet habe und Enter drücke, soll ein Makro aufgerufen werden (das dann beispielsweise die Eingabe auf Plausibiltät überprüft). Wie triggert man soetwas in Calc?

Das soll in einem bestimmten Bereich passieren, also es soll beispielsweise für die Bearbeitung einer beliebigen Zelle im Bereich A1 bis A100 gelten.

Was wäre der Ansatz dafür?

Grüße

Reginald
Zuletzt geändert von Reginald am So, 19.02.2012 00:33, insgesamt 1-mal geändert.
F3K Total
********
Beiträge: 3724
Registriert: Mo, 28.02.2011 17:49

Re: Makro auslösen bei Verlassen einer Zelle in Calc

Beitrag von F3K Total »

Hi,
schau vielleicht mal nach ob Du unter den Tabellenereignissen was passendes findest. (rechte Maustaste auf den Tabellenreiter)

Gruß R

Edit:
zum Bereich:

Code: Alles auswählen

oCellRange = oSheet.getCellRangeByName("B2:F50")'aktiver Bereich 
oSelection = ThisComponent.CurrentSelection
if oSelection.supportsService("com.sun.star.sheet.SheetCell") then
oCellsRangeAddress = oSelection.RangeAddress
if oCellRange.queryIntersection(oCellsRangeAddress).count = 1 then'Es gibt ocell in oCellrange
'mach hier was du benötigst
endif
endif
Stephan
********
Beiträge: 12368
Registriert: Mi, 30.06.2004 19:36
Wohnort: nahe Berlin

Re: Makro auslösen bei Verlassen einer Zelle in Calc

Beitrag von Stephan »

Was wäre der Ansatz dafür?
z.B. über Daten-Gültigkeit für die Zellen eine Eingabe definieren die nicht voraussichtlich nicht vorkommt, z.B.:

Zulassen: Textlänge
Daten: gleich
Wert: 0

und im Register Fehlermeldung die OPtion "Fehlerprüfung bei Angabe ungültiger Werte einschalten" aktivieren, als Aktion "Makro" wählen und die folgende Funktion zuweisen:

Code: Alles auswählen

Function eingabepruefung(zellwert, zelladresse) As Boolean
  If zellwert = 3 Then
      'Wert übernehmen: 
      eingabepruefung = True
    Else
      'Eingabe abweisen:
      eingabepruefung = False
  End if
End Function

Das zu prüfende Kriterium (hier also Eingabewert 3) lässt sich natürlich anpassen.




Gruß
Stephan
Reginald
****
Beiträge: 114
Registriert: Fr, 23.07.2010 23:58

Re: Makro auslösen bei Verlassen einer Zelle in Calc

Beitrag von Reginald »

Hallo!

Ja, vielen dank, das funktioniert!

Super,

Reginald
Antworten