Wie weise ich einer Eingabe einem Menüpunkt zu

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

Moderator: Moderatoren

manfred1
Beiträge: 1
Registriert: Sa, 07.05.2005 10:54
Wohnort: Luebeck

Wie weise ich einer Eingabe einem Menüpunkt zu

Beitrag von manfred1 »

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.
Frank Lauer
***
Beiträge: 88
Registriert: Mi, 30.07.2003 18:06
Wohnort: Wiesloch

Beitrag von Frank Lauer »

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.

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
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.
OOo 2.1 , Win XP
Antworten