Makro ausführen abhängig vom Inhalt einer Zelle

Hallo, ich versuche seit 2 Tagen eine Fehlermeldung bei einer Fehlbedienung zu generieren. Ich habe einen Bedienknopf, der das Makro startet und am Ende eine Zelle auf ok. setzt. Bei einer (fehlerhaften) nochmaligen Bedienung soll nun diese “ok.”-Zelle abgefragt werden und wenn sie schon auf ok. steht Fehlermeldung kommen. Alles funktioniert, nur die Abfrage nicht. Wer kann mir helfen?
Hier der wesentliche Teil meines Makros, es ist über Makrorekorder entstanden, Die ok.-Zelle ist S18:

sub Macro12

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 args0(0) as new com.sun.star.beans.PropertyValue
args0(0).Name ="ToPoint"
args0(0).Value = "$S$18"

dispatcher.executeDispatch(document, ".uno:GoToCell", "", 0, args0())

****ZELLE("Contents")
if Contents =** "ok." then**
Msgbox "Bereits abgespeichert!"
exit sub

else

[Edit - Opaque] Der besseren Lesbarkeit halber den Code als vorformatierten Text formatiert

Hello,

vielleicht kann Dir das hier weiterhelfen:

Sub CheckCellValueOK()

   dim oDoc as object
   dim oSheet as object
   dim oCel as object
   dim sStr as string
   
   oDoc   = ThisComponent.CurrentController
   oSheet = oDoc.ActiveSheet     
   oCel = oSheet.getCellRangeByName("S18")

   sStr = oCel.String

   If sStr = "ok." then
      Msgbox "Bereits abgespeichert!"
   End if

End Sub

Getestet mit LibreOffice:
Version: 7.0.3.1, Build ID: d7547858d014d4cf69878db179d326fc3483e082
CPU threads: 8; OS: Linux 5.3; UI render: default; VCL: kf5
Locale: de-DE (de_DE.UTF-8); UI: de-DE, Calc: threaded

Für den Einstieg in die LibreOffice Basic Programmierung kann ich nur diese Reference Cards wärmstens empfehlen. Bessere Spickzettel könnte man sich selber nicht schreiben.

Vielen Dank für die Hilfe,
als “Amateur” habe ich immer noch Probleme mit der Definition von Objekten und Variablen.

Natürlich funktionierte diese Lösung auf Anhieb.

Nochmal vielen Dank für die schnelle Unterstützung.

Bitte poste auf ask.libreoffice.org nur dann eine Antwort, wenn Du eine Frage (in diesem Falle Deine eigene) beantwortest. Ansonsten benutze bitte die kommentieren Funktion unterhalb der jeweiligen Antwort/des Kommentars auf die/den Du reagieren willst. Um weitere Information zu den Details Deiner Frage zu geben, bitte die Frage mit Bearbeiten bearbeiten. Vielen Dank …