[gelöst] Mit Makro nach Gültigkeitsprüfung die Eingabe lösch

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

Moderator: Moderatoren

Benutzeravatar
Krangel
**
Beiträge: 35
Registriert: Di, 22.04.2014 12:23
Wohnort: 3. Planet

[gelöst] Mit Makro nach Gültigkeitsprüfung die Eingabe lösch

Beitrag von Krangel »

Hi,

ich möchte in Calc bei ungültiger Eingabe ein Makro starten. Das Problem ist, dass die Gültigkeitsprüfung bei aufruf eines Makros nicht die Eingabe stoppt und ungültige Daten in der Zelle stehen bleiben.
Was ich bis jetzt habe ist, für jede Zelle ein eigenes Makro zu schreiben. Da es aber ca. 240 Zellen sind, und ich dafür zu faul bin habe ich ein "Undo" Makro gebastelt. Das Makro funktioniert, wenn ich es direkt aufrufe, aber aus der Gültigkeitsprüfung heraus funktioniert es nicht.
Meine Frage ist nun, wie komme ich an die Zelle mit der letzten Eingabe heran oder wie kann ich mein Undo-Makro ändern, dass es aus der Gültigkeitsprüfung heraus funktioniert?

Code: Alles auswählen

sub undo

dim document   as object
dim dispatcher as object

document   = ThisComponent.CurrentController.Frame
dispatcher = createUnoService("com.sun.star.frame.DispatchHelper")

dispatcher.executeDispatch(document, ".uno:Undo", "", 0, Array())

end sub
Grüße
Zuletzt geändert von Krangel am Sa, 24.05.2014 15:11, insgesamt 1-mal geändert.
Karolus
********
Beiträge: 7535
Registriert: Mo, 02.01.2006 19:48

Re: Mit Makro nach Gültigkeitsprüfung die Eingabe löschen

Beitrag von Karolus »

Hallo

Wähle bei ....Fehlermeldung einfach Anhalten aus, damit werden ungültige Eingaben gelöscht.

Karolus
LO7.4.7.2 debian 12(bookworm) auf Raspberry5 8GB (ARM64)
LO25.2.3.2 flatpak debian 12(bookworm) auf Raspberry5 8GB (ARM64)
Benutzeravatar
Krangel
**
Beiträge: 35
Registriert: Di, 22.04.2014 12:23
Wohnort: 3. Planet

Re: Mit Makro nach Gültigkeitsprüfung die Eingabe löschen

Beitrag von Krangel »

Hi,
meinst du diese Einstellung?
Bei Stopp wird die Eingabe nicht übernommen, aber es läuft kein Makro. Bei Einstellung Makro wird die Eingabe übernommen.

Grüße
Dateianhänge
Anhalten.gif
Anhalten.gif (6.08 KiB) 1540 mal betrachtet
Karolus
********
Beiträge: 7535
Registriert: Mo, 02.01.2006 19:48

Re: Mit Makro nach Gültigkeitsprüfung die Eingabe löschen

Beitrag von Karolus »

Hallo

Wieso möchtest du ein Makro laufen lassen was das gleiche tut wie die Aktion Stop

???

Karolus
LO7.4.7.2 debian 12(bookworm) auf Raspberry5 8GB (ARM64)
LO25.2.3.2 flatpak debian 12(bookworm) auf Raspberry5 8GB (ARM64)
Benutzeravatar
Krangel
**
Beiträge: 35
Registriert: Di, 22.04.2014 12:23
Wohnort: 3. Planet

Re: Mit Makro nach Gültigkeitsprüfung die Eingabe löschen

Beitrag von Krangel »

Hi,

will ich doch gar nicht. Das Makro soll was anderes tun, die ungültigen Daten muß ich zusätzlich los werden.

Grüße
Stephan
********
Beiträge: 12368
Registriert: Mi, 30.06.2004 19:36
Wohnort: nahe Berlin

Re: Mit Makro nach Gültigkeitsprüfung die Eingabe löschen

Beitrag von Stephan »

Das Problem ist, dass die Gültigkeitsprüfung bei aufruf eines Makros nicht die Eingabe stoppt und ungültige Daten in der Zelle stehen bleiben.
Dann mach das doch selber indem Du den Makrocode in einer Function kapselst, z.B.:

Code: Alles auswählen

Function meineFunction() As Boolean
	'hier der auszuführende Code
	
	'Übernahme der aktuellen Eingabe verweigern:
	meineFunction = False
End Function

Gruß
Stephan
Benutzeravatar
Krangel
**
Beiträge: 35
Registriert: Di, 22.04.2014 12:23
Wohnort: 3. Planet

Re: Mit Makro nach Gültigkeitsprüfung die Eingabe löschen

Beitrag von Krangel »

Super, funktioniert!

Danke für die Hilfe.
Grüße Krangel
Antworten