Tjenesten SFDocuments.Calc

Det delte bibliotek SFDocuments giver et antal metoder og egenskaber til at facilitere adminstrationen og håndteringen af LibreOffice-dokumenter.

Tjensten SFDocuments.Calc er en delmængde af tjenesten SFDocuments.Document. Alle metoder og egenskaver, der er defineret til tjenesten Document (dokument) kan også tilgås med tjenesteforekomsten Calc.

The Calc service is focused on:

note

This help page describes methods and properties that are applicable only to Calc documents.


Kald af tjeneste

Tjenesten Calc er nært beslæget med tjenesten UI fra biblioteket ScriptForge. Herunder er der nogle få eksempler på, hvordan tjenesten Calc kan kaldes.

I Basic

Kodestumpen herunder opretter et eksemplar af tjenesten Calc, der svarer til det aktuelle Calc-dokument.


    Set oDoc = CreateScriptService("Calc")
  

En anden måde at oprette et eksemplar af tjenesten Calc på er at bruge tjensten UI. I det følgende eksempel oprettes et nyt Calc-dokument og oDoc er et eksemplar af tjenesten Calc:


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

Eller med metoden OpenDocument fra tjenesten UI:


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

Det er også muligt at instantiere tjenesten Calc med metoden CreateScriptService:


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

I eksemplet herover er "MinFil.ods" navnet på et åbent dokumentvindue. Hvis dette argument ikke angives, tages udgangspunktet i det aktive vindue.

Det anbefales at frigøre ressourcer efter brug:


    Set oDoc = oDoc.Dispose()
  

Hvis dokumentet imidlertid var lukket ved hjælp af metoden CloseDocument, bliver det unødvendigt at frigøre ressourcer med den ovennævnte kommando.

I 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

Brug af forstavelsen "SFDocuments." under kald af tjenesten er frivillig.


Definitioner

Mange metoder kræver et "Ark" eller et "Område" som argument. Enkelt-celler anses for at være et særtilfælde af et Område.

Begge kan udtrykkes enten som en streng eller som en reference (=objekt) afhængigt af situationen:

Eksempel:

Eksemplet herunder kopierer data fra dokument A (åbnet skrivebeskyttet og skjult) til dokument B.

I 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)
  
I 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

Enten arknavnet som en string eller et object frembragt af egenskaben .Sheet.

Genvejen "~" (tilde) repræsenterer det aktuelle ark.

RangeName

Enten en streng, der angiver et sæt sammenhængende celler, placeret i et ark i den aktuelle forekomst eller et object frembragt af egenskaben .Range.

Genvejen "~" (tilde) repræsenterer den aktuelle markering eller det første område, hvis der er markeret flere områder.

Genvejen "*" repræsenterer alle anvendte celler.

Arknavnet er valgfrit i et område (standard = det aktive ark). At indslutte enkeltanførselstegn og $-tegn er tilladt, men ignoreres.

tip

Udover egenskaben CurrentSelection tager tjenesten Calc kun hensyn til enkeltområder af celler.


Eksempler på gyldige områder

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

En enkelt celle

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

Enkelt område med flere celler

'$ArkX'.*

Alle anvendte celler på et givet ark

1) '$ArkX'.A:A kolonne A)
2) 3:5 (rækkerne 3 til 5)

Alle celler i sammenhængende celler eller rækker op til den sidste anvendte celle

mitOmråde

Et område ved navn "mitOmråde" på regnearksniveau

1) ~.vilkårligtOmråde
2) ArkX.vilkårligtOmråde

Et områdenavn på arkniveau

mitDok.Område("ArkX.D2:F6")

Et område på arket ArkX i den fil, der er knyttet til Calc-forekomsten af myDoc

~.~ eller ~

Den aktuelle markering på det aktive ark


Egenskaber

Alle de egenskaber , der generiske til et vilkårligt dokument er implicit også anvendelige på Calc-dokumenter. Læs flere oplysninger i Dokumenttjenesten Hjælpeside.

Egenskaberne, specielt tilgængelige for Calc-dokumenter, er:

Navn

Skrivebeskyttet

Argument

Return type

Beskrivelse

CurrentSelection

Nej

Ingen

Streng eller en matrix af strenge

The single selected range as a string or the list of selected ranges as an array.

FirstCell

Yes

SheetName or RangeName as String

String

Returns the first used cell in a given range or sheet.

FirstColumn

Yes

SheetName or RangeName as String

Long

Returnerer kolonnenummeret yderst til venstre i et givent område eller ark. the leftmost column number in a given range or sheet.

FirstRow

Yes

SheetName or RangeName as String

Long

Returns the topmost row number in a given range or sheet.

Height

Ja

OmrådeNavn som streng

Long

The number of rows (>= 1) in the given range.

LastCell

Ja

SheetName or RangeName as String

String

Returns the last used cell in a given range or sheet.

LastColumn

Ja

SheetName or RangeName as String

Long

The last used column in a given range or sheet.

LastRow

Ja

SheetName or RangeName as String

