Dienst SFDocuments.Calc

Die gemeinsam genutzte Bibliothek SFDocuments bietet eine Reihe von Methoden und Eigenschaften, um die Verwaltung und Handhabung von LibreOffice-Dokumenten zu erleichtern.

Der Dienst SFDocuments.Calc ist eine Unterklasse de Dienstes SFDocuments.Document. Auf alle fĂŒr den Dienst Document definierten Methoden und Eigenschaften kann auch ĂŒber eine Dienstinstanz Calc zugegriffen werden.

Der Dienst Calc konzentriert sich auf:

note

Diese Hilfeseite beschreibt Methoden und Eigenschaften, die nur fĂŒr Calc-Dokumente gelten.


Dienstaufruf

Vor der Verwendung des Dienstes Calc muss die Bibliothek ScriptForge geladen oder importiert werden:

note

‱ Grundlegende Makros erfordern das Laden der Bibliothek ScriptForge mit der folgenden Anweisung:
GlobalScope.BasicLibraries.loadLibrary("ScriptForge")

‱ Python-Skripte erfordern einen Import aus dem Modul scriptforge:
from scriptforge import CreateScriptService


Der Dienst Calc ist eng verwandt mit dem Dienst UI der Bibliothek ScriptForge. Nachfolgend finden Sie einige Beispiele, wie der Dienst Calc aufgerufen werden kann.

In Basic

Der folgende Code-Schnipsel erstellt eine Dienstinstanz Calc, die dem derzeit aktiven Calc-Dokument entspricht.


    Set oDoc = CreateScriptService("Calc")
  

Eine andere Möglichkeit, eine Instanz des Dienstes Calc zu erstellen, ist die Verwendung des Dienstes UI. Im folgenden Beispiel wird ein neues Calc-Dokument erstellt und oDoc ist eine Dienstinstanz Calc:


    Dim ui As Object, oDoc As Object
    Set ui = CreateScriptService("UI")
    Set oDoc = ui.CreateDocument("Calc")
  

Oder verwenden Sie die Methode OpenDocument des Dienstes UI:


    Set oDoc = ui.OpenDocument("C:\Documents\MyFile.ods")
  

Es ist auch möglich, den Dienst Calc mit der Methode CreateScriptService zu instanziieren:


    Dim oDoc As Object
    Set oDoc = CreateScriptService("SFDocuments.Calc", "MyFile.ods")
  

Im obigen Beispiel ist "MyFile.ods" der Name eines geöffneten Dokumentfensters. Wenn dieses Argument nicht angegeben wird, wird das aktive Fenster berĂŒcksichtigt.

Es wird empfohlen, Ressourcen nach der Verwendung freizugeben:


    Set oDoc = oDoc.Dispose()
  

Wenn das Dokument jedoch mit der Methode CloseDocument geschlossen wurde, ist es unnötig, Ressourcen mit dem oben beschriebenen Befehl freizugeben.

In Python

    myDoc = CreateScriptService("Calc")
  

    ui = CreateScriptService("UI")
    myDoc = ui.CreateDocument("Calc")
  

    myDoc = ui.OpenDocument(r"C:\Documents\MyFile.ods")
  

    myDoc = CreateScriptService("SFDocuments.Calc", "MyFile.ods")
    myDoc.Dispose()
  
tip

Die Verwendung des PrÀfixes "SFDocuments." beim Aufruf des Dienstes ist optional.


Definitionen

Viele Methoden benötigen ein "Sheet" oder einen "Range" als Argument. Einzelne Zellen werden als Sonderfall eines Range betrachtet.

Beide können je nach Situation entweder als Zeichenfolge oder als Referenz (= Objekt) ausgedrĂŒckt werden:

Beispiel:

Im folgenden Beispiel werden Daten aus Dokument A (schreibgeschĂŒtzt geöffnet und ausgeblendet) in Dokument B kopiert.

In Basic

    Dim oDocA As Object, oDocB As Object
    Set oDocA = ui.OpenDocument("C:\Documents\FileA.ods", Hidden := True, ReadOnly := True)
    Set oDocB = ui.OpenDocument("C:\Documents\FileB.ods")
    oDocB.CopyToRange(oDocA.Range("SheetX.D4:F8"), "D2:F6") 'CopyToRange(source, target)
  
In Python

    docA = ui.OpenDocument(r"C:\Documents\FileA.ods", hidden = True, readonly = True)
    docB = ui.OpenDocument(r"C:\Documents\FileB.ods")
    docB.CopyToRange(docA.Range("SheetX.D4:F8"), "D2:F6")
  

SheetName

Entweder der Tabellenname als Zeichenfolge oder ein Objekt, das von der Eigenschaft .Sheet erzeugt wird.

Das KĂŒrzel "~" (Tilde) reprĂ€sentiert die aktuelle Tabelle.

RangeName

Entweder eine Zeichenfolge, die einen Satz zusammenhÀngender Zellen bezeichnet, die sich in einer Tabelle der aktuellen Instanz befinden, oder ein Objekt, das von der Eigenschaft .Range erzeugt wird.

Das KĂŒrzel „~“ (Tilde) reprĂ€sentiert die aktuelle Auswahl oder den ersten ausgewĂ€hlten Bereich, wenn mehrere Bereiche ausgewĂ€hlt sind.

Das KĂŒrzel "*" reprĂ€sentiert alle verwendeten Zellen.

The sheet name is optional when defining a range. If no sheet name is provided, then the active sheet is used. Surrounding single quotes and $ signs are allowed but ignored.

When specifying a SheetName as a string, the use of single quotes to enclose the sheet name are required if the name contains blank spaces " " or periods ".".

The examples below illustrate in which cases the use of single quotes is mandatory:


      ' The use of single quotes is optional
      oDoc.clearAll("SheetA.A1:B10")
      oDoc.clearAll("'SheetA'.A1:B10")
      ' The use of single quotes is required
      oDoc.clearAll("'Sheet.A'.A1:B10")
    
tip

Mit Ausnahme der Eigenschaft CurrentSelection berĂŒcksichtigt der Dienst Calc nur einzelne Zellbereiche.


Beispiele fĂŒr gĂŒltige Bereiche

1) $'SheetX'.D2
2) $D$2

Eine einzelne Zelle

1) $'SheetX'.D2:F6
2) D2:D10

Einzelner Bereich mit mehreren Zellen

$'SheetX'.*

Alle verwendeten Zellen in der angegebenen Tabelle

1) $'SheetX'.A:A (column A)
2) 3:5 (rows 3 to 5)

Alle Zellen in zusammenhÀngenden Spalten oder Zeilen bis zur letzten verwendeten Zelle

MeinBereich

Ein Bereich mit dem Namen "MeinBereich" auf Tabellenebene

1) ~.einBereich
2) SheetX.einBereich

Ein Bereichsname auf Tabellenebene

MyDoc.Range("TabelleX.D2:F6")

Ein Bereich innerhalb der Tabelle „TabelleX“ in der Datei, die der Calc-Instanz "myDoc" zugeordnet ist

~.~ oder ~

Die aktuelle Auswahl in der aktiven Tabelle


Eigenschaften

Alle Eigenschaften, die generisch fĂŒr jedes Dokument sind, gelten implizit auch fĂŒr Calc-Dokumente. Weitere Informationen finden Sie auf der Dokumentendienst-Hilfeseite.

Die speziell fĂŒr Calc-Dokumente verfĂŒgbaren Eigenschaften sind:

Name

SchreibgeschĂŒtzt

Argument

RĂŒckgabetyp

Beschreibung

CurrentSelection

Nein

Ohne

Zeichenfolge oder Matrix mit Zeichenfolgen

Der einzelne ausgewÀhlte Bereich als Zeichenfolge oder die Liste der ausgewÀhlten Bereiche als Matrix.

FirstCell

Ja

SheetName oder RangeName as String

String

Gibt die erste verwendete Zelle in einem bestimmten Bereich oder oder einer bestimmten Tabelle zurĂŒck.

FirstColumn

Ja

SheetName oder RangeName as String

Long

Gibt die ganz linke Spaltennummer in einem bestimmten Bereich oder einer bestimmten Tabelle zurĂŒck.

FirstRow

Ja

SheetName oder RangeName as String

Long

Gibt die oberste Zeilennummer in einem bestimmten Bereich oder einer bestimmten Tabelle zurĂŒck.

Height

Ja

RangeName As String

Long

Die Anzahl der Zeilen (>= 1) im angegebenen Bereich.

LastCell

Ja

SheetName oder RangeName as String

String

Gibt die zuletzt verwendete Zelle in einem bestimmten Bereich oder einer bestimmten Tabelle zurĂŒck.

LastColumn

Ja

SheetName oder RangeName as String

Long

Die zuletzt verwendete Spalte in einem bestimmten Bereich oder einer bestimmten Tabelle.

LastRow

Ja

SheetName oder RangeName as String

Long

Die letzte verwendete Zeile in einem bestimmten Bereich oder einer bestimmten Tabelle.

Range

Ja

RangeName As String

Object

Eine Bereichsreferenz, die als Argument von Methoden wie CopyToRange verwendet werden kann.

Region

Ja

RangeName As String

String

Gibt die Adresse des kleinsten Bereichs zurĂŒck, der den angegebenen Bereich enthĂ€lt, sodass der Bereich von leeren Zellen oder TabellenrĂ€ndern umgeben ist. Dies entspricht der Anwendung von auf den angegebenen Bereich.

Sheet

Ja

SheetName As String

Object

Eine Tabellenreferenz, die als Argument von Methoden wie CopySheet verwendet werden kann.

SheetName

Ja

RangeName As String

String

Gibt den Tabellennamen einer angegebenen Bereichsadresse zurĂŒck.

Sheets

Ja

Ohne

Matrix mit Zeichenfolgen

Die Liste mit den Namen aller vorhandenen Tabellen.

Width

Ja

RangeName As String

Long

Die Anzahl der Spalten (>= 1) im angegebenen Bereich.

XCellRange

Ja

RangeName As String

Object

Ein UNO-Objekt com.sun.star.Table.XCellRange.

XSheetCellCursor

Ja

RangeName As String

Object

Ein UNO-Objekt com.sun.star.sheet.XSheetCellCursor. Nach dem Bewegen des Cursors kann auf die resultierende Bereichsadresse ĂŒber die UNO-Eigenschaft AbsoluteName des Cursorobjekts zugegriffen werden, die dem Wert einer Zeichenfolge zurĂŒckgibt, der als Argument fĂŒr Eigenschaften und Methoden des Dienstes Calc verwendet werden kann.

