CALC: Makro bei Anwahl eines Sheets aktivieren?

Antwort erstellen


BBCode ist eingeschaltet
[img] ist ausgeschaltet
[url] ist eingeschaltet
Smileys sind ausgeschaltet

Die letzten Beiträge des Themas
   

Ansicht erweitern Die letzten Beiträge des Themas: CALC: Makro bei Anwahl eines Sheets aktivieren?

Re: Makro bei Anwahl eines Sheets aktivieren?

von F3K Total » Mi, 12.10.2011 19:15

Jupp, gibt es seit OOo 3.3, Rechtsklick auf den Tabellenreiter:
Tabellenereignisse.png
Tabellenereignisse.png (14.71 KiB) 736 mal betrachtet
... und hier das Makro an das Ereignis "Dokument aktivieren" hängen.
Folgendes Makro gibt dann z.B. den Namen des gerade angeklicken Tabellenblattes zurück:

Code: Alles auswählen

Sub Main
msgbox thisComponent.currentcontroller.ActiveSheet.name
End Sub
Gruß R

CALC: Makro bei Anwahl eines Sheets aktivieren?

von desmond » Mi, 12.10.2011 10:23

Guten Tag,

ich habe ein Makro erzeugt, das mir alle Daten eines Tabellenblatts sortiert. Habe das Makro bisher per Button ausgeführt und es funktioniert..
Jetzt möchte ich das ganze noch dahingehend verbessern, dass die Daten sofort bei Aufruf des Tabellenblatts sortiert werden, also das Makro entsprechend ausgelöst wird, sobald man auf das Tabellenblatt geht.

Habe es über Extras--> Anpassen --> Ereignisse probiert, dort aber mit den meiner Meinung nach logischsten Aktionen (z.B. Dokument aufrufen) keinen erfolg gehabt.

Gibt es eine andere Möglichkeit?

Vielen Dank!

Das Makro:

Code: Alles auswählen

Sub sortieren
	Dim oSheetDSC,oDSCRange  As Object
  Dim aSortFields(0) As New com.sun.star.util.SortField
  Dim aSortDesc(0) As New com.sun.star.beans.PropertyValue

  'set your sheet name
  oSheetDSC = ThisComponent.Sheets.getByName("Ausgabe")

  'set your range address
  oDSCRange = oSheetDSC.getCellRangeByName("B2:S140")
  ThisComponent.getCurrentController.select(oDSCRange)

  aSortFields(0).Field = 0
  aSortFields(0).SortAscending = FALSE

  aSortDesc(0).Name = "SortFields"
  aSortDesc(0).Value = aSortFields()
  oDSCRange.Sort(aSortDesc())
End Sub

Private Sub Schaltflaeche 1_Click()
		Worksheets("Ausgabe").Select
End Sub


Moderation,4: verschoben in BASIC-Unterbereich, wo alle Makro-Fragen hin gehören; Betreff angepasst; CODE tags gesetzt

Nach oben