Long

The last used row in a given range or sheet.

Range

Ja

OmrådeNavn som streng

Object

A range reference that can be used as argument of methods like CopyToRange.

Region

Yes

RangeName As String

String

Returns the address of the smallest area that contains the specified range so that the area is surrounded by empty cells or sheet edges. This is equivalent to applying the shortcut to the given range.

Sheet

Ja

ArkNavn som streng

Object

A sheet reference that can be used as argument of methods like CopySheet.

Sheets

Ja

Ingen

Matrix af strenge

The list with the names of all existing sheets.

Width

Ja

OmrådeNavn som streng

Long

The number of columns (>= 1) in the given range.

XCellRange

Ja

OmrådeNavn som streng

Object

A com.sun.star.Table.XCellRange UNO object.

XSheetCellCursor

Yes

RangeName As String

Object

A com.sun.star.sheet.XSheetCellCursor UNO object. After moving the cursor, the resulting range address can be accessed through the AbsoluteName UNO property of the cursor object, which returns a string value that can be used as argument for properties and methods of the Calc service.

XSpreadsheet

Ja

ArkNavn som streng

Object

A com.sun.star.sheet.XSpreadsheet UNO object.


tip

Visit LibreOffice API Documentation's website to learn more about XCellRange, XSheetCellCursor and XSpreadsheet UNO objects.


Metoder

Liste over metoder i tjensten Calc

A1Style
Activate
Charts
ClearAll
ClearFormats
ClearValues
CopySheet
CopySheetFromFile
CopyToCell
CopyToRange
CreateChart
DAvg
DCount
DMax

DMin
DSum
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

Returns a range address as a string based on sheet coordinates, i.e. row and column numbers.

If only a pair of coordinates is given, then an address to a single cell is returned. Additional arguments can specify the bottom-right cell of a rectangular range.

Syntaks:

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

Parametre:

row1, column1: Specify the row and column numbers of the top-left cell in the range to be considered. Row and column numbers start at 1.

row2, column2: Specify the row and column numbers of the bottom-right cell in the range to be considered. If these arguments are not provided, or if values smaller than row1 and column1 are given, then the address of the single cell range represented by row1 and column1 is returned.

sheetname: The name of the sheet to be appended to the returned range address. The sheet must exist. The default value is "~" corresponding to the currently active sheet.

Eksempel:

The examples below in Basic and Python consider that "Sheet1" is the currently active sheet.

I 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
  
I 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

The method A1Style can be combined with any of the many properties and methods of the Calc service that require a range as argument, such as GetValue, GetFormula, ClearAll, etc.


Activate

If the argument sheetname is provided, the given sheet is activated and it becomes the currently selected sheet. If the argument is absent, then the document window is activated.

Syntaks:

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

Parametre:

arknavn: Navnet på det ark, der skal aktiveres i dokumentet. Standardværdien er en tom streng, der betyder, at dokumentvinduet bliver aktiveret, uden at det aktive ark ændres. The name of the sheet to be activated in the document. The default value is an empty string, meaning that the document window will be activated without changing the active sheet.

Eksempel:

Eksemplet herunder aktiverer arket ved navn "Ark4" i det aktuelt aktive dokument.

I Basic

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

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

Aktivering af et ark giver kun mening, hvis den udføres på et Calc-dokument. For at sikre dig, at du har et Calc-dokument i hænderne kan du bruge dokumentobjektets egenskab isCalc, som returnerer True, hvis der et Calc-dokument og ellers False otherwise.


Charts

Returns either the list with the names of all chart objects in a given sheet or a single Chart service instance.

Syntaks:

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

Parametre:

sheetname: The name of the sheet from which the list of charts is to be retrieved or where the specified chart is located.

chartname: The user-defined name of the chart object to be returned. If the chart does not have a user-defined name, then the internal object name can be used. If this argument is absent, then the list of chart names in the specified sheet is returned.

tip

Use the Navigator sidebar to check the names assigned to charts under the OLE objects category.


Eksempel:

I Basic

The example below shows the number of chart objects in "Sheet1".


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

The following example accesses the chart named "MyChart" in "Sheet1" and prints its type.


    Dim oChart as Object
    oChart = oDoc.Charts("Sheet1", "MyChart")
    MsgBox oChart.ChartType
  
I 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

Rydder alt indhold og alle formater i det givne område.

Syntaks:

svc.ClearAll(range: str)

Parametre:

område: Området, der skal ryddes, som en streng.

Eksempel:

I Basic

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

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

ClearFormats

Rydder formater og typografier i det givne område.

Syntaks:

svc.ClearFormats(range: str)

Parametre:

område: Det område, hvis formater og typografier skal ryddes, som en streng.

Eksempel:

I Basic

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

    myDoc.ClearFormats("SheetX.*")
  

ClearValues

Rydder værdier og formler i det givne område.

Syntaks:

svc.ClearValues(range: str)

Parametre:

område: Det område, hvis værdier og formler skal ryddes, som en streng.