XSpreadsheet

Ja

SheetName As String

Object

Ein UNO-Objekt com.sun.star.sheet.XSpreadsheet.


tip

Besuchen Sie die Website der LibreOffice API-Dokumentation, um mehr ĂŒber die UNO-Objekte XCellRange, XSheetCellCursor und XSpreadsheet zu lernen.


Methoden

Liste der Methoden im Dienst Calc

A1Style
Activate
Charts
ClearAll
ClearFormats
ClearValues
CompactLeft
CompactUp
CopySheet
CopySheetFromFile
CopyToCell
CopyToRange
CreateChart
CreatePivotTable
DAvg

DCount
DMax
DMin
DSum
ExportRangeToFile
Forms
GetColumnName
GetFormula
GetValue
ImportFromCSVFile
ImportFromDatabase
InsertSheet
MoveRange
MoveSheet
Offset

OpenRangeSelector
PrintOut
Printf
RemoveSheet
RenameSheet
SetArray
SetValue
SetCellStyle
SetFormula
ShiftDown
ShiftLeft
ShiftRight
ShiftUp
SortRange


A1Style

Gibt eine Bereichsadresse als Zeichenfolge basierend auf Tabellenkoordinaten zurĂŒck, das heißt Zeilen- und Spaltennummern.

Wenn nur ein Koordinatenpaar angegeben ist, wird eine Adresse zu einer einzelnen Zelle zurĂŒckgegeben. ZusĂ€tzliche Argumente können die untere rechte Zelle eines rechteckigen Bereichs angeben.

Syntax:

svc.A1Style(row1: int, column1: int, row2: int = 0; column2: int = 0; sheetname: str = "~"): str

Parameter:

row1, column1: Geben Sie die Zeilen- und Spaltennummern der obersten linken Zelle im zu berĂŒcksichtigenden Bereich an. Zeilen- und Spaltennummern beginnen bei 1.

row2, column2: Geben Sie die Zeilen- und Spaltennummern der unteren rechten Zelle im zu berĂŒcksichtigenden Bereich an. Wenn diese Argumente nicht bereitgestellt werden oder wenn Werte kleiner als row1 und column1 angegeben werden, dann wird die Adresse des einzelnen Zellbereichs, der durch row1 und column1 reprĂ€sentiert wird, zurĂŒckgegeben.

sheetname: Der Name der Tabelle, die an die zurĂŒckgegebene Bereichsadresse angehĂ€ngt werden soll. Die Tabelle muss vorhanden sein. Der Standardwert ist "~", entsprechend der derzeit aktiven Tabelle.

Beispiel:

Die folgenden Beispiele in Basic und Python gehen davon aus, dass "Sheet1" die derzeit aktive Tabelle ist.

In Basic

    Set oDoc = CreateScriptService("Calc")
    addr1 = oDoc.A1Style(1, 1) ' '$Sheet1'.$A$1
    addr2 = oDoc.A1Style(2, 2, 3, 6) ' '$Sheet1'.$B$2:$F$3
    addr3 = oDoc.A1Style(2, 2, 0, 6) ' '$Sheet1'.$B$2
    addr4 = oDoc.A1Style(3, 4, 3, 8, "Sheet2") ' '$Sheet2'.$D$3:$H$3
    addr5 = oDoc.A1Style(5, 1, SheetName := "Sheet3") ' '$Sheet3'.$A$5
  
In Python

    doc = CreateScriptService("Calc")
    addr1 = doc.A1Style(1, 1) # '$Sheet1'.$A$1
    addr2 = doc.A1Style(2, 2, 3, 6) # '$Sheet1'.$B$2:$F$3
    addr3 = doc.A1Style(2, 2, 0, 6) # '$Sheet1'.$B$2
    addr4 = doc.A1Style(3, 4, 3, 8, "Sheet2") # '$Sheet2'.$D$3:$H$3
    addr5 = doc.A1Style(5, 1, sheetname="Sheet3") # '$Sheet3'.$A$5
  
tip

Die Methode A1Style kann mit einer der vielen Eigenschaften und Methoden des Dienstes Calc kombiniert werden, die einen Bereich als Argument benötigen, wie beispielsweise GetValue, GetFormula, ClearAll, 



Activate

Wenn das Argument sheetname angegeben wird, wird die angegebene Tabelle aktiviert und zur aktuell ausgewÀhlten Tabelle. Wenn das Argument fehlt, wird das Dokumentfenster aktiviert.

Syntax:

svc.Activate(sheetname: str = ""): bool

Parameter:

sheetname: Der Name der Tabelle, die im Dokument aktiviert werden soll. Der Standardwert ist eine leere Zeichenfolge, was bedeutet, dass das Dokumentfenster aktiviert wird, ohne die aktive Tabelle zu Àndern.

Beispiel:

Das folgende Beispiel aktiviert die Tabelle mit dem Namen "Sheet4" im derzeit aktiven Dokument.

In Basic

    Dim ui as Variant, oDoc as Object
    Set ui = CreateScriptService("UI")
    Set oDoc = ui.GetDocument(ui.ActiveWindow)
    oDoc.Activate("Sheet4")
  
In Python

    ui = CreateScriptService("UI")
    myDoc = ui.GetDocument(ui.ActiveWindow)
    myDoc.Activate("Sheet4")
  
tip

Das Aktivieren einer Tabelle ist nur sinnvoll, wenn es auf einem Calc-Dokument durchgefĂŒhrt wird. Um sicherzustellen, dass Sie ein Calc-Dokument zur Hand haben, können Sie die Eigenschaft isCalc des Dokumentobjekts verwenden, die True zurĂŒckgibt, wenn es sich um ein Calc-Dokument handelt, und False andernfalls.


Charts

Gibt entweder die Liste mit den Namen aller Diagrammobjekte in einer bestimmten Tabelle oder einer einzelnen Dienstinstanz Chart zurĂŒck.

Syntax:

svc.Charts(sheetname: str, chartname: str = ""): obj

Parameter:

sheetname: Der Name der Tabelle, von der die Liste der Diagramme abgerufen werden soll oder in der sich das angegebene Diagramm befindet.

chartname: Der benutzerdefinierte Name des zurĂŒckzugebenden Diagrammobjekts. Wenn das Diagramm keinen benutzerdefinierten Namen hat, kann der interne Objektname verwendet werden. Wenn dieses Argument fehlt, wird die Liste der Diagrammnamen in der angegebenen Tabelle zurĂŒckgegeben.

tip

Verwenden Sie die Seitenleiste Navigator, um die den Diagrammen unter der Kategorie OLE-Objekte zugewiesenen Namen zu ĂŒberprĂŒfen.


Beispiel:

In Basic

Das folgende Beispiel zeigt die Anzahl der Diagrammobjekte in „Sheet1“.


    Dim arrNames as Object
    arrNames = oDoc.Charts("Sheet1")
    MsgBox "There are " & UBound(arrNames) + 1 & " charts in Sheet1"
  

Das folgende Beispiel greift auf das Diagramm mit dem Namen „MyChart“ in „Sheet1“ zu und gibt seinen Typ aus.


    Dim oChart as Object
    oChart = oDoc.Charts("Sheet1", "MyChart")
    MsgBox oChart.ChartType
  
In Python

    bas = CreateScriptService("Basic")
    chart_names = doc.Charts("Sheet1")
    bas.MsgBox(f"There are {len(chart_names)} charts in Sheet1")
  

    chart = doc.Charts("Sheet1", "MyChart")
    bas.MsgBox(chart.ChartType)
  

ClearAll

Löscht alle Inhalte und Formate des angegebenen Bereichs.

Syntax:

svc.ClearAll(range: str)

Parameter:

range: Der zu löschende Bereich als Zeichenfolge.

Beispiel:

In Basic

      oDoc.ClearAll("SheetX.A1:F10")
  
In Python

    myDoc.ClearAll("SheetX.A1:F10")
  

ClearFormats

Löscht die Formate und Vorlagen im angegebenen Bereich.

Syntax:

svc.ClearFormats(range: str)

Parameter:

range: Der Bereich, dessen Formate und Vorlagen gelöscht werden sollen, als eine Zeichenfolge.

Beispiel:

In Basic

      oDoc.ClearFormats("SheetX.*")
  
In Python

    myDoc.ClearFormats("SheetX.*")
  

ClearValues

Löscht die Werte und Formeln im angegebenen Bereich.

Syntax:

svc.ClearValues(range: str)

Parameter:

range: Der Bereich, dessen Werte und Formeln gelöscht werden sollen, als eine Zeichenfolge.

Beispiel:

In Basic

      oDoc.ClearValues("SheetX.A1:F10")
  
In Python

    myDoc.ClearValues("SheetX.A1:F10")
  

CompactLeft

Löscht die Spalten eines angegebenen Bereichs, die mit einem als Calc-Formel ausgedrĂŒckten Filter ĂŒbereinstimmen. Der Filter wird auf jede Spalte angewendet, um zu entscheiden, ob sie gelöscht wird oder nicht.

Die gelöschte Spalte kann auf die Höhe des angegebenen Bereichs begrenzt werden oder die Höhe der gesamten Tabelle umfassen, wodurch ganze Spalten gelöscht werden.

Diese Methode gibt eine Zeichenfolge mit der Bereichsadresse des komprimierten Bereichs zurĂŒck. Wenn alle Spalten gelöscht werden, wird eine leere Zeichenfolge zurĂŒckgegeben.

note

Wenn ein Zellbereich ausgewÀhlt ist, wirkt sich das Aufrufen dieser Methode nicht auf die Auswahl aus.


Syntax:

svc.CompactLeft(range: str, wholecolumn: bool = False, opt filterformula: str): str

Parameter:

range: Der Bereich, aus dem Spalten gelöscht werden, als Zeichenfolge.

wholecolumn: Wenn diese Option auf True gesetzt ist, wird die gesamte Spalte aus der Tabelle gelöscht. Der Standardwert ist False, was bedeutet, dass die gelöschte Spalte auf die Höhe des angegebenen Bereichs begrenzt wird.

filterformula: Der Filter, der auf jede Spalte angewendet wird, um zu bestimmen, ob sie gelöscht wird oder nicht. Der Filter wird als Calc-Formel ausgedrĂŒckt, die auf die erste Spalte angewendet werden sollte. Wenn die Formel fĂŒr eine Spalte True zurĂŒckgibt, wird diese Spalte gelöscht. Der Standardfilter löscht alle leeren Spalten.

