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