Eksempel:

I Basic

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

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

CopySheet

Kopierer et bestemt ark før et eksisterende ark eller i slutningen af listen over ark. Det ark, der skal kopieres, kan være indeholdt i et vilkårligt åbent Calc-dokument. Returnerer True, hvis det lykkes.

Syntaks:

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

Parametre:

Arknavn: Navnet på det ark, som skal kopieres, som en streng eller en reference til det som et objekt.

nytnavn: Navnet på det ark, der skal indsættes. Navnet må ikke være brugt i dokumentet.

før_ark: Navnet (streng) eller indeksnummer (startede fra 1) på det ark, som det kopierede ark skal indsættes foran. Dette argument er valgfrit og standard-adfærden er at indsætte det kopierede ark på sidstepladsen.

Eksempel:

I Basic

Følgende eksempel laver en kopi af arket "ArkX" og placerer den som det sidste ark i det aktuelle dokument. Navnet på det kopierede ark er "ArkY".


    Dim oDoc as Object
    'Henter dokumentobjektet fra det aktive vindue
    Set oDoc = CreateScriptService("Calc")
    oDoc.CopySheet("SheetX", "SheetY")
  

Eksemplet herunder kopier "ArkX" fra "FilA.ods" og indsætter det på den bagerste placering i "FilB.ods" med navnet "ArkY":


      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")
  
I 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

For at kopiere ark mellem åbne dokumenter bruger du CopySheet. For at kopiere ark fra dokumenter, der er lukket, bruger du CopySheetFromFile.


CopySheetFromFile

Kopierer et bestemt ark fra et lukket Calc-dokument og indsætter det foran et eksisterende ark eller i slutningen af listen over ark i den fil, der henvises til af et Document-objekt.

Hvis arket ikke eksisterer, sættes der et Fejl-flag. Hvis filen ikke er en gyldig Calc-fil, indsættes et tomt ark. Hvis kildearket ikke eksisterer i input-filen, indsættes en fejlmeddelelse øverst i det netop indsatte ark.

Syntaks:

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

Parametre:

filnavn: Identificerer den fil, der skal åbnes. Den skal følge notationen i SF_FileSystem.FileNaming. Filen må ikke være beskyttet med en adgangskode.

arknavn: Navnet på det ark, der skal kopieres, som en streng.

nytnavn: Navnet på det kopierede ark, der skal indsættes i dokumentet. Navnet må ikke være i brug i dokumentet.

førark: Navnet (streng) eller indeksnummer (startende fra 1) på det ark, som det kopierede ark skal indsættes foran. Dette argument er valgfrit og standardadfærden er at indsætte det kopierede ark på sidstepladsen.

Eksempel:

Følgende eksempel kopierer "ArkX" fra "minFil.ods" og indsætter det allerforrest i det dokument, der refereres til som "oDoc", som "SheetY".

I Basic

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

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

CopyToCell

Kopierer et angivet kildeområde (værdier, formler og formater) til et målområde eller -celle. Metoden reproducerer operationen Kopier/Indsæt's adfærd fra et område til en enkelt celle.

Den returnerer en streng, der repræsenterer et ændret celleområde. Størrelsen på det ændrede areal bestemmes helt af størrelsen på kildearealet.

Kildeområdet kan tilhøre et andet åbent dokument.

Syntaks:

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

Parametre:

kildeområde: Kildeområdet som en streng, når det tilhører det samme dokument, eller som en reference, når det tilhører et andet åbent Calc-dokument.

målcelle: Målcellen, hvor det kopierede celleområde skal indsættes, som en streng. Hvis der er opgivet et celleområde, tages der kun hensyn til cellen øverst, til venstre i det.

Eksempel:

I Basic

Næste er et eksempel, hvor kilde og mål er i den samme fil:


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

Eksemplet herunder ilustrerer, hvordan du kopierer et område fra et andet åbent Calc-dokument:


    Dim ui as Variant : ui = CreateScriptService("UI")
    Dim oDocSource As Object, oDocDestination As Object
    'Åben kildedokumentet i baggrunden (skjult)
    Set oDocSource = ui.OpenDocument("C:\SourceFile.ods", Hidden := True, ReadOnly := True)
    Set oDocDestination = CreateScriptService("Calc")
    oDocDestination.CopyToCell(oDocSource.Range("Sheet1.C2:C4"), "SheetT.A5")
    'Glem ikke at lukke kildedokumentet, fordi det blev åbnet som skjult
    oDocSource.CloseDocument()
  
I 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

For at simulere Kopier/Indsæt fra et område til en enkelt celle, bruger du CopyToCell. For at simulere Kopier/Indsæt fra et område til et større område (med den samme mangfoldiggjort flere gange) bruger du CopyToRange.


CopyToRange

Kopierer et angivet kildeområde nedad og/eller mod højre (værdier, formler og formater) til et målområde. Metoden imiterer en Kopier/Indsæt-operations adfærd fra et kildeområde til et større målområde.

Metoden returnerer en streng, der repræsenter det ændrede celleområde.