Angenommen, der Bereich A1:J200 ist ausgewĂ€hlt (Höhe = 200), die Standardformel lautet also =(COUNTBLANK(A1:A200)=200). Das heißt, wenn alle 200 Zellen in der ersten Spalte (Spalte A) leer sind, dann wird die Spalte gelöscht. Beachten Sie, dass die Formel nur in Bezug auf die erste Spalte ausgedrĂŒckt wird. Intern wird die Methode CompactLeft diese Formel fĂŒr alle verbleibenden Spalten verallgemeinern.

Beispiel:

In Basic

    ' Alle leeren Spalten im Bereich G1:L10 aus Sheet1 löschen
    newrange = oDoc.CompactLeft("Sheet1.G1:L10")
    ' Das folgende Beispiel ist Àhnlich, aber die gesamte Spalte wird aus der Tabelle gelöscht
    newrange = oDoc.CompactLeft("Sheet1.G1:L10", WholeColumn := True)
    ' Löscht alle Spalten, bei denen die erste Zeile mit einem "X" markiert ist
    newrange = oDoc.CompactLeft("Sheet1.G1:L10", FilterFormula := "=(G1=""X"")")
    ' Löscht alle Spalten, bei denen die erste Zeile mit einem "X" markiert ist
    newrange = oDoc.CompactLeft("Sheet1.G1:L10", FilterFormula := "=(MOD(SUM(G1:G10);2)=1)")
  
In Python

    newrange = myDoc.CompactLeft("Sheet1.G1:L10")
    newrange = myDoc.CompactLeft("Sheet1.G1:L10", wholecolumn = True)
    newrange = myDoc.CompactLeft("Sheet1.G1:L10", filterformula = '=(G1="X")')
    newrange = myDoc.CompactLeft("Sheet1.G1:L10", filterformula = '=(MOD(SUM(G1:G10);2)=1)')
  

CompactUp

Löscht die Zeilen eines angegebenen Bereichs, die mit einem als Calc-Formel ausgedrĂŒckten Filter ĂŒbereinstimmen. Der Filter wird auf jede Zeile angewendet, um zu entscheiden, ob sie gelöscht wird oder nicht.

Die gelöschten Zeilen können auf die Breite des angegebenen Bereichs begrenzt werden oder sich ĂŒber die Breite der gesamten Tabelle erstrecken, wodurch ganze Zeilen gelöscht werden.

Diese Methode gibt eine Zeichenfolge mit der Bereichsadresse des komprimierten Bereichs zurĂŒck. Wenn alle Zeilen gelöscht werden, wird eine leere Zeichenfolge zurĂŒckgegeben.

note

Wenn ein Zellbereich ausgewÀhlt ist, wirkt sich das Aufrufen dieser Methode nicht auf die Auswahl aus.


Syntax:

svc.CompactUp(range: str, wholerow: bool = False, opt filterformula: str): str

Parameter:

range: Der Bereich, aus dem Zeilen gelöscht werden, als Zeichenfolge.

wholerow: Wenn diese Option auf True gesetzt ist, wird die gesamte Zeile aus der Tabelle gelöscht. Der Standardwert ist False, was bedeutet, dass die gelöschte Zeile auf die Breite des angegebenen range beschrÀnkt wird.

filterformula: Der Filter, der auf jede Zeile angewendet wird, um zu bestimmen, ob sie gelöscht wird oder nicht. Der Filter wird als Calc-Formel ausgedrĂŒckt, die auf die erste Zeile angewendet werden sollte. Wenn die Formel fĂŒr eine Zeile True zurĂŒckgibt, wird diese Zeile gelöscht. Der Standardfilter löscht alle leeren Zeilen.

Angenommen, der Bereich A1:J200 ist ausgewĂ€hlt (Breite = 10), die Standardformel ist also =(COUNTBLANK(A1:J1)=10). Das heißt, wenn alle 10 Zellen in der ersten Zeile (Zeile 1) leer sind, dann wird die Zeile gelöscht. Beachten Sie, dass die Formel nur in Bezug auf die erste Zeile ausgedrĂŒckt wird. Intern wird die Methode CompactUp diese Formel fĂŒr alle verbleibenden Zeilen verallgemeinern.

Beispiel:

In Basic

    ' Alle leeren Zeilen im Bereich G1:L10 aus Sheet1 löschen
    newrange = oDoc.CompactUp("Sheet1.G1:L10")
    ' Das folgende Beispiel ist Àhnlich, aber die gesamte Zeile wird aus der Tabelle gelöscht
    newrange = oDoc.CompactUp("Sheet1.G1:L10", WholeRow := True)
    ' Löscht alle Zeilen, bei denen die erste Spalte mit einem "X" markiert ist
    newrange = oDoc.CompactUp("Sheet1.G1:L10", FilterFormula := "=(G1=""X"")")
    ' Löscht alle Zeilen, in denen die Summe der Werte in der Zeile ungerade ist
    newrange = oDoc.CompactUp("Sheet1.G1:L10", FilterFormula := "=(MOD(SUM(G1:L1);2)=1)")
  
In Python

    newrange = myDoc.CompactUp("Sheet1.G1:L10")
    newrange = myDoc.CompactUp("Sheet1.G1:L10", wholerow = True)
    newrange = myDoc.CompactUp("Sheet1.G1:L10", filterformula = '=(G1="X")')
    newrange = myDoc.CompactUp("Sheet1.G1:L10", filterformula = '=(MOD(SUM(G1:L1);2)=1)')
  

CopySheet

Kopiert eine angegebene Tabelle vor eine vorhandene Tabelle oder an das Ende der Tabellenliste. Die zu kopierende Tabelle kann in jedem geöffneten Calc-Dokument enthalten sein. Gibt bei Erfolg True zurĂŒck.

Syntax:

svc.CopySheet(sheetname: any, newname: str, [beforesheet: any]): bool

Parameter:

sheetname: Der Name der zu kopierenden Tabelle als Zeichenfolge oder seine Referenz als Objekt.

newname: Der Name der einzufĂŒgenden Tabelle. Der Name darf im Dokument nicht verwendet werden.

beforesheet: Der Name (String) oder Index (numerisch, beginnend mit 1) der Tabelle, vor der die kopierte Tabelle eingefĂŒgt werden soll. Dieses Argument ist optional und standardmĂ€ĂŸig wird die kopierte Tabelle an der letzten Position hinzugefĂŒgt.

Beispiel:

In Basic

Das folgende Beispiel erstellt eine Kopie der TAbelle "SheetX" und platziert sie als letzte Tabelle im aktuellen Dokument. Der Name der kopierten Tabelle ist "SheetY".


    Dim oDoc as Object
    ' Ruft das Objekt "Document" des aktiven Fensters ab
    Set oDoc = CreateScriptService("Calc")
    oDoc.CopySheet("SheetX", "SheetY")
  

Das folgende Beispiel kopiert „SheetS“ aus „File.ods“ und fĂŒgt sie an der letzten Position von „FileB.ods“ mit dem Namen „SheetY“ ein:


      Dim oDocA As Object : Set oDocA = ui.OpenDocument("C:\Documents\FileA.ods", Hidden := True, ReadOnly := True)
      Dim oDocB As Object : Set oDocB = ui.OpenDocument("C:\Documents\FileB.ods")
      oDocB.CopySheet(oDocA.Sheet("SheetX"), "SheetY")
  
In Python

    myDoc.CopySheet("SheetX", "SheetY")
  

    docA = ui.OpenDocument(r"C:\Documents\FileA.ods", hidden = True, readonly = True)
    docB = ui.OpenDocument(r"C:\Documents\FileB.ods")
    docB.CopySheet(docA.Sheet("SheetX"), "SheetY")
  
tip

Um Tabellen zwischen offenen Dokumenten zu kopieren, verwenden Sie CopySheet. Um Tabellen aus geschlossenen Dokumenten zu kopieren, verwenden Sie CopySheetFromFile.


CopySheetFromFile

Kopiert eine bestimmte Tabelle aus einem geschlossenen Calc-Dokument und fĂŒgt sie vor einer bestehenden Tabelle oder am Ende der Liste der Tabellen der Datei ein, auf die durch ein Objekt Document verwiesen wird.

Wenn die Datei nicht existiert, wird ein Fehler ausgelöst. Wenn die Datei keine gĂŒltige Calc-Datei ist, wird eine leere Tabelle eingefĂŒgt. Wenn die Quelltabelle nicht in der Eingabedatei vorhanden ist, wird am Anfang der neu eingefĂŒgten Tabelle eine Fehlermeldung eingefĂŒgt.

Syntax:

svc.CopySheetFromFile(filename: str, sheetname: str, newname: str, [beforesheet: any]): bool

Parameter:

filename: Identifiziert die zu öffnende Datei. Es muss der Notation SF_FileSystem.FileNaming folgen. Die Datei darf nicht mit einem Kennwort geschĂŒtzt sein.

sheetname: Der Name der zu kopierenden Tabelle als eine Zeichenfolge.

newname: Der Name der kopierten Tabelle, die in das Dokument eingefĂŒgt werden soll. Der Name darf im Dokument nicht verwendet werden.

beforesheet: Der Name (Zeichenfolge) oder Index (numerisch, beginnend mit 1) der Tabelle, vor der die kopierte Tabelle eingefĂŒgt werden soll. Dieses Argument ist optional und standardmĂ€ĂŸig wird die kopierte Tabelle an der letzten Position hinzugefĂŒgt.

Beispiel:

Das folgende Beispiel kopiert „SheetX“ aus „myFile.ods“ und fĂŒgt sie in das von „oDoc“ referenzierte Dokument als „SheetY“ an der ersten Position ein.

In Basic

    oDoc.CopySheetFromFile("C:\Documents\myFile.ods", "SheetX", "SheetY", 1)
  
In Python

    myDoc.CopySheetFromFile(r"C:\Documents\myFile.ods", "SheetX", "SheetY", 1)
  

CopyToCell

Kopiert einen angegebenen Quellbereich (Werte, Formeln und Formate) in einen Zielbereich oder eine Zielzelle. Die Methode reproduziert das Verhalten eines Kopier-/EinfĂŒgevorgangs aus einem Bereich in eine einzelne Zelle.

Gibt eine Zeichenfolge zurĂŒck, die den geĂ€nderten Zellbereich darstellt. Die GrĂ¶ĂŸe des modifizierten Bereichs wird vollstĂ€ndig durch die GrĂ¶ĂŸe des Quellbereichs bestimmt.

Der Quellbereich kann zu einem anderen offenen Dokument gehören.

Syntax:

svc.CopyToCell(sourcerange: any, destinationcell: str): str

Parameter:

sourcerange: Der Quellbereich als Zeichenfolge, wenn er zum selben Dokument gehört, oder als Referenz, wenn er zu einem anderen geöffneten Calc-Dokument gehört.

destinationcell: Die Zielzelle, in die der kopierte Zellbereich als Zeichenfolge eingefĂŒgt wird. Wenn ein Bereich angegeben ist, wird nur die obere linke Zelle berĂŒcksichtigt.

Beispiel:

In Basic

Als nÀchstes folgt ein Beispiel, bei dem sich Quelle und Ziel in derselben Datei befinden:


      oDoc.CopyToCell("SheetX.A1:F10", "SheetY.C5")
  

Das folgende Beispiel zeigt, wie Sie einen Bereich aus einem anderen geöffneten Calc-Dokument kopieren:


    Dim ui as Variant : ui = CreateScriptService("UI")
    Dim oDocSource As Object, oDocDestination As Object
    ' Quelldokument im Hintergrund öffnen (ausgeblendet)
    Set oDocSource = ui.OpenDocument("C:\SourceFile.ods", Hidden := True, ReadOnly := True)
    Set oDocDestination = CreateScriptService("Calc")
    oDocDestination.CopyToCell(oDocSource.Range("Sheet1.C2:C4"), "SheetT.A5")
    ' Vergessen Sie nicht, das Quelldokument zu schließen, da es versteckt geöffnet wurde
    oDocSource.CloseDocument()
  
In Python

    docSource = ui.OpenDocument(r"C:\Documents\SourceFile.ods", hidden = True, readonly = True)
    docDestination = CreateScriptService("Calc")
    docDestination.CopyToCell(docSource.Range("Sheet1.C2:C4"), "SheetT.A5")
    docSource.CloseDocument()
  
tip

Um ein Kopieren/EinfĂŒgen aus einem Bereich in eine einzelne Zelle zu simulieren, verwenden Sie CopyToCell. Um ein Kopieren/EinfĂŒgen von einem Bereich in einen grĂ¶ĂŸeren Bereich zu simulieren (wobei dieselben Zellen mehrmals repliziert werden), verwenden Sie CopyToRange.


CopyToRange

Kopiert einen angegebenen Quellbereich (Werte, Formeln und Formate) nach unten und/oder nach rechts in einen Zielbereich. Das Verfahren ahmt das Verhalten eines Kopier-/EinfĂŒgevorgangs von einem Quellbereich in einen grĂ¶ĂŸeren Zielbereich nach.

Die Methode gibt eine Zeichenfolge zurĂŒck, die den geĂ€nderten Zellbereich darstellt.

Der Quellbereich kann zu einem anderen offenen Dokument gehören.

Syntax:

svc.CopyToRange(sourcerange: any, destinationrange: str): str

Parameter:

sourcerange: Der Quellbereich als Zeichenfolge, wenn er zum selben Dokument gehört, oder als Referenz, wenn er zu einem anderen geöffneten Calc-Dokument gehört.

destinationrange: Das Ziel des kopierten Zellbereichs als Zeichenfolge.

Beispiel:

In Basic

Innerhalb desselben Dokuments kopieren:


    oDoc.CopyToRange("SheetX.A1:F10", "SheetY.C5:J5")
    ' Gibt eine Bereichszeichenfolge zurĂŒck: "$SheetY.$C$5:$J$14"
  

Von einer Datei in eine andere kopieren:


    Dim oDocA As Object : Set oDocA = ui.OpenDocument("C:\Documents\FileA.ods", Hidden := True, ReadOnly := True)
    Dim oDocB As Object : Set oDocB = ui.OpenDocument("C:\Documents\FileB.ods")
    oDocB.CopyToRange(oDocA.Range("SheetX.A1:F10"), "SheetY.C5:J5")
  
In Python

    doc.CopyToRange("SheetX.A1:F10", "SheetY.C5:J5")
  

    docA = ui.OpenDocument(r"C:\Documents\FileA.ods", hidden = True, readonly = True)
    docB = ui.OpenDocument(r"C:\Documents\FileB.ods")
    docB.CopyToRange(docA.Range("SheetX.A1:F10"), "SheetY.C5:J5")
  

CreateChart

Erstellt ein neues Diagrammobjekt, das die Daten im angegebenen Bereich anzeigt. Das zurĂŒckgegebene Diagrammobjekt kann mit dem Dienst Chart weiter manipuliert werden.

Syntax:

svc.CreateChart(chartname: str, sheetname: str, range: str, columnheader: bool = False, rowheader: bool = False): obj

Parameter:

chartname: Der benutzerdefinierte Name des zu erstellenden Diagramms. Der Name muss in der selben Tabelle eindeutig sein.

sheetname: Der Name der Tabelle, auf der das Diagramm platziert wird.

range: Der Bereich, der als Datenquelle fĂŒr das Diagramm verwendet werden soll. Der Bereich kann sich auf jede Tabelle des Calc-Dokuments beziehen.

columnheader: Bei True wird die oberste Zeile des Bereichs als Beschriftung fĂŒr die Kategorieachse oder die Legende verwendet (Standard = False).

rowheader: Wenn True, wird die Spalte ganz links des Bereichs als Beschriftung fĂŒr die Kategorieachse oder die Legende verwendet. (Standard = False).

Beispiel:

Die folgenden Beispiele in Basic und Python erstellen ein Diagramm unter Verwendung der im Bereich „A1:B5“ von „Sheet1“ enthaltenen Daten und platzieren das Diagramm in „Sheet2“.

In Basic

    Set oChart = oDoc.CreateChart("MyChart", "Sheet2", "Sheet1.A1:B5", RowHeader := True)
    oChart.ChartType = "Donut"
  
In Python

    chart = doc.CreateChart("MyChart", "Sheet2", "Sheet1.A1:B5", rowheader=True)
    chart.ChartType = "Donut"
  
tip

Weitere Informationen zur weiteren Bearbeitung von Diagrammobjekten finden Sie auf der Hilfeseite zum Chart service von ScriptForge. Es ist möglich, Eigenschaften wie Diagrammtyp, Diagramm- und Achsentitel und Diagrammposition zu Àndern.


CreatePivotTable

Erstellt eine neue Pivot-Tabelle mit den Eigenschaften, welchen durch die an die Methode ĂŒbergebenen Argumente definiert sind.

FĂŒr die Pivot-Tabelle muss ein Name angegeben werden. Wenn in der Zieltabelle bereits eine Pivot-Tabelle mit demselben Namen vorhanden ist, wird sie ohne Warnung ersetzt.

Diese Methode gibt eine Zeichenfolge zurĂŒck, die den Bereich enthĂ€lt, in dem die neue Pivot-Tabelle platziert wurde.

Syntax:

svc.CreatePivotTable(pivottablename: str, sourcerange: str, targetcell: str, datafields: str[0..*], rowfields: str[0..*], columnfields: str[0..*], filterbutton: bool = true, rowtotals: bool = true, columntotals: bool = true): str

Parameter:

pivottablename: Der benutzerdefinierte Name der neuen Pivot-Tabelle.

sourcerange: Der Bereich, der die Rohdaten als Zeichenfolge enthÀlt. Es wird davon ausgegangen, dass die erste Zeile die Feldnamen enthÀlt, die von der Pivot-Tabelle verwendet werden.

targetcell: Die linke obere Zelle, in der die neue Pivot-Tabelle platziert wird. Wenn ein Bereich angegeben ist, wird nur seine obere linke Zelle berĂŒcksichtigt.

datafields: Dies kann entweder eine einzelne Zeichenfolge oder eine Matrix von Zeichenfolgen sein, die anzuwendende Feldnamen und Funktionen definieren. Wenn eine Matrix angegeben wird, muss es der Syntax Array("FieldName[;Function]", 
) folgen.

Die erlaubten Funktionen sind: Sum, Count, Average, Max, Min, Product, CountNums, StDev, StDevP, Var, VarP und Median. Funktionsnamen mĂŒssen in englischer Sprache angegeben werden. Wenn alle Werte numerisch sind, ist Sum die Standardfunktion, andernfalls ist die Standardfunktion Count.

rowfields: Eine einzelne Zeichenfolge oder eine Matrix mit den Feldnamen, die als Pivot-Tabellenzeilen verwendet werden.

columnfields: Eine einzelne Zeichenfolge oder eine Matrix mit den Feldnamen, die als Pivot-Tabellenspalten verwendet werden.

filterbutton: Legt fest, ob ĂŒber der Pivot-Tabelle eine Filter-SchaltflĂ€che angezeigt wird (Standard = True).

rowtotals: Gibt an, ob eine separate Spalte fĂŒr Zeilensummen zur Pivot-Tabelle hinzugefĂŒgt wird (Standard = True).

columntotals: Gibt an, ob eine separate Zeile fĂŒr Spaltensummen zur Pivot-Tabelle hinzugefĂŒgt wird (Standard = True)

Beispiel:

In Basic

    Dim vData As Variant, oDoc As Object, ui As Object, sTable As String, sPivot As String
    Set ui = CreateScriptService("UI")
    Set oDoc = ui.CreateDocument("Calc")
    vData = Array(Array("Item", "State", "Team", "2002", "2003", "2004"), _
        Array("Books", "Michigan", "Jean", 14788, 30222, 23490), _
        Array("Candy", "Michigan", "Jean", 26388, 15641, 32849), _
        Array("Pens", "Michigan", "Jean", 16569, 32675, 25396), _
        Array("Books", "Michigan", "Volker", 21961, 21242, 29009), _
        Array("Candy", "Michigan", "Volker", 26142, 22407, 32841))
    sTable = oDoc.SetArray("A1", vData)
    sPivot = oDoc.CreatePivotTable("PT1", sTable, "H1", _
        Array("2002", "2003;count", "2004;average"), _ ' Drei Datenfelder
        "Item", _ ' Ein einzelnes Zeilenfeld
        Array("State", "Team"), False) ' Zwei Spaltenfelder
  
In Python

    ui = CreateScriptService("UI")
    doc = ui.CreateDocument("Calc")
    vData = [["Item", "State", "Team", "2002", "2003", "2004"],
             ["Books", "Michigan", "Jean", 14788, 30222, 23490],
             ["Candy", "Michigan", "Jean", 26388, 15641, 32849],
             ["Pens", "Michigan", "Jean", 16569, 32675, 25396)],
             ["Books", "Michigan", "Volker", 21961, 21242, 29009],
             ["Candy", "Michigan", "Volker", 26142, 22407, 32841]]
    sTable = doc.SetArray("A1", vData)
    sPivot = doc.CreatePivotTable("PT1", sTable, "H1",
                                  ["2002", "2003;count", "2004;average"],
                                  "Item",
                                  ["State", "Team"], False)
  
