Ich versuche mich seit eine Jahr an Makros in Excel, alles habe ich herausbekommen und nun weis ich nicht weiter. Ich würde mich freuen wenn mir einer helfen kann. Danke!!
Beispiel: Wenn ich auf a1 eine 1 eingebe, soll der Makro 3 starten, wenn ich dort eine 2 eingebe soll der Druckermakro starten, wenn ich eine 3 eingebe soll Word gestartet werden und eine bestimmte Tabelle an Word übergeben werden.
Wie weise ich einer Eingabe einem Menüpunkt zu
Moderator: Moderatoren
-
- ***
- Beiträge: 88
- Registriert: Mi, 30.07.2003 18:06
- Wohnort: Wiesloch
Hoi Manfred,
ich geh mal davon aus, das du nicht Excel sondern Calc (das OOo "Excel") meinst.
Für das, was du vorhast brauchst du einen Listener.
Bevor der Listener läuft musst du initializeListener aufrufen. Wenn der Listener beim Start des Dokumentes laufen solltest du diese Funktion über Extras/Makros/Makro => zuordnen => Ereignisse dem Öffnen des Dokumentes zuordnen.
ich geh mal davon aus, das du nicht Excel sondern Calc (das OOo "Excel") meinst.
Für das, was du vorhast brauchst du einen Listener.
Code: Alles auswählen
Global oListener As Object
'einrichten des Listeners
Sub initializeListener
'Erzeugt einen Listener
oListener = CreateUnoListener( "ModifyListener_", "com.sun.star.util.XModifyListener" )
'Holt sich das aktuelle Dokument
oDocument = ThisComponent
'Weist den Listener der Zelle A1 der 1. Tabelle zu
oDocument.sheets(0).getCellByPosition(0,0).addModifyListener(oListener)
End Sub
'Wird aufgerufen wenn sich die Zelle ändert (der Name muss mit dem String anfangen den du oben
'an CreateUnoListener übergeben hast.
Sub ModifyListener_modified(oEvent)
if (ThisComponent.sheets(0).getCellByPosition(0,0).value = 1) Then MSGBOX(1)
if (ThisComponent.sheets(0).getCellByPosition(0,0).value = 2) Then MSGBOX(2)
if (ThisComponent.sheets(0).getCellByPosition(0,0).value = 3) Then MSGBOX(3)
End Sub
OOo 2.1 , Win XP