Kildeområdet kan tilhøre et andet åbent dokument.

Syntaks:

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

Parametre:

kildeområde: Kildeområdet som en streng, når det tilhører det samme dokument, eller som en referrence, når det tilhører et andet åbent Calc-dokument.

målområde: Målet for det kopierede celleområde, som en streng.

Eksempel:

I Basic

Kopier inden for det samme dokument:


    oDoc.CopyToRange("SheetX.A1:F10", "SheetY.C5:J5")
    ' Returnerer en områdestreng: "$ArkY.$C$5:$J$14"
  

Kopier fra en fil til en anden:


    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")
  
I 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

Creates a new chart object showing the data in the specified range. The returned chart object can be further manipulated using the Chart service.

Syntaks:

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

Parametre:

chartname: The user-defined name of the chart to be created. The name must be unique in the same sheet.

sheetname: The name of the sheet where the chart will be placed.

range: The range to be used as the data source for the chart. The range may refer to any sheet of the Calc document.

columnheader: When True, the topmost row of the range is used as labels for the category axis or the legend (Default = False).

rowheader: When True, the leftmost column of the range is used as labels for the category axis or the legend. (Default = False).

Eksempel:

The examples below in Basic and Python create a chart using the data contained in the range "A1:B5" of "Sheet1" and place the chart in "Sheet2".

I Basic

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

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

Refer to the help page about ScriptForge's Chart service to learn more how to further manipulate chart objects. It is possible to change properties as the chart type, chart and axes titles and chart position.


DAvg, DCount, DMax, DMin and DSum

Anvend funktionerne Middel, Tæl, Maks, Min og Sum respektive på alle celler, der indeholder numeriske værdier i et givet område.

Syntaks:

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

Parametre:

område: Området, som funktionen skal anvendes på, som en streng.

Eksempel:

Eksemplet herunder anvender funktionen Sum på området "A1:A1000" på det aktuelt valgte ark:

I Basic

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

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

I det givne område bliver celler, der indeholder tekst, ignoreret af alle disse funktioner. For eksempel tæller metoden Dtæl ikke celler med tekst, men kun numeriske celler.


Forms

Afhængigt af de opgivne parametere returnerer denne metode:

Syntaks:

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

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

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

Parametre:

arknavn: Navnet på det ark, som en streng, hvorfra formularen skal hentes.

formular: Navnet eller indekset svarer til en formular, der er lagret i det angivne ark. Hvis dette argument mangler, returnerer metoden en liste over alle navnene på alle de formularer, der er tilgængelige i arket.

Eksempel:

I de følgende eksempler får den første linje navnene på alle formularer, der er lagret i "Ark1" og den anden linje henter objektet Form fra formularen ved navn "Formular_A", som er lagret i "Ark1".

I Basic

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

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

GetColumnName

Konverterer et kolonnenummer mellem 1 og 1024 til dets tilsvarende bogstav (kolonne 'A', 'B', ..., 'AMJ'). Hvis det givne kolonnenummer er uden for det tilladte område, returneres en nul-længde streng.

Syntaks:

svc.GetColumnName(columnnumber: int): str

Parametre:

kolonnenummer: Kolonnenummeret som et heltal i intervallet 1 ... 1024.

Eksempel:

I Basic

Viser et beskedfelt med navnet på den treje kolonne, der som standard er "C".


    MsgBox oDoc.GetColumnName(3)
  
I Python

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

Det maksimale antal af kollonner tilladt i et Calc-ark er 1024.


GetFormula

Hent de formler, der er gemt i det givene celleområde som en enkelt streng, et 1D- eller 2D-strengmatrix.

Syntaks:

svc.GetFormula(range: str): any

Parametre:

område: Området, som formularerne hentes fra, som en streng.

Eksempel:

I Basic

Det følgende eksempel returnere en 3 x 2 matrix med formler i området "A1:B3" (3 rækker gange 2 kolonner):


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

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

GetValue

Hent de værdier, der er gemt i et givet celle område som en enkelt værdi, en 1D-matrix eller en 2D-matrix. Alle værdier er enten dobbelte eller strenge.

Syntaks:

svc.GetValue(range: str): any

Parametre:

område: Området, hvorfra værdierne skal hentes, som en streng.

Eksempel:

I Basic

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

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

Hvis en celle indeholder en dato, returneres tallet, der svarer til denne dato. For at konvertere nummeriske værdier til dato i Bssic-scripts, bruger du den indbyggede Basic-funktion CDate. I Python-scripter bruger du funktionen CDate fra tjenesten Basic.


ImportFromCSVFile

Importerer indholdet af en CSV-formateret tekstfil og placerer det i en givet målcelle.

Målområdet ryddes for alt indhold og formater før indsættelse af CSV-filens indhold. Det ændrede områdes størrelse bestemmes helt af indeholdet i input-filen.

Metoden returnere en streng, der repræsenterer det ændrede celleområde.

Syntaks:

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

Parametre:

filnavn: Identificerer den fil, der skal åbnes. Det skal følge notationen SF_FileSystem.FileNaming .

målcelle: Den målceller, hvor de importerede data, som en streng, skal indsættes. Hvis der i stedet er angivet et område, tages der kun hensyn til dets øverste, venstre celle.

filterindstillinger: Argumentet for CSV-indsætningsfiltret. Standardfiltret gør følgende antagelser.

Eksempel:

I Basic

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

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

Få mere at vide om CSV-filter-indstiller ved at læse (den engelske) Filter Options Wiki page.


ImportFromDatabase

Importerer indholdet af en databasetabel, -forespørgsel eller resultatsæt, det vil side resultatet af en SELECT SQL-kommando, ved at indsætte det i en målcelle.

Målområdet ryddes for alt indhold og formater før indsættelse af det importerede indhold. Det ændrede areals størrelse bestemmes helt af indholdet i tabellen eller forespørgslen.

Metoden returnerer True, når importen lykkedes.

Syntaks:

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

Parametre:

filnavn: Identificerer den fil, der skal åbnes. Den skal følge notationen SF_FileSystem.FileNaming.

registreringsnavn: Navnet, der bruges for at finde databasen i databaseregistret. Dette argument ignoreres, hvis der er opgivet et filename.

målcelle: målet for de importerede data, som en streng. Hvis der opgivet et område, tages der kun hensyn til den øverste, venstre celle.

sql-kommando: Et tabel- eller et forespørgselsnavn (uden omgivende anførselstegn eller kantede klammer) eller et SELECT SQL-udtryk, hvor tabel- og feltnavne kan være omgivet af kantede klammer eller anførseltegn for at forbedre læseligheden.

direkte_sql: Når True (sand), sendes SQL-kommandoen til database-motoren uden forhåndsanalyse. Standard-indstillingen er False (falsk). Argumentet ignoreres ved tabeller. Ved forespørgsler er den anvendte indstilling den, der var sat, da forespørgslen blev defineret.

Eksempel:

I Basic

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

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

InsertSheet

Indsætter et nyt tomt ark foran et eksisterende ark eller i sidst i listen over ark.

Syntaks:

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

Parametre:

arknavn: Navnet på det nye ark.

før_ark: Navnet navnet (streng) eller indeksnummeret (startende fra 1) på arket, som det nye ark skal indsættes foran. Argumentet er valgfrit og standard-adfærden er at indsætte arket på sidstepladsen.

Eksempel:

Det følgende eksempel indsætter et nyt, tomt ark ved navn "ArkX" og placerer det foran "ArkY":

I Basic

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

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

MoveRange

Flytter et angivet kilde område til et mål-celleområde. Metoden returnerer en streng, der repræsenterer det ændrede celleområde. Det ændrede områdes dimension bestemmes felt af kildeområdets størrelse.

Syntaks:

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

Parametre:

kilde: kildeområdet af celler, som en streng.

mål: Målcellen som en streng. Hvis der er opgivet et område, anses dets øverste, venstre celle som målet.

Eksempel:

I Basic

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

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

MoveSheet

Flytter et eksisterende ark og placerer det foran et angivet ark eller sidst på listen over ark.

Syntaks:

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

Parametre:

arknavn: Navnet på arket, der skal flyttes. Arknavnet skal findes, er hejses der et undtagelsesflag.

før_ark: Navnet (streng) eller indeksnummer (startende fra 1) på det ark, som det oprindelige ark skal sættes foran. Dette argument er valgfrit og standard-adfærden er at flytte arket til sidstepladsen.

Eksempel:

Eksemplet herunder flytter det eksisterende "ArkX" og placerer det foran "ArkY":

I Basic

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

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

Offset

Returnerer et nyt område (som en streng) forskudt med et bestemt antal rækker og kolonner fra et givet område.

Denne metode har samme adfærd som Calc's enslydende funktionenfunktionen Forskydning.

Syntaks:

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

Parametre:

reference: Det område, som en streng, som metoden skal bruge som reference til udføre handlingen forskydning.

rækker: Antallet af rækker, som det oprindelige område skal forskydes opad (negativ værdi) eller nedad (positiv værdi). Brug 0 (standard) til at blive i den samme række.

kolonner: Antallet af kolonner, som dwt oprindelige område skal forskydes med mod venstre (negativ værdi) eller mod højre (positiv værdi). Brug 0 (standard) for at blive i den samme kolonne.

højde: Den lodrette højde på et areal, der starter på det nye områdes placering. Udelad dette argument, når der ikke kræves en tilpasning af den lodrette højde.

bredde: Den vandrette bredde på et areal, der begynder på den nye områdes placering. Udelad dette argument, der ikke kræves en tilpasning af den vandrette bredde.

Argumenterne rows (rækker) og columns (kolonner) må ikke blive nul eller medføre negativ start-række eller -kolonne.

Argumenterne højde og bredde må ikke blive nul eller medføre et negativt antal rækker eller kolonner.

Eksempel:

I Basic

    oDoc.Offset("A1", 2, 2)
    'ArkX.$C$3 (A1 flyttet to rækker og to kolonner ned)
    oDoc.Offset("A1", 2, 2, 5, 6)
    'ArkX.$C$3:$H$7 (A1 forskudt med to rækker og kolonner med en bredde på 5 rækker og 6 kolonner)
  
I Python

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

OpenRangeSelector

Opens a non-modal dialog that can be used to select a range in the document and returns a string containing the selected range.

note

This method opens the same dialog that is used by LibreOffice when the Shrink button is pressed. For example, the Tools - Goal Seek dialog has a Shrink button to the right of the Formula cell field.


This method does not change the current selection.

Syntaks:

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

Parametre:

title: The title of the dialog, as a string.

selection: An optional range that is initially selected when the dialog is displayed.

singlecell: When True (default) only single-cell selection is allowed. When False range selection is allowed.

closeafterselect: When True (default) the dialog is closed immediately after the selection is made. When False the user can change the selection as many times as needed and then manually close the dialog.

Eksempel:

I Basic

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

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

Printf

Returns the input string after substituting its token characters by their values in a given range.

This method does not change the current selection.

tip

This method can be used to quickly extract specific parts of a range name, such as the sheet name or first cell column and row, and use them to compose a new range address.


Syntaks:

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

Parametre:

inputstr: The string containing the tokens that will be replaced by the corresponding values in range.

range: A RangeName from which values will be extracted. If it contains a sheet name, the sheet must exist.

tokencharacter: Character used to identify tokens. By default "%" is the token character. The following tokens are accepted:

Eksempel:

I Basic

The example below extracts each element of the RangeName defined in sRange and uses them to compose a message.


    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)
  

The Printf method can be combined with SetFormula to create formulas over multiple cells. For instance, consider a table with numeric values in the range "A1:E10" from which formulas are to be created to sum the values in each row and place the results in the range "F1:F10":


    Dim sFormula as String, sRange as String
    sRange = "A1:E10"
    ' Note the use of the "$" character
    sFormula = "=SUM($%C1%R1:$%C2%R1)"
    oDoc.SetFormula("F1:F10", oDoc.Printf(sFormula, sRange))
  
I 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

This method sends the contents of the given sheet to the default printer or to the printer defined by the SetPrinter method of the Document service.

Returns True if the sheet was successfully printed.

Syntaks:

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

Parametre:

sheetname: The sheet to print, default is the active sheet.

pages: The pages to print as a string, like in the user interface. Example: "1-4;10;15-18". Default is all pages.

copies: The number of copies. Default is 1.

Eksempel:

I Basic

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

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

RemoveSheet

Fjerner et eksisterende afk fra dokumentet.

Syntaks:

svc.RemoveSheet(sheetname: str): bool

Parametre:

arknavn: Navnet på det ark, der skal flyttes.

Eksempel:

I Basic

    oDoc.RemoveSheet("SheetY")
  
I Python

    myDoc.RemoveSheet("SheetY")
  

RenameSheet

Omdøber det givne ark og returnerer True, hvis det lykkes.

Syntaks:

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

Parametre:

arknavn: Navnet på det ark, der skal omdøbes.

nyt_navn: arkets nye navn. Det må ikke findes endnu.

Eksempel:

Dette eksempel omdøber det aktive ark til "ArkY":

I Basic

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

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

SetArray

Lagrer den givne værdi startende fra en angivet målcelle. Det opdaterede areal strækker sig fra målcellen eller fra det øverste, venstre hjørne af det givne område for at tilpasse størrelsen på input-argumentet value. Vektorerne udvides altid lodret.

Metoden returnerer en streng, der repræsensterer det ændrede område som et celleområde.

Syntaks:

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

Parametre:

målcelle: Cellen eller et område som en streng, hvorfra lagring af den givne værdi begynder.

værdi: En skalar, en vektor eller en matrix (i Python: en- eller to-dimensionelle lister og tupler) med de nye værdier, der skal lagres fra målcellen eller fra det øverste, venstre hjørne af området, hvis målcellen er et område. De nye værdier skal være strenge, numeriske værdier eller datoer. Andre typer vil bevirke, at de korresponderende celler tømmes.

Eksempel:

I Basic

Det følgende eksempel den indbyggede funktion DimArray til at oprette et matrix og så gemme det i cellen "A1":


    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)
  

Dette eksempel bruger metoden RangeInit fra ScriptForge Array service til at oprette en matrix med værdier, som så gemmes fra cellen "A1" og nedad.


    'Fyld første kolonne med værdier fra 1 til 1000
    oDoc.SetArray("Sheet1.A1", SF_Array.RangeInit(1, 1000))
  
I 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

For at dumpe hele indholdet af etn matrix i et ark bruger du SetArray. For at dumpe indholdet af en matrix udelukkende inden for tilsigtedecelleområde bruger du SetValue.


SetValue

Gemmer en givet værdi i det angivne område. Størrelsen af det ændrede areal er lig med målområdets størrelse.