tip

Um mehr ĂŒber Pivot-Tabellen in LibreOffice Calc zu erfahren, lesen Sie die Hilfeseite Pivot-Tabelle.


DAvg, DCount, DMax, DMin and DSum

Wendet die Funktionen "Average", "Count", "Max", "Min" und "Sum" jeweils auf alle Zellen an, die numerische Werte in einem bestimmten Bereich enthalten.

Syntax:

svc.DAvg(range: str): float

svc.DCount(range: str): float

svc.DMax(range: str): float

svc.DMin(range: str): float

svc.DSum(range: str): float

Parameter:

range: Der Bereich, auf den die Funktion angewendet wird, als Zeichenfolge.

Beispiel:

Das folgende Beispiel wendet die Funktion Sum auf den Bereich "A1:A1000" der aktuell ausgewÀhlten Tabelle an:

In Basic

      result = oDoc.DSum("~.A1:A1000")
  
In Python

    result = myDoc.DSum("~.A1:A1000")
  
note

Zellen im angegebenen Bereich, die Text enthalten, werden von all diesen Funktionen ignoriert. Beispielsweise zÀhlt die Methode DCount keine Zellen mit Text, sondern nur numerische Zellen.


ExportRangeToFile

Exports the specified range as an image or PDF file.

This method returns True if the destination file was successfully saved.

note

Hidden rows or columns in the specified range are not exported to the destination file.


Syntax:

svc.ExportRangeToFile(range: str, filename: str, imagetype: str = "pdf", overwrite: bool = False): bool

Parameter:

range: A sheet name or a cell range to be exported, as a string.

filename: The name of the file to be saved. It must follow the SF_FileSystem.FileNaming notation.

imagetype: Identifies the destination file type. Possible values are "jpeg", "pdf" (default) and "png".

overwrite: When set to True, the destination file may be overwritten (Default = False).

Beispiel:

In Basic

    ' Exports the entire sheet as a PDF file
    oDoc.ExportRangeToFile("SheetX", "C:\Temp\image.pdf")
    ' Exports the range as a PNG file and overwrites the destination file if it exists
    oDoc.ExportRangeToFile("SheetX.A1:D10", "C:\Temp\image.png", "png", Overwrite := True)
  
In Python

    doc.ExportRangeToFile("SheetX", r"C:\Temp\image.pdf")
    doc.ExportRangeToFile("SheetX.A1:D10", r"C:\Temp\image.png", "png", overwrite = True)
  

Forms

AbhĂ€ngig von den bereitgestellten Parametern gibt diese Methode Folgendes zurĂŒck:

Syntax:

svc.Forms(sheetname: str): str[0..*]

svc.Forms(sheetname: str, form: str = ''): svc

svc.Forms(sheetname: str, form: int): svc

Parameter:

sheetname: Der Name der Tabelle als Zeichenfolge, aus der das Formular abgerufen wird.

form: Der Name oder Index, der einem in der angegebenen Tabelle gespeicherten Formular entspricht. Fehlt dieses Argument, gibt die Methode eine Liste mit den Namen aller in der Tabelle verfĂŒgbaren Formulare zurĂŒck.

Beispiel:

In den folgenden Beispielen erhĂ€lt die erste Zeile die Namen aller Formulare, die in „Tabelle1“ gespeichert sind, und die zweite Zeile ruft das Objekt Form des Formulars namens „Formular_A“ ab, das in „Tabelle1“ gespeichert ist.

In Basic

    Set FormNames = oDoc.Forms("Sheet1")
    Set FormA = oDoc.Forms("Sheet1", "Form_A")
  
In Python

    form_names = doc.Forms("Sheet1")
    form_A = doc.Forms("Sheet1", "Form_A")
  

GetColumnName

Konvertiert eine Spaltennummer zwischen 1 und 1024 in den entsprechenden Buchstaben (Spalte 'A', 'B', 
, 'AMJ'). Wenn die angegebene Spaltennummer außerhalb des zulĂ€ssigen Bereichs liegt, wird eine Zeichenfolge der LĂ€nge Null zurĂŒckgegeben.

Syntax:

svc.GetColumnName(columnnumber: int): str

Parameter:

columnnumber: Die Spaltennummer als ganzzahliger Wert im Intervall 1 
 1024.

Beispiel:

In Basic

Zeigt ein Meldungsfeld mit dem Namen der dritten Spalte an, der standardmĂ€ĂŸig "C" ist.


    MsgBox oDoc.GetColumnName(3)
  
In Python

    bas = CreateScriptService("Basic")
    bas.MsgBox(myDoc.GetColumnName(3))
  
note

Die maximal zulÀssige Anzahl von Spalten auf einer Rechentabelle betrÀgt 1024.


GetFormula

Holt sich die Formel(n), die im angegebenen Zellbereich gespeichert sind, als einzelne Zeichenfolge, als ein- oder zweidimensionale Matrix von Zeichenfolgen.

Syntax:

svc.GetFormula(range: str): any

Parameter:

range: Der Bereich, aus dem die Formeln stammen, als Zeichenfolge.

Beispiel:

In Basic

Das folgende Beispiel gibt eine 3x2-Matrix mit den Formeln im Bereich „A1:B3“ (3 Zeilen x 2 Spalten) zurĂŒck:


    arrFormula = oDoc.GetFormula("~.A1:B3")
  
In Python

    arrFormula = myDoc.GetFormula("~.A1:B3")
  

GetValue

Ruft den/die im angegebenen Zellbereich gespeicherten Wert(e) als Einzelwert, ein- oder zweidimensionale Matrix ab. Alle Werte sind entweder Doubles oder Zeichenfolgen.

Syntax:

svc.GetValue(range: str): any

Parameter:

range: Der Bereich, aus dem die Werte abgerufen werden, als Zeichenfolge.

Beispiel:

In Basic

      arrValues = oDoc.GetValue("~.B1:C100")
  
In Python

    arrValues = myDoc.GetValue("~.B1:C100")
  
note

Wenn eine Zelle ein Datum enthĂ€lt, wird die diesem Datum entsprechende Zahl zurĂŒckgegeben. Um numerische Werte in Basic-Skripten in Datumsangaben umzuwandeln, verwenden Sie die integrierte Funktion CDate von Basic. Verwenden Sie in Python-Skripten die Funktion CDate aus dem Dienst Basic.


ImportFromCSVFile

Importiert den Inhalt einer CSV-formatierten Textdatei und platziert ihn in einer bestimmten Zielzelle.

Der Zielbereich wird von allen Inhalten und Formaten gelöscht, bevor der Inhalt der CSV-Datei eingefĂŒgt wird. Die GrĂ¶ĂŸe des modifizierten Bereichs wird vollstĂ€ndig durch den Inhalt der Eingabedatei bestimmt.

Die Methode gibt eine Zeichenfolge zurĂŒck, die den geĂ€nderten Zellbereich darstellt.

Syntax:

svc.ImportFromCSVFile(filename: str, destinationcell: str, [filteroptions: str]): str

Parameter:

filename: Identifiziert die zu öffnende Datei. Sie muss der Notation SF_FileSystem.FileNaming folgen.

destinationcell: Die Zielzelle zum EinfĂŒgen der importierten Daten als Zeichenfolge. Wenn stattdessen ein Bereich angegeben wird, wird nur die obere linke Zelle berĂŒcksichtigt.

filteroptions: Die Argumente fĂŒr den CSV-Eingabefilter. Der Standardfilter geht von folgenden Annahmen aus:

Beispiel:

In Basic

    oDoc.ImportFromCSVFile("C:\Temp\myCSVFile.csv", "SheetY.C5")
  
In Python

    myDoc.ImportFromCSVFile(r"C:\Temp\myCSVFile.csv", "SheetY.C5")
  
tip

Weitere Informationen zu den CSV-Filteroptionen finden Sie auf der Hilfeseite zu den CSV-Filteroptionen.


ImportFromDatabase

Importiert den Inhalt einer Datenbanktabelle, Abfrage oder Ergebnismenge, das heißt das Ergebnis eines Befehls "SELECT SQL", und fĂŒgt es in eine Zielzelle ein.

Der Zielbereich wird vor dem EinfĂŒgen der importierten Inhalte von allen Inhalten und Formaten gelöscht. Die GrĂ¶ĂŸe des modifizierten Bereichs wird vollstĂ€ndig durch den Inhalt in der Tabelle oder Abfrage bestimmt.

Die Methode gibt True zurĂŒck, wenn der Import erfolgreich war.

Syntax:

svc.ImportFromDatabase(filename: str = "", registrationname: str = "", destinationcell: str = "", sqlcommand: str = "", directsql: bool): bool

Parameter:

filename: Identifiziert die zu öffnende Datei. Er muss der Notation SF_FileSystem.FileNaming folgen.

registrationname: Der Name, der verwendet werden soll, um die Datenbank im Datenbankregister zu finden. Dieses Argument wird ignoriert, wenn filename angegeben wird.

destinationcell: Das Ziel der importierten Daten als Zeichenfolge. Wenn ein Bereich angegeben ist, wird nur die obere linke Zelle berĂŒcksichtigt.

sqlcommand: Ein Tabellen- oder Abfragename (ohne umgebende AnfĂŒhrungszeichen oder eckige Klammern) oder eine Anweisung "SELECTSQL", in der Tabellen- und Feldnamen von eckigen Klammern oder AnfĂŒhrungszeichen umgeben sein können, um die Lesbarkeit zu verbessern.

directsql: Bei True wird der SQL-Befehl ohne Voranalyse an die Datenbank-Engine gesendet. Standard ist False. Bei Tabellen wird das Argument ignoriert. Bei Abfragen ist die angewandte Option diejenige, die festgelegt wurde, als die Abfrage definiert wurde.

Beispiel:

In Basic

    oDoc.ImportFromDatabase("C:\Temp\myDbFile.odb", , "SheetY.C5", "SELECT * FROM [Employees] ORDER BY [LastName]")
  
In Python

    myDoc.ImportFromDatabase(r"C:\Temp\myDbFile.odb", , "SheetY.C5", "SELECT * FROM [Employees] ORDER BY [LastName]")
  

InsertSheet

FĂŒgt eine neue leere Tabelle vor einer bestehenden Tabelle oder am Ende der Tabellenliste ein.

