Seite 1 von 1

Viele Tabellen anhand des Namens alphabetisch sortieren

Verfasst: Do 19. Nov 2015, 17:17
von Sephan
Hallo, ich habe ein Dokument in dem ich für mehrere Personen jeweils eine Tabelle mit dessem Namen angelegt habe um dort Informationen über diese zu speichern. Nun geht allerdings langsam die Übersicht verloren und muss ständig rumscrollen, um die richtige Tabelle zu finden. Gibt es eine Möglichkeit die Sortierung der Tabellen automatisch alphabetisch zu sortieren?

Re: Viele Tabellen anhand des Namens alphabetisch sortieren

Verfasst: Do 19. Nov 2015, 18:05
von karolus
Hallo

Code: Alles auswählen

def sort_sheets(*_):
    doc = XSCRIPTCONTEXT.getDocument()
    sheets = doc.Sheets
    for n, sheetname in enumerate(sorted(sheets.ElementNames)):
        sheets.moveByName(sheetname, n) 

Re: Viele Tabellen anhand des Namens alphabetisch sortieren

Verfasst: Do 19. Nov 2015, 19:41
von Sephan
Er meint unerwartetes Symbol *.

Re: Viele Tabellen anhand des Namens alphabetisch sortieren

Verfasst: Do 19. Nov 2015, 21:41
von karolus
Sephan hat geschrieben:Er meint unerwartetes Symbol *.
Ja - weil ER kein python-Interpreter ist sondern ein basic-Interpreter.

Such nach deinem LO-Benutzer verzeichnis, ( im Zweifelsfall siehe →Extras→Optionen→LO→Pfade) es ist das Verzeichnis mit ....libreoffice/4/user/ erstelle dort die Unterverzeichnisse Scripts/python/ und im python-Ordner eine Datei mit z.B. dem Namen calctools.py mit dem oben geposteten Code als Inhalt.

Re: Viele Tabellen anhand des Namens alphabetisch sortieren

Verfasst: Do 19. Nov 2015, 22:47
von Sephan
Ah, so klappts :) Großen Dank dir ;)
Hätte ich das erkennen können, dass das Python ist?

Re: Viele Tabellen anhand des Namens alphabetisch sortieren

Verfasst: Fr 20. Nov 2015, 04:37
von karolus
Sephan hat geschrieben: Hätte ich das erkennen können, dass das Python ist?
Ja -
  • - def statt sub in der Signatur
    - Doppelpunkte: am Ende der Signatur, und dito der for...Zeile
    - die Funktionen enumerate und sorted gibts in Basic nicht.
    - in python gibts nichts analog zu End (sub, if, ...)
Aber ich will nicht meckern, du hast es immerhin auf Anhieb geschafft, "per Hand" python-code an den richtigen Ort zu kopieren.

Re: Viele Tabellen anhand des Namens alphabetisch sortieren

Verfasst: Fr 20. Nov 2015, 08:46
von Sephan
Hast mir ja auch ne super Anleitung gegeben ;)

Ich danke dir :)

Kann man den Pythoncode auch ins Dokument integrieren wie bei Basic? Ist schon praktisch.

Re: Viele Tabellen anhand des Namens alphabetisch sortieren

Verfasst: Fr 20. Nov 2015, 10:38
von karolus
Sephan hat geschrieben: Kann man den Pythoncode auch ins Dokument integrieren wie bei Basic? Ist schon praktisch.
Da geht auch -- ich hätte hier sogar ein Dokument anhängen können mit Button zum Installieren ins Benutzerverzeichniss das habe ich aber bewusst nicht getan.

Hanya hat im englischen Forum Code gepostet der die diese Routinen per Dialog erlaubt.