Metoden returnerer en streng, der repræsenterer det ændrede areal som et celleområde.

Syntaks:

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

Parametre:

målområde: Målområdet, hvor den givne værdi, skal gemmes, som en streng. The range where to store the given value, as a string.

værdi: En skalar, en vektor eller en matrix med den nye værdi til hver af områdets celler. De nye værdier skal være strenge, numeriske værdier eller datoer. Andre typer vil bevirke, at de korresponderende celler bliver tømt.

Hele området opdateres og resten af arket efterlades urørt. Hvis størrelsen af value (værdien) er mindre en størrelsen af målområdet, bliver de resterende celler tømt.

Hvis størrelsen af value (værdien) er større end targetrange (målområdet), kopieres value (værdien) kun delvis, indtil den fylder targetrange (målområdets) størrelse.

Vektorer strækkes lodret, undtagen hvis targetrange (målområdet) har en højde på nøjagtig 1 række.

Eksempel:

I Basic

    oDoc.SetValue("A1", 2)
    'Under Værdi-matrixen er mindre end TargetRange (resterende celler tømmes)
    oDoc.SetValue("A1:F1", Array(1, 2, 3))
    'Under værdien og TargetRange har den samme størrelse
    oDoc.SetValue("A1:D2", SF_Array.AppendRow(Array(1, 2, 3, 4), Array(5, 6, 7, 8)))
  

Hvis du vil fylde en enkelt række med værdier, kan du bruge funktion Offset (forskydning). I eksemplet herunder, bør du være :opmærksom på, at arrData er en en-dimensionel matrix.


    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)
  
I 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

Anvender den angivne celletypografi på det givne område. Hele området opdates og resten af arket efterlades urørt. Hvis celletypografien ikke eksisterer, sættes et fejlflag.

Metoden returnerer en streng, der repræsenterer det ændrede areal som et celleområde.

Syntaks:

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

Parametre:

målområde: Den område, som typografien skal anvendes på, som en streng.

typografi: Navnet på den celletypografi, der skal anvendes.

Eksempel:

I Basic

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

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

SetFormula

Indsætter den givne (matrix af) form(el/ler) i det angivne område. Det ændrede areals størrelse er lig med områdets størrelse.

Metoden returnerer en streng, der repræsenterer det ændrede areal som et celleområde.

Syntaks:

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

Parametre:

målområde: Området, hvor formler skal indsættes, som en streng.

formel: En streng, en vektor eller en matrix af strenge med nye formler til hver celle i målområdet.

Hele området opdateres og resten af arket efterlades uændret.

Hvis den givne formel er en steng, indsættes den unikke formel gennem hele området med justering af de relevante referencer.

Hvis størrelsen af formula (formlen) er mindre end størrelsen på targetrange (målområdet), tømmes de resterende celler.

Størrelsen af formula (formlen) er størrelsen af targetrange (målområdet), kopieres formlerne kun delvis, indtil den fylder størrelsen på targetrange (målområdet).

Vektorer strækkes altid lodret, undtagen hvis targetrange (målområdet) har en højde på nøjagtig 1 række.

Eksempel:

I Basic

    oDoc.SetFormula("A1", "=A2")
    'Vandret vektor, delvis tom
    oDoc.SetFormula("A1:F1", Array("=A2", "=B2", "=C2+10"))
    'D2 indeholder formlen "=H2"
    oDoc.SetFormula("A1:D2", "=E1")
  
I Python

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

ShiftDown

Moves a given range of cells downwards by inserting empty rows. The current selection is not affected.

Depending on the value of the wholerows argument the inserted rows can either span the width of the specified range or span all columns in the row.

This method returns a string representing the new location of the initial range.

note

If the shifted range exceeds the sheet edges, then nothing happens.


Syntaks:

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

Parametre:

range: The range above which rows will be inserted, as a string.

wholerow: If set to False (default), then the width of the inserted rows will be the same as the width of the specified range. Otherwise, the inserted row will span all columns in the sheet.

rows: The number of rows to be inserted. The default value is the height of the original range. The number of rows must be a positive number.

Eksempel:

I Basic

    ' Moves the range "A3:D3" down by one row; affects only columns A to D
    oDoc.ShiftDown("A3:D3")
    ' The inserted row spans all columns in the sheet
    oDoc.ShiftDown("A3:D3", WholeRow := True)
    ' Moves the range "A3:D3" down by five rows
    oDoc.ShiftDown("A3:D3", Rows := 5)
    ' Moves the range "A3:D10" down by two rows and shows the new location of the original range
    Dim sNewRange as String
    sNewRange = oDoc.ShiftDown("A3:D10", Rows := 2)
    MsgBox sNewRange   ' $Sheet1.$A$5:$D$12
  
I 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

Deletes the leftmost columns of a given range and moves to the left all cells to the right of the affected range. The current selection is not affected.

Depending on the value of the wholecolumns argument the deleted columns can either span the height of the specified range or span all rows in the column.