Syntax:

svc.InsertSheet(sheetname: str, [beforesheet: any]): bool

Parameter:

sheetname: Der Name der neuen Tabelle.

beforesheet: Der Name (Zeichenfolge) oder Index (numerisch, beginnend mit 1) der Tabelle, vor der die neue Tabelle eingefĂŒgt werden soll. Dieses Argument ist optional und das Standardverhalten besteht darin, die Tabelle an der letzten Position einzufĂŒgen.

Beispiel:

Das folgende Beispiel fĂŒgt eine neue leere Tabelle mit dem Namen "SheetX" ein und platziert sie vor "SheetY":

In Basic

    oDoc.InsertSheet("SheetX", "SheetY")
  
In Python

    myDoc.InsertSheet("SheetX", "SheetY")
  

MoveRange

Verschiebt einen angegebenen Quellbereich in einen Zielbereich von Zellen. Die Methode gibt eine Zeichenfolge zurĂŒck, die den geĂ€nderten Zellbereich darstellt. Die GrĂ¶ĂŸe des modifizierten Bereichs wird vollstĂ€ndig durch die GrĂ¶ĂŸe des Quellbereichs bestimmt.

Syntax:

svc.MoveRange(source: str, destination: str): str

Parameter:

source: Der Quellbereich der Zellen als Zeichenfolge.

destination: Die Zielzelle als Zeichenfolge. Wenn ein Bereich angegeben ist, wird seine obere linke Zelle als Ziel betrachtet.

Beispiel:

In Basic

    oDoc.MoveRange("SheetX.A1:F10", "SheetY.C5")
  
In Python

    myDoc.MoveRange("SheetX.A1:F10", "SheetY.C5")
  

MoveSheet

Verschiebt eine vorhandene Tabelle und platziert sie vor einer angegebenen Tabelle oder am Ende der Tabellenliste.

Syntax:

svc.MoveSheet(sheetname: str, [beforesheet: any]): bool

Parameter:

sheetname: Der Name der zu verschiebenden Tabelle. Die Tabelle muss vorhanden sein oder es wird eine Ausnahme ausgelöst.

beforesheet: Der Name (Zeichenfolge) oder Index (numerisch, beginnend bei 1) der Tabelle, vor der die Originaltabelle platziert wird. Dieses Argument ist optional und das Standardverhalten besteht darin, die Tabelle an die letzte Position zu verschieben.

Beispiel:

Das folgende Beispiel verschiebt die vorhandene Tabelle „SheetS“ und platziert sie vor „SheetY“:

In Basic

    oDoc.MoveSheet("SheetX", "SheetY")
  
In Python

    myDoc.MoveSheet("SheetX", "SheetY")
  

Offset

Gibt einen neuen Bereich (als Zeichenfolge) zurĂŒck, der um eine bestimmte Anzahl von Zeilen und Spalten aus einem bestimmten Bereich versetzt ist.

Diese Methode hat das gleiche Verhalten wie die Funktion VERSCHIEBUNG des gleichnamigen Calc.

Syntax:

svc.Offset(reference: str, rows: int = 0, columns: int = 0, [height: int], [width: int]): str

Parameter:

reference: Der Bereich als Zeichenfolge, den die Methode als Referenz verwendet, um die Operation "offset" auszufĂŒhren.

rows: Die Anzahl der Zeilen, um die der anfÀngliche Bereich nach oben (negativer Wert) oder nach unten (positiver Wert) verschoben wird. Verwenden Sie 0 (Standard), um in derselben Zeile zu bleiben.

columns: Die Anzahl der Spalten, um die der anfÀngliche Bereich nach links (negativer Wert) oder nach rechts (positiver Wert) verschoben wird. Verwenden Sie 0 (Standard), um in derselben Spalte zu bleiben.

height: Die vertikale Höhe fĂŒr einen Bereich, der an der neuen Bereichsposition beginnt. Lassen Sie dieses Argument weg, wenn keine vertikale GrĂ¶ĂŸenanpassung erforderlich ist.

width: Die horizontale Breite fĂŒr einen Bereich, der an der neuen Bereichsposition beginnt. Lassen Sie dieses Argument weg, wenn keine horizontale GrĂ¶ĂŸenanpassung erforderlich ist.

Die Argumente rows und columns dĂŒrfen nicht zu Null oder einer negativen Anfangszeile oder -spalte fĂŒhren.

Die Argumente height und width dĂŒrfen nicht zu Null oder einer negativen Anzahl von Zeilen oder Spalten fĂŒhren.

Beispiel:

In Basic

    oDoc.Offset("A1", 2, 2)
    ' SheetX.$C$3 (A1 um zwei Zeilen und zwei Spalten nach unten verschoben)
    oDoc.Offset("A1", 2, 2, 5, 6)
    ' SheetX.$C$3:$H$7 (A1 versetzt um zwei Zeilen und Spalten mit einer Breite von 5 Zeilen und 6 Spalten)
  
In Python

    myDoc.Offset("A1", 2, 2)
    myDoc.Offset("A1", 2, 2, 5, 6)
  

OpenRangeSelector

Öffnet einen nicht modalen Dialog, der zur Auswahl eines Bereichs im Dokument verwendet werden kann, und gibt eine Zeichenfolge zurĂŒck, die den ausgewĂ€hlten Bereich enthĂ€lt.

note

Diese Methode öffnet denselben Dialog, der von LibreOffice verwendet wird, wenn die SchaltflĂ€che Verkleinern gedrĂŒckt wird. Zum Beispiel hat der Dialog unter Extras – Zielwertsuche
 eine SchaltflĂ€che zum Verkleinern rechts neben dem Feld Formelzelle.


Diese Methode Àndert die aktuelle Auswahl nicht.

Syntax:

svc.OpenRangeSelector(opt title: str, opt selection: str, singlecell: bool = False, closeafterselect: bool = True): str

Parameter:

title: Der Titel des Dialogs als Zeichenfolge.

selection: Ein optionaler Bereich, der anfÀnglich ausgewÀhlt wird, wenn der Dialog angezeigt wird.

singlecell: Bei True (Standard) ist nur die Auswahl einzelner Zellen erlaubt. Bei False ist eine Bereichsauswahl erlaubt.

closeafterselect: Bei True (Standard) wird der Dialog unmittelbar nach der Auswahl geschlossen. Bei False kann der Benutzer die Auswahl beliebig oft Ă€ndern und den Dialog dann manuell schließen.

Beispiel:

In Basic

    Dim sRange as String
    sRange = oDoc.OpenRangeSelector(Title := "Select a range")
  
In Python

    sRange = myDoc.OpenRangeSelector(title = "Select a range")
  

Printf

Gibt die Eingabezeichenfolge zurĂŒck, nachdem ihre Zeichen "token" durch ihre Werte in einem bestimmten Bereich ersetzt wurden.

Diese Methode Àndert die aktuelle Auswahl nicht.

tip

Diese Methode kann verwendet werden, um schnell bestimmte Teile eines Bereichsnamens zu extrahieren, beispielsweise den Tabellennamen oder die erste Zellenspalte und -zeile, und sie zum Erstellen einer neuen Bereichsadresse zu verwenden.


Syntax:

svc.Printf(inputstr: str, range: str, tokencharacter: str = "%"): str

Parameter:

inputstr: Die Zeichenfolge, welche "token" enthÀlt, die durch die entsprechenden Werte in range ersetzt werden.

range: Ein RangeName, aus dem Werte extrahiert werden. Wenn er einen Tabellennamen enthÀlt, muss die Tabelle vorhanden sein.

tokencharacter: Zeichen zur Identifizierung von "token". StandardmĂ€ĂŸig ist "%" das Zeichen fĂŒr "token". Folgende "token" werden akzeptiert:

Beispiel:

In Basic

Das folgende Beispiel extrahiert jedes Element des in sRange definierten RangeName und verwendet sie, um eine Nachricht zu erstellen.


    Dim sRange as String, sInputStr as String
    sRange = "Sheet1.A1:E10"
    sInputStr = "Sheet name: %S" & Chr(10) & _
                "First row: %R1" & Chr(10) & _
                "First column %C1" & Chr(10) & _
                "Last row %R2" & Chr(10) & _
                "Last column %C2"
    MsgBox oDoc.Printf(sInputStr, sRange)
  

Die Methode Printf kann mit SetFormula kombiniert werden, um Formeln ĂŒber mehrere Zellen zu erstellen. Stellen Sie sich beispielsweise eine Tabelle mit numerischen Werten im Bereich „A1:E10“ vor, aus der Formeln erstellt werden sollen, um die Werte in jeder Zeile zu summieren und die Ergebnisse im Bereich „F1:F10“ zu platzieren:


    Dim sFormula as String, sRange as String
    sRange = "A1:E10"
    ' Beachten Sie die Verwendung des Zeichens "$"
    sFormula = "=SUM($%C1%R1:$%C2%R1)"
    oDoc.SetFormula("F1:F10", oDoc.Printf(sFormula, sRange))
  
In Python

    sRange = "Sheet1.A1:E10"
    sInputStr = "Sheet name: %S\n" \
                "First row: %R1\n" \
                "First column %C1\n" \
                "Last row %R2\n" \
                "Last column %C2"
    bas = CreateScriptService("Basic")
    bas.MsgBox(myDoc.Printf(sInputStr, sRange))
  

    sRange = "A1:E10
    sFormula = "=SUM($%C1%R1:$%C2%R1)"
    myDoc.SetFormula("F1:F10", myDoc.Printf(sFormula, sRange))
  

PrintOut

Diese Methode sendet den Inhalt der angegebenen Tabelle an den Standarddrucker oder an den Drucker, der durch die Methode SetPrinter des Dienstes Document definiert wurde.

Gibt True zurĂŒck, wenn die Tabelle erfolgreich gedruckt wurde.

Syntax:

svc.PrintOut(opt sheetname: str, pages: str = "", copies: num = 1): bool

Parameter:

sheetname: Die zu druckende Tabelle, Standard ist die aktive Tabelle.

pages: Die zu druckenden Seiten als Zeichenfolgen wie in der BenutzeroberflÀche. Beispiel: "1-4;10;15-18". Standard ist alle Seiten.

copies: Die Anzahl der Kopien. Standard ist 1.

Beispiel:

In Basic

    If oDoc.PrintOut("SheetX", "1-4;10;15-18", Copies := 2) Then
        ' ...
    End If
  
In Python

    if doc.PrintOut('SheetX', copies=3, pages='45-88'):
        # ...
  

