Wenn BB5=40 dann Makro starten

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

Moderator: Moderatoren

felix
***
Beiträge: 54
Registriert: Di, 20.03.2007 17:09
Kontaktdaten:

Wenn BB5=40 dann Makro starten

Beitrag von felix »

Hallo,

ich habe ein Problem. Unzwar habe ich vor, wenn in Zelle BB5 40 steht, ein Makro ausgeführt wird. Ich habe es Probiert indem ich bei meinem Makro, welches ich mit dem Rekorder aufgenommen habe. Das Sub durch function zu ersetzen. Mein Makro heißt Eingabe und führt dazu, dass das Tabelenbaltt 1 Aufgerufen wird und der Cursor zu A1 springt.


In zelle BC5 steht dann
=WENN(BB5=40;EINGABE();"")
Hier das Makro bzw. Function

Code: Alles auswählen

function EINGABE

wait(5000)

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 args1(0) as new com.sun.star.beans.PropertyValue
args1(0).Name = "Nr"
args1(0).Value = 1

dispatcher.executeDispatch(document, ".uno:JumpToTable", "", 0, args1())

rem ----------------------------------------------------------------------
dim args2(0) as new com.sun.star.beans.PropertyValue
args2(0).Name = "ToPoint"
args2(0).Value = "$A$1"

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

end function
Das ganze funktioniert soweit ganz gut. Speichere und schließe ich dann meine Calc Datei und öffne sie noch einmal steht in Zelle BC5
#Name?
Was ist falsch oder ist mein Wunsch überhaupt nicht möglich?

MfG Felix
Toxitom
********
Beiträge: 3769
Registriert: Di, 12.08.2003 18:07
Wohnort: Wiesbaden
Kontaktdaten:

Re: Wenn BB5=40 dann Makro starten

Beitrag von Toxitom »

Hey Felix,

wo hast du denn deine Funktion "Eingabe()" abgespeichert? Diese müsste sich an sich in der "Standard-Bibliothek" des Bereiches "Meine-Makros" befinden - dann sollte es auch funktionieren nach dem Speichern :-)

Gruss
Thomas
Unterstützer LibreOffice, zertifizierter Trainer und Berater
Bücher: LibreOffice 6- Einstieg und Umstieg
Makros Grundlagen - LibreOffice / OpenOffice Basic
felix
***
Beiträge: 54
Registriert: Di, 20.03.2007 17:09
Kontaktdaten:

Re: Wenn BB5=40 dann Makro starten

Beitrag von felix »

Hallo,

das Makro ist in der Datei im Modul Sprünge abgespeichert.
Gibt es eine Möglichkeit es auch aus diesem Pfad zu öffnen?

MfG Felix
Toxitom
********
Beiträge: 3769
Registriert: Di, 12.08.2003 18:07
Wohnort: Wiesbaden
Kontaktdaten:

Re: Wenn BB5=40 dann Makro starten

Beitrag von Toxitom »

Hey Felix,
Gibt es eine Möglichkeit es auch aus diesem Pfad zu öffnen?
Nein. Jedenfalls nicht automatisch. Die Bibliothek müsste geladen werden - und das tut sie nicht automatisch. Die Standard-Bibliothek wird automatisch geladen.

Du könnest einen Aufruf in die Standarbibliothek schreiben - nur dann könntset du dein Makro besser direkt daraus starten.

Gruss
Thomas
Unterstützer LibreOffice, zertifizierter Trainer und Berater
Bücher: LibreOffice 6- Einstieg und Umstieg
Makros Grundlagen - LibreOffice / OpenOffice Basic
felix
***
Beiträge: 54
Registriert: Di, 20.03.2007 17:09
Kontaktdaten:

Re: Wenn BB5=40 dann Makro starten

Beitrag von felix »

Hallo,

danke für die Antwort dann mach ichs halt so is auch nicht schlimm.

funktioniert einwandfrei in der Satndard Biblio

bis denn

felix
Antworten