This method returns a string representing the location of the remaining portion of the initial range. If all cells in the original range have been deleted, then an empty string is returned.

Syntaks:

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

Parametre:

range: The range from which cells will be deleted, as a string.

wholecolumn: If set to False (default), then the height of the deleted columns will be the same as the height of the specified range. Otherwise, the deleted columns will span all rows in the sheet.

columns: The number of columns to be deleted from the specified range. The default value is the width of the original range, which is also the maximum value of this argument.

Eksempel:

I Basic

    ' Deletes the range "B3:B6"; moves left all cells to the right
    oDoc.ShiftLeft("B3:B6")
    ' Deletes the first column in the range "A3:D6"
    oDoc.ShiftLeft("A3:D6", Columns := 1)
    ' The deleted columns (A to D) spans all rows in the sheet
    oDoc.ShiftLeft("A3:D6", WholeColumn := True)
  
I Python

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

ShiftUp

Deletes the topmost rows of a given range and moves upwards all cells below the affected range. The current selection is not affected.

Depending on the value of the wholerows argument the deleted rows can either span the width of the specified range or span all columns in the row.

This method returns a string representing the location of the remaining portion of the initial range. If all cells in the original range have been deleted, then an empty string is returned.

Syntaks:

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

Parametre:

range: The range from which cells will be deleted, as a string.

wholerow: If set to False (default), then the width of the deleted rows will be the same as the width of the specified range. Otherwise, the deleted row will span all columns in the sheet.

rows: The number of rows to be deleted from the specified range. The default value is the height of the original range, which is also the maximum value of this argument.

Eksempel:

I Basic

    ' Deletes the range "A3:D3"; moves all cells below it by one row up
    oDoc.ShiftUp("A3:D3")
    ' Deletes the first row in the range "A3:D6"
    oDoc.ShiftUp("A3:D6", Rows := 1)
    ' The deleted rows spans all columns in the sheet
    oDoc.ShiftUp("A3:D6", WholeRow := True)
  
I Python

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

ShiftRight

Moves a given range of cells to the right by inserting empty columns. The current selection is not affected.

Depending on the value of the wholecolumns argument the inserted columns can either span the height of the specified range or span all rows in the column.

This method returns a string representing the new location of the initial range.

note

If the shifted range exceeds the sheet edges, then nothing happens.


Syntaks:

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

Parametre:

range: The range which will have empty columns inserted to its left, as a string.

wholecolumn: If set to False (default), then the height of the inserted columns will be the same as the height of the specified range. Otherwise, the inserted columns will span all rows in the sheet.

columns: The number of columns to be inserted. The default value is the width of the original range.

Eksempel:

I Basic

    ' Moves the range "A3:A6" right by one column; affects only rows 3 to 6
    oDoc.ShiftRight("A3:A6")
    ' Moves the range "A3:A6" right by five columns
    oDoc.ShiftRight("A3:A6", Columns := 5)
    ' The inserted column spans all rows in the sheet
    oDoc.ShiftRight("A3:A6", WholeColumn := True)
  
I Python

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

SortRange

Sorterer det givne område baseret på op til tre kolonner/rækker- Sorteringsrækkefølgen kan variere med hensyn til kolonne/række. Den returnerer en streng, der repræsenterer det ændrede celleområde. Størrelsen på det ændrede område bestemmes helt af størrelsen på kildeområdet.

Syntaks:

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

Parametre:

område: Det område, der skal sorteres, so, en streng.

sorteringsnøgler: En skalar (hvis der et 1 kolonne/række) eller en matrix af kolonner/rækker startende fra 1. Det hæjeste antal nøgler er 3.

sorteingsorden: En skalar eller en matrix af strenge, der indeholder værdierne "ASC" (stigende), "DESC" (falden) eller "" (som falder tilbage til stigende). Hvert element er parret med det tilsvarende element i sortkeys (sorteringsnøglerne). Hvis matrixen sortorder (sorteringsorden) er kortere end sortkeys (sorteringsnøglerne), sorteres de resterende nøgler i stigende orden.

målcelle: Det sorterede områdes målcelle, som en streng. Hvis der er opgivet et område, tages der kun hensyn til dets øverste, venstre hjørne. Som standard overskrives kildeområdet.

indeholder_overskrift: Når True (sand), sorteres den første række/kolonne ikke.

Stort-og-småt: Kun ved strengsammenligninger. Standard = False (falsk)

sorter_kolonner: Når True (sand), sorteres kolonnerne fra venstre mod højre. Standard =False : rækker sorteres fra top til bund.

Eksempel:

I Basic

    'Sorteringsrækkefølge A (stigende) og C (faldende)
    oDoc.SortRange("A2:J200", Array(1, 3), Array("ASC", "DESC"), CaseSensitive := True)
  
I Python

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

Alel ScriptForge Basic-rutiner eller identifikatorer, der er indledet med et understreget tegn "_" er reserveret til internt brug. Det er ikke meningen, at de skal bruges i Basic-makroer eller Python-scripts.