RemoveSheet

Entfernt eine vorhandene Tabelle aus dem Dokument.

Syntax:

svc.RemoveSheet(sheetname: str): bool

Parameter:

Tabellenname: Der Name der zu entfernenden Tabelle.

Beispiel:

In Basic

    oDoc.RemoveSheet("SheetY")
  
In Python

    myDoc.RemoveSheet("SheetY")
  

RenameSheet

Benennt die angegebene Tabelle um und gibt bei Erfolg True zurĂŒck.

Syntax:

svc.RenameSheet(sheetname: str, newname: str): bool

Parameter:

sheetname: Der Name der umzubenennenden Tabelle.

newname: Der neue Name der Tabelle. Sie darf noch nicht existieren.

Beispiel:

In diesem Beispiel wird die aktive Tabelle in "SheetY" umbenannt:

In Basic

    oDoc.RenameSheet("~", "SheetY")
  
In Python

    mydoc.RenameSheet("~", "SheetY")
  

SetArray

Speichert den angegebenen Wert ab einer angegebenen Zielzelle. Der aktualisierte Bereich erweitert sich von der Zielzelle oder von der oberen linken Ecke des angegebenen Bereichs, um die GrĂ¶ĂŸe des Eingabearguments value aufzunehmen. Vektoren werden immer vertikal erweitert.

Die Methode gibt eine Zeichenfolge zurĂŒck, die den geĂ€nderten Bereich als Zellbereich darstellt.

Syntax:

svc.SetArray(targetcell: str, value: any): str

Parameter:

targetcell: Die Zelle oder ein Bereich als Zeichenfolge, ab welcher/welchem der angegebene Wert gespeichert werden soll.

value: Ein Skalar, ein Vektor oder eine Matrix (in Python, ein- oder zweidimensionale Listen und Tupel) mit den neuen Werten, die aus der Zielzelle oder aus der oberen linken Ecke des Bereichs gespeichert werden sollen, wenn targetcell ein Bereich ist. Die neuen Werte mĂŒssen Zeichenfolgen, numerische Werte oder Datumsangaben sein. Bei anderen Typen werden die entsprechenden Zellen geleert.

Beispiel:

In Basic

Das folgende Beispiel verwendet die integrierte Funktion "DimArray", um eine Matrix zu erstellen und es dann in Zelle "A1" zu speichern:


    Dim arrData as Variant
    arrData = DimArray(2, 1)
    arrData(0, 0) = 1 : arrData(1, 0) = 2 : arrData(2, 0) = 3
    arrData(0, 1) = "One" : arrData(1, 1) = "Two" : arrData(2, 1) = "Three"
    oDoc.SetArray("Sheet1.A1", arrData)
  

Dieses Beispiel verwendet die Methode RangeInit des Matrixdienstes "ScriptForge" zum Erstellen einer Matrix mit Werten, die dann ab Zelle "A1" und abwÀrts gespeichert werden.


    ' Erste Spalte mit Werten von 1 bis 1000 fĂŒllen
    oDoc.SetArray("Sheet1.A1", SF_Array.RangeInit(1, 1000))
  
In Python

    arrData = ((1, "One"), (2, "Two"), (3, "Three"))
    myDoc.SetArray("Sheet1.A1", arrData)
  

    myDoc.SetArray("Sheet1.A1", tuple(i + 1 for i in range(1000)))
  
tip

Um den gesamten Inhalt einer MAtrix in einer Tabelle auszugeben, verwenden Sie SetArray. Um den Inhalt eines Arrays nur innerhalb der Grenzen des Zielbereichs von Zellen auszugeben, verwenden Sie SetValue.


SetValue

Speichert den angegebenen Wert im angegebenen Bereich. Die GrĂ¶ĂŸe des modifizierten Bereichs entspricht der GrĂ¶ĂŸe des Zielbereichs.

Die Methode gibt eine Zeichenfolge zurĂŒck, die den geĂ€nderten Bereich als Zellbereich darstellt.

Syntax:

svc.SetValue(targetrange: str, value: any): str

Parameter:

targetrange: Der Bereich, in dem der angegebene Wert als Zeichenfolge gespeichert werden soll.

value: Ein Skalar, ein Vektor oder eine Matrix mit den neuen Werten fĂŒr jede Zelle des Bereichs. Die neuen Werte mĂŒssen Zeichenfolgen, numerische Werte oder Datumsangaben sein. Bei anderen Typen werden die entsprechenden Zellen geleert.

Der gesamte Bereich wird aktualisiert und der Rest der Tabelle bleibt unverĂ€ndert. Wenn die GrĂ¶ĂŸe von value kleiner als die GrĂ¶ĂŸe von targetrange ist, dann werden die restlichen Zellen geleert.

Wenn die GrĂ¶ĂŸe von value grĂ¶ĂŸer als die GrĂ¶ĂŸe von targetrange ist, dann wird value nur teilweise kopiert, bis es die GrĂ¶ĂŸe von targetrange ausfĂŒllt.

Vektoren werden vertikal expandiert, außer wenn targetrange eine Höhe von genau 1 Zeile hat.

Beispiel:

In Basic

    oDoc.SetValue("A1", 2)
    ' Die Matrix "Below the Value" ist kleiner als "TargetRange" (verbleibende Zellen werden geleert)
    oDoc.SetValue("A1:F1", Array(1, 2, 3))
    ' "Below the Value" und "TargetRange" haben die gleiche GrĂ¶ĂŸe
    oDoc.SetValue("A1:D2", SF_Array.AppendRow(Array(1, 2, 3, 4), Array(5, 6, 7, 8)))
  

Wenn Sie eine einzelne Zeile mit Werten fĂŒllen möchten, können Sie die Funktion Offset verwenden. Beachten Sie im folgenden Beispiel, dass arrData eine eindimensionale Matrix ist:


    Dim firstCell As String : firstCell = "A1"
    Dim lenArray As Integer : lenArray = UBound(arrData) - LBound(arrData) + 1
    Dim newRange As String : newRange = oDoc.Offset(firstCell, width = lenArray)
    oDoc.SetValue(newRange, arrData)
  
In Python

    myDoc.SetValue("A1", 2)
    myDoc.SetValue("A1:F1", (1, 2, 3))
    myDoc.SetValue("A1:D2", ((1, 2, 3, 4), (5, 6, 7, 8)))
  

    firstCell = "A1"
    newRange = doc.Offset(firstCell, width = len(arrData))
    doc.SetValue(newRange, arrData)
  

SetCellStyle

Wendet die angegebene Zellvorlage auf den angegebenen Zielbereich an. Der gesamte Bereich wird aktualisiert und der Rest der Tabelle bleibt unberĂŒhrt. Wenn die Zellvorlage nicht vorhanden ist, wird ein Fehler ausgelöst.

Die Methode gibt eine Zeichenfolge zurĂŒck, die den geĂ€nderten Bereich als Zellbereich darstellt.

Syntax:

svc.SetCellStyle(targetrange: str, style: str): str

Parameter:

targetrange: Der Bereich, auf den die Vorlage angewendet wird, als Zeichenfolge.

style: Der Name der anzuwendenden Zellvorlage.

Beispiel:

In Basic

    oDoc.SetCellStyle("A1:J1", "Heading 1")
    oDoc.SetCellStyle("A2:J100", "Neutral")
  
In Python

    myDoc.SetCellStyle("A1:J1", "Heading 1")
    myDoc.SetCellStyle("A2:J100", "Neutral")
  

SetFormula

FĂŒgt die angegebene(n) Formel(n) in den angegebenen Bereich ein. Die GrĂ¶ĂŸe des modifizierten Bereichs ist gleich der GrĂ¶ĂŸe des Bereichs.

Die Methode gibt eine Zeichenfolge zurĂŒck, die den geĂ€nderten Bereich als Zellbereich darstellt.

Syntax:

svc.SetFormula(targetrange: str, formula: any): str

Parameter:

targetrange: Der Bereich zum EinfĂŒgen der Formeln als Zeichenfolge.

formula: Eine Zeichenfolge, ein Vektor oder eine Matrix von Zeichenfolgen mit den neuen Formeln fĂŒr jede Zelle im Zielbereich.

Der gesamte Bereich wird aktualisiert und der Rest der Tabelle bleibt unverÀndert.

Wenn die angegebene Formel eine Zeichenfolge ist, wird die eindeutige Formel entlang des gesamten Bereichs mit Anpassung der relativen Referenzen eingefĂŒgt.

Wenn die GrĂ¶ĂŸe von formula kleiner als die GrĂ¶ĂŸe von targetrange ist, dann werden die restlichen Zellen geleert.

Wenn die GrĂ¶ĂŸe von formula grĂ¶ĂŸer ist als die GrĂ¶ĂŸe von targetrange, dann werden die Formeln nur teilweise kopiert, bis sie die GrĂ¶ĂŸe von targetrange ausfĂŒllen.

Vektoren werden immer vertikal expandiert, außer wenn targetrange eine Höhe von genau einer Zeile hat.

Beispiel:

In Basic

    oDoc.SetFormula("A1", "=A2")
    ' Horizontaler Vektor, teilweise leer
    oDoc.SetFormula("A1:F1", Array("=A2", "=B2", "=C2+10"))
    ' D2 enthÀlt die Formel "=H2"
    oDoc.SetFormula("A1:D2", "=E1")
  
In Python

    myDoc.SetFormula("A1", "=A2")
    myDoc.SetFormula("A1:F1", ("=A2", "=B2", "=C2+10"))
    myDoc.SetFormula("A1:D2", "=E1")
  

ShiftDown

Verschiebt einen bestimmten Zellbereich nach unten, indem leere Zeilen eingefĂŒgt werden. Die aktuelle Auswahl ist davon nicht betroffen.

AbhĂ€ngig vom Wert des Arguments wholerow können die eingefĂŒgten Zeilen entweder die Breite des angegebenen Bereichs oder alle Spalten in der Zeile umfassen.

Diese Methode gibt eine Zeichenfolge zurĂŒck, welche die neue Position des ursprĂŒnglichen Bereichs darstellt.

note

Wenn der verschobene Bereich die TabellenrĂ€nder ĂŒberschreitet, passiert nichts.


Syntax:

svc.ShiftDown(range: str, wholerow: bool = False, opt rows: int): str

Parameter:

range: Der Bereich, ĂŒber dem Zeilen eingefĂŒgt werden, als Zeichenfolge.

