Makros/Python-Leitfaden/Calc/Calc-Tabellen

    From The Document Foundation Wiki
    This page is a translated version of the page Macros/Python Guide/Calc/Calc sheets and the translation is 100% complete.


    Zurück zum Inhaltsverzeichnis

    Other languages:


    Tabellen

    In diesem Python-Leitfaden verwenden wir folgende Konvention:

    • sheet (Tabelle) ist eine einzelne Tabelle innerhalb eines Dokuments
    • workbook ist ein Calc-Dokument


    VORSICHT:

    Kopieren oder importieren Sie die Funktion msgbox von Nützliche Funktionen

    Namen

    • Alle Tabellen(Sheet)-Namen holen

    doc = XSCRIPTCONTEXT.getDocument()
        names = doc.Sheets.ElementNames
        msgbox(names)


    Alle Tabellen (Sheets) in einem workbook (Calc-Dokument) zählen

    doc = XSCRIPTCONTEXT.getDocument()
        count = doc.Sheets.Count
        msgbox(count)


    Über alle Tabellen (Sheets) iterieren

    doc = XSCRIPTCONTEXT.getDocument()
        for sheet in doc.Sheets:
            msgbox(sheet.Name)


    Tabellen (Sheets) holen

    • Aktive Tabelle (Sheet) vom aktuellen Dokument holen.

    doc = XSCRIPTCONTEXT.getDocument()
        sheet = doc.getCurrentController().getActiveSheet()
        msgbox(sheet.Name)


    • Aktive Tabelle (Sheet) mittels Index vom aktuellen Dokument holen

    sheet = doc.Sheets[0]
        msgbox(sheet.Name)


    • Aktive Tabelle (Sheet) mittels Namen vom aktuellen Dokument holen

    sheet = doc.Sheets['data']
        msgbox(sheet.Name)


    Activieren

    Fokus zu irgendeiner Tabelle (Sheet) senden

    doc = XSCRIPTCONTEXT.getDocument()
        sheet = doc.Sheets[0]
        doc.getCurrentController().setActiveSheet(sheet)


    Namen ändern

    • Namen für den Benutzer sichtbar ändern

    sheet = doc.Sheets[0]
        msgbox(sheet.Name)
        sheet.Name = 'OtherName'
        msgbox(sheet.Name)


    • Namen nur sichtbar im Code ändern

    sheet = doc.Sheets[0]
        msgbox(sheet.CodeName)
        sheet.CodeName = 'Data'
        msgbox(sheet.CodeName)


    Sichtbarkeit der Tabelle (Sheet) setzen

    • Setzen Sie die Eigenschaft IsVisible auf False um die Tabelle (Sheet) zu verstecken; und setzen Sie es auf True, um es anzuzeigen.

    sheet = doc.Sheets[0]
        msgbox(sheet.IsVisible)
        sheet.IsVisible = False
        msgbox(sheet.IsVisible)
        sheet.IsVisible = True


    Passwort-Management

    • Passwort setzen

    sheet = doc.Sheets[0]
        contra = 'letmein'
        sheet.protect(contra)


    • Passwort entfernen

    sheet = doc.Sheets[0]
        contra = 'letmein'
        sheet.unprotect(contra)


    Prüfen, ob Tabelle (Sheet)im workbook (Calc-Dokument) existiert

    doc = XSCRIPTCONTEXT.getDocument()
        exists = 'data' in doc.Sheets
        msgbox(exists)


    Eine leere neue Tabelle (Sheet) einfügen

    insertNewByName(NAME, POSITION)

    doc = XSCRIPTCONTEXT.getDocument()
        doc.Sheets.insertNewByName('new', 0)


    Eine existierende Tabelle (Sheet) in ein workbook (Calc-Dokument) einfügen

    insertByName(SHEET, POSITION)

    doc = XSCRIPTCONTEXT.getDocument()
        sheet = doc.createInstance('com.sun.star.sheet.Spreadsheet')
        doc.Sheets.insertByName(sheet, 0)


    Die Position einer Tabelle (Sheet) in einem workbook (Calc-Dokument) verändern

    moveByName(NAME, NEUE_POSITION)

    doc = XSCRIPTCONTEXT.getDocument()
        doc.Sheets.moveByName('new', 3)


    Tabelle (Sheet) aus workbook (Calc-Dokument) entfernen

    removeByName(NAME)

    doc = XSCRIPTCONTEXT.getDocument()
        doc.Sheets.removeByName('new')


    Ersetzen durch eine leere Tabelle (Sheet)

    replaceByName(NAME, SHEET)

    VORSICHT: Mit Bedacht benutzen. Diese Funktion ersetzt eine Tabelle (Sheet) NAME durch einer sauberen Tabelle (Sheet).

    doc = XSCRIPTCONTEXT.getDocument()
        sheet = doc.createInstance('com.sun.star.sheet.Spreadsheet')
        doc.Sheets.replaceByName('data', sheet)


    Tabelle (Sheet) kopieren

    • Tabelle (Sheet) umbenennen

    copyByName(Quell_NAME, NEUER_NAME, POSITION)

    VORSICHT: Falls der neue Name existiert, wird es die Tabelle (Sheet) mit dem Namen OUELL_NAME_2 kopieren und es wird keinen Fehler geben.

    • Kopieren in dasselbe Dokument

    doc = XSCRIPTCONTEXT.getDocument()
        doc.Sheets.copyByName('data', 'NewData', 10)


    • Kopieren (Importieren) aus einem anderen Dokument

    importSheet(QUELLE, QUELL_NAME, POSITION)

    source = XSCRIPTCONTEXT.getDocument()
    
        desktop = app.create_instance('com.sun.star.frame.Desktop', True)
        path = 'private:factory/scalc'
        doc = desktop.loadComponentFromURL(path, '_default', 0, ())
    
        doc.Sheets.importSheet(source, 'Services', 0)


    Einfärben eines Tabellen(Sheet)-Registers

    VORSICHT

    Kopieren oder importieren Sie die Funktion get_color von Nützliche Funktionen

    sheet = doc.Sheets['Sheet1']
    sheet.TabColor = get_color(255, 0, 0)


    Zurück zum Inhaltsverzeichnis