マクロ/Pythonガイド/Calc/Calcシート

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


    ⇐ Return to Index

    Other languages:


    Sheets

    このPythonガイドでは、私たちは、次の表記規則を使用します:

    • シートは、文書の内の一つのスプレッドシートです。
    • ワークブックは、Calc文書です。


    注意:

    便利な関数から、関数msgboxをコピー、あるいは、インポートします。

    名前

    • すべてのシート名を取得します。

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


    ブック内のすべてのシートを数えます。

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


    すべてのシートを繰り返します

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


    シートを取得します

    • 現在の文書から、アクティブなシートを取得します

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


    • 現在の文書から、インデックスで、アクティブなシートを取得します。

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


    • 現在の文書から、名前で、アクティブなシートを取得します

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


    アクティブ化

    どんなシートにもフォーカスを送信します

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


    名前を変更する

    • ユーザーからだけ見える名前を変更します。

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


    • コードからだけ見える名前を変更します。

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


    シートの可視性を設定する

    シートを非表示にするには、プロパティIsVisibleFalseに設定します。;そして、表示するには、Trueに設定してください。

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


    パスワード管理

    • パスワードを設定する

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


    • パスワードを削除します

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


    シートがブックに存在するかどうかを確認します

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


    空白の新しいシートを挿入します

    insertNewByName(NAME, POSITION)

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


    既存のシートを、ワークブックに挿入します

    insertByName(SHEET, POSITION)

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


    ワークブック内でシートの位置を移動する

    moveByName(NAME, NEW_POSITION)

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


    ワークブックからシートを削除する

    removeByName(NAME)

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


    空白のシートと入れ替える

    replaceByName(NAME, SHEET)

    注意:賢く使用してください。この関数は、シートNAMEをまっさらなシートに置き換えます。

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


    シートをコピーする

    • シートの名前を変更する

    copyByName(SOURCE_NAME, NEW_NAME, POSITION)

    注意:新しい名前が、存在する場合、それは、SOURCE_NAME_2という名前のシートをコピーし、どんなエラーも発生しません。

    • 同じ文書にコピーする

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


    他の文書からコピー(またはインポート)する

    importSheet(SOURCE, SOURCE_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)


    タブ・シートに色を付けます

    注意:

    便利な関数から、関数get_colorをコピー、あるいは、インポートします。

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


    ⇐ Return to Index