wholerow: Wenn auf False gesetzt (Standard), dann entspricht die Breite der eingefĂŒgten Zeilen der Breite des angegebenen range. Andernfalls erstreckt sich die eingefĂŒgte Zeile ĂŒber alle Spalten in der Tabelle.

rows: Die Anzahl der einzufĂŒgenden Zeilen. Der Standardwert ist die Höhe des ursprĂŒnglichen range. Die Anzahl der Zeilen muss eine positive Zahl sein.

Beispiel:

In Basic

    ' Verschiebt den Bereich "A3:D3" um eine Zeile nach unten; betrifft nur die Spalten A bis D
    oDoc.ShiftDown("A3:D3")
    ' Die eingefĂŒgte Zeile erstreckt sich ĂŒber alle Spalten in der Tabelle
    oDoc.ShiftDown("A3:D3", WholeRow := True)
    ' Verschiebt den Bereich "A3:D3" um fĂŒnf Zeilen nach unten
    oDoc.ShiftDown("A3:D3", Rows := 5)
    ' Verschiebt den Bereich "A3:D10" um zwei Zeilen nach unten und zeigt die neue Position des ursprĂŒnglichen Bereichs an
    Dim sNewRange as String
    sNewRange = oDoc.ShiftDown("A3:D10", Rows := 2)
    MsgBox sNewRange   ' $Sheet1.$A$5:$D$12
  
In Python

    myDoc.ShiftDown("A3:D3")
    myDoc.ShiftDown("A3:D3", wholerow = True)
    myDoc.ShiftDown("A3:D3", rows = 5)
    sNewRange = myDoc.ShiftDown("A3:D10", rows = 2)
    bas = CreateScriptService("Basic")
    bas.MsgBox(sNewRange)
  

ShiftLeft

Löscht die Ă€ußerst linken Spalten eines bestimmten Bereichs und verschiebt alle Zellen rechts vom betroffenen Bereich nach links. Die aktuelle Auswahl ist davon nicht betroffen.

AbhÀngig vom Wert des Arguments wholecolumn können die gelöschten Spalten entweder die Höhe des angegebenen Bereichs oder alle Zeilen in der Spalte umfassen.

Diese Methode gibt eine Zeichenfolge zurĂŒck, welche die Position des verbleibenden Teils des ursprĂŒnglichen Bereichs darstellt. Wenn alle Zellen im ursprĂŒnglichen Bereich gelöscht wurden, wird eine leere Zeichenfolge zurĂŒckgegeben.

Syntax:

svc.ShiftLeft(range: str, wholecolumn: bool = False, opt columns: int): str

Parameter:

range: Der Bereich, aus dem Zellen gelöscht werden, als Zeichenfolge.

wholecolumn: Wenn auf False gesetzt (Standard), dann ist die Höhe der gelöschten Spalten gleich der Höhe des angegebenen range. Andernfalls erstrecken sich die gelöschten Spalten ĂŒber alle Zeilen in der Tabelle.

colums: Die Anzahl der zu löschenden Spalten aus dem angegebenen range. Der Standardwert ist die Breite des ursprĂŒnglichen range, der auch der Maximalwert dieses Arguments ist.

Beispiel:

In Basic

    ' Löscht den Bereich "B3:B6"; bewegt alle verbleibenden Zellen nach rechts
    oDoc.ShiftLeft("B3:B6")
    ' Löscht die erste Spalte im Bereich "A3:D6"
    oDoc.ShiftLeft("A3:D6", Columns := 1)
    ' Die gelöschten Spalten (A bis D) erstrecken sich ĂŒber alle Zeilen in der Tabelle
    oDoc.ShiftLeft("A3:D6", WholeColumn := True)
  
In Python

    myDoc.ShiftLeft("B3:B6")
    myDoc.ShiftLeft("A3:D6", Columns = 1)
    myDoc.ShiftLeft("A3:D6", WholeColumn = True)
  

ShiftUp

Löscht die obersten Zeilen eines bestimmten Bereichs und verschiebt alle Zellen unterhalb des betroffenen Bereichs nach oben. Die aktuelle Auswahl ist davon nicht betroffen.

AbhÀngig vom Wert des Arguments wholerow können die gelöschten Zeilen entweder die Breite des angegebenen Bereichs oder alle Spalten in der Zeile umfassen.

Diese Methode gibt eine Zeichenfolge zurĂŒck, welche die Position des verbleibenden Teils des ursprĂŒnglichen Bereichs darstellt. Wenn alle Zellen im ursprĂŒnglichen Bereich gelöscht wurden, wird eine leere Zeichenfolge zurĂŒckgegeben.

Syntax:

svc.ShiftUp(range: str, wholerow: bool = False, opt rows: int): str

Parameter:

range: Der Bereich, aus dem Zellen gelöscht werden, als Zeichenfolge.

wholerow: Wenn auf False gesetzt (Standard), dann entspricht die Breite der gelöschten Zeilen der Breite des angegebenen range. Andernfalls erstreckt sich die gelöschte Zeile ĂŒber alle Spalten in der Tabelle.

rows: Die Anzahl der zu löschenden Zeilen aus dem angegebenen range. Der Standardwert ist die Höhe des ursprĂŒnglichen range, der auch der Maximalwert dieses Arguments ist.

Beispiel:

In Basic

    ' Löscht den Bereich "A3:D3"; verschiebt alle darunterliegenden Zellen um eine Zeile nach oben
    oDoc.ShiftUp("A3:D3")
    ' Löscht die erste Zeile im Bereich "A3:D6"
    oDoc.ShiftUp("A3:D6", Rows := 1)
    ' Die gelöschten Zeilen erstrecken sich ĂŒber alle Spalten in der Tabelle
    oDoc.ShiftUp("A3:D6", WholeRow := True)
  
In Python

    myDoc.ShiftUp("A3:D3")
    myDoc.ShiftUp("A3:D6", rows = 1)
    myDoc.ShiftUp("A3:D6", wholerow = True)
  

ShiftRight

Verschiebt einen bestimmten Zellbereich nach rechts, indem leere Spalten eingefĂŒgt werden. Die aktuelle Auswahl ist davon nicht betroffen.

AbhĂ€ngig vom Wert des Arguments wholecolumn können die eingefĂŒgten Spalten entweder die Höhe des angegebenen Bereichs oder alle Zeilen in der Spalte umfassen.

Diese Methode gibt eine Zeichenfolge zurĂŒck, welche die neue Position des ursprĂŒnglichen Bereichs darstellt.

note

Wenn der verschobene Bereich die TabellenrĂ€nder ĂŒberschreitet, passiert nichts.


Syntax:

svc.ShiftRight(range: str, wholecolumn: bool = False, opt columns: int): str

Parameter:

range: Der Bereich, in den leere Spalten links eingefĂŒgt werden, als Zeichenfolge.

wholecolumn: Wenn auf False gesetzt (Standard), dann entspricht die Höhe der eingefĂŒgten Spalten der Höhe des angegebenen range. Andernfalls erstrecken sich die eingefĂŒgten Spalten ĂŒber alle Zeilen in der Tabelle.

columns: Die Anzahl der einzufĂŒgenden Spalten. Der Standardwert ist die Breite des ursprĂŒnglichen range.

Beispiel:

In Basic

    ' Bewegt den Bereich "A3:A6" um eine Spalte nach rechts; betrifft nur die Zeilen 3 bis 6
    oDoc.ShiftRight("A3:A6")
    ' Bewegt den Bereich "A3:A6" um fĂŒnf Spalten nach rechts
    oDoc.ShiftRight("A3:A6", Columns := 5)
    ' Die eingefĂŒgte Spalte erstreckt sich ĂŒber alle Zeilen in der Tabelle
    oDoc.ShiftRight("A3:A6", WholeColumn := True)
  
In Python

    myDoc.ShiftRight("A3:A6")
    myDoc.ShiftRight("A3:A6", columns = 5)
    myDoc.ShiftRight("A3:A6", wholecolumn = True)
  

SortRange

Sortiert den angegebenen Bereich nach bis zu 3 Spalten/Zeilen. Die Sortierreihenfolge kann je nach Spalte/Zeile variieren. Gibt eine Zeichenfolge zurĂŒck, die den geĂ€nderten Zellbereich darstellt. Die GrĂ¶ĂŸe des modifizierten Bereichs wird vollstĂ€ndig durch die GrĂ¶ĂŸe des Quellbereichs bestimmt.

Syntax:

svc.SortRange(range: str, sortkeys: any, sortorder: any = "ASC", destinationcell: str = "", containsheader: bool = False, casesensitive: bool = False, sortcolumns: bool = False): str

Parameter:

range: Der zu sortierende Bereich als Zeichenfolge.

sortkeys: Ein Skalar (wenn 1 Spalte/Zeile) oder eine Matrix von Spalten-/Zeilennummern beginnend bei 1. Die maximale Anzahl von SchlĂŒsseln ist 3.

sortorder: Ein Skalar oder eine Matrix von Zeichenfolgen, welche die Werte "ASC" (aufsteigend), "DESC" (absteigend) oder "" (standardmĂ€ĂŸig aufsteigend) enthalten. Jedes Element wird mit dem entsprechenden Element in sortkeys gepaart. Wenn die Matrix sortorder kĂŒrzer als sortkeys ist, werden die restlichen SchlĂŒssel in aufsteigender Reihenfolge sortiert.

destinationcell: Die Zielzelle des sortierten Zellenbereichs als Zeichenfolge. Wenn ein Bereich angegeben ist, wird nur die obere linke Zelle berĂŒcksichtigt. StandardmĂ€ĂŸig wird der Quellbereich ĂŒberschrieben.

containsheader: Bei True wird die erste Zeile/Spalte nicht sortiert.

casesensitive: Nur fĂŒr Zeichenfolgenvergleiche. Standard = Falsch

sortcolumns: Bei True werden die Spalten von links nach rechts sortiert. Standard = False: Zeilen werden von oben nach unten sortiert.

Beispiel:

In Basic

    ' Bereich nach Spalten A (aufsteigend) und C (absteigend) sortieren
    oDoc.SortRange("A2:J200", Array(1, 3), Array("ASC", "DESC"), CaseSensitive := True)
  
In Python

    myDoc.SortRange("A2:J200", (1, 3), ("ASC", "DESC"), casesensitive = True)
  
warning

Alle ScriptForge Basic-Routinen oder Bezeichner, denen ein Unterstrich "_" vorangestellt ist, sind fĂŒr den internen Gebrauch reserviert. Sie sind nicht fĂŒr die Verwendung in Basic-Makros oder Python-Skripten vorgesehen.


Bitte unterstĂŒtzen Sie uns!