Tjenesten SFDocuments.Calc

The SFDocuments library provides a number of methods and properties to facilitate the management and handling of LibreOffice Calc documents.

Some methods are generic for all types of documents and are inherited from the Document service, whereas other methods are specific for the SF_Calc module.

Modulet SF_Calc er fokuseret på:

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.

In Basic

The code snippet below creates a Calc service instance that corresponds to the currently active Calc document.


    Set oDoc = CreateScriptService("Calc")
  

Another way to create an instance of the Calc service is using the UI service. In the following example, a new Calc document is created and oDoc is a Calc service instance:


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

Or using the OpenDocument method from the UI service:


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

It is also possible to instantiate the Calc service using the CreateScriptService method:


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

In the example above, "MyFile.ods" is the name of an open document window. If this argument is not provided, the active window is considered.

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.

In Python

    myDoc = CreateScriptService("Calc")
  

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

    myDoc = svcUI.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.

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 = svcUI.OpenDocument(r"C:\Documents\FileA.ods", hidden = True, readonly = True)
    docB = svcUI.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.

The shortcut "~" (tilde) represents the current selection or the first selected range if multiple ranges are selected.

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

Type

Beskrivelse

CurrentSelection

Nej

Ingen

Streng eller en matrix af strenge

Det enkelte, valgte område som en streng eller liste over valgte områder som en matrix

Height

Ja

OmrådeNavn som streng

Long

Antallet af rækker (>= 1) i det givne område

LastCell

Ja

ArkNavn som streng

String

Den sidst brugte celle i 'A1'-format på det givne ark

LastColumn

Ja

ArkNavn som streng

Long

Den sidste brugte kolonne på det givne ark

LastRow

Ja

ArkNavn som streng

Long

Den sidste række i det givne ark

Range

Ja

OmrådeNavn som streng

Object

En omrrådereference, der kan bruges som argument af metoder som CopyToRange

Sheet

Ja

ArkNavn som streng

Object

En arkreference, der kan bruges som argument af metoder som CopySheet

Sheets

Ja

Ingen

Matrix af strenge

Listen med navnene på alle eksisterende ark

Width

Ja

OmrådeNavn som streng

Long

Antallet af kolonner (>= 1) i det givne område

XCellRange

Ja

OmrådeNavn som streng

Object

et com.sun.star.Table.XCellRange UNO-objekt

XSpreadsheet

Ja

ArkNavn som streng

Object

Et com.sun.star.sheet.XSpreadsheet UNO-objekt


tip

Bes√łg LibreOffice API Documentation's website for f√• mere at vide om XCellRange og XSpreadsheet UNO-objekter.


Metoder

Liste over metoder i tjensten Calc

Activate
ClearAll
ClearFormats
ClearValues
CopySheet
CopySheetFromFile
CopyToCell
CopyToRange
DAvg
DCount

DMax
DMin
DSum
Forms
GetColumnName
GetFormula
GetValue
ImportFromCSVFile
ImportFromDatabase
InsertSheet

MoveRange
MoveSheet
Offset
RemoveSheet
RenameSheet
SetArray
SetValue
SetCellStyle
SetFormula
SortRange


Activate

Hvis argumentet SheetName forefindes, er det givne ark aktiveret og bliver det aktuelt valgte ark. Hvis argumentet er fraværende, aktiveres dokumentvinduet.

Syntaks:

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

Parametre:

sheetname: 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.

In Basic

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

    svcUI = CreateScriptService("UI")
    myDoc = svcUI.GetDocument(svcUI.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.


ClearAll

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

Syntaks:

svc.ClearAll(range: str)

Parametre:

range: The range to be cleared, as a string.

Eksempel:

In Basic

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

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

ClearFormats

Rydder formater og typografier i det givne område.

Syntaks:

svc.ClearFormats(range: str)

Parametre:

range: The range whose formats and styles are to be cleared, as a string.

Eksempel:

In Basic

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

    myDoc.ClearFormats("SheetX.*")
  

ClearValues

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

Syntaks:

svc.ClearValues(range: str)

Parametre:

range: The range whose values and formulas are to be cleared, as a string.

Eksempel:

In Basic

      oDoc.ClearValues("SheetX.A1:F10")
  
In 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.

newname: The name of the sheet to insert. The name must not be in use in the document.

beforesheet: The name (string) or index (numeric, starting from 1) of the sheet before which to insert the copied sheet. This argument is optional and the default behavior is to add the copied sheet at the last position.

Eksempel:

In 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")
  
In Python

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

    docA = svcUI.OpenDocument(r"C:\Documents\FileA.ods", hidden = True, readonly = True)
    docB = svcUI.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:

filename: Identifies the file to open. It must follow the SF_FileSystem.FileNaming notation. The file must not be protected with a password.

sheetname: The name of the sheet to be copied as a string.

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

beforesheet: The name (string) or index (numeric, starting from 1) of the sheet before which to insert the copied sheet. This argument is optional and the default behavior is to add the copied sheet at the last position.

Eksempel:

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

In Basic

    oDoc.CopySheetFromFile("C:\Documents\myFile.ods", "SheetX", "SheetY", 1)
  
In 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:

sourcerange: The source range as a string when it belongs to the same document or as a reference when it belongs to another open Calc document.

destinationcell: The destination cell where the copied range of cells will be pasted, as a string. If a range is given, only its top-left cell is considered.

Eksempel:

In 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()
  
In Python

    docSource = svcUI.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:

sourcerange: The source range as a string when it belongs to the same document or as a reference when it belongs to another open Calc document.

destinationrange: The destination of the copied range of cells, as a string.

Eksempel:

In Basic

Copy within the same document:


    oDoc.CopyToRange("SheetX.A1:F10", "SheetY.C5:J5")
    ' Returns a range string: "$SheetY.$C$5:$J$14"
  

Copy from one file to another:


    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 = svcUI.OpenDocument(r"C:\Documents\FileA.ods", hidden = True, readonly = True)
    docB = svcUI.OpenDocument(r"C:\Documents\FileB.ods")
    docB.CopyToRange(docA.Range("SheetX.A1:F10"), "SheetY.C5:J5")
  

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:

range: The range to which the function will be applied, as a string.

Eksempel:

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

In Basic

      result = oDoc.DSum("~.A1:A1000")
  
In 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

Depending on the parameters provided this method will return:

Syntaks:

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

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

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

Parametre:

sheetname: The name of the sheet, as a string, from which the form will be retrieved.

form: The name or index corresponding to a form stored in the specified sheet. If this argument is absent, the method will return a list with the names of all forms available in the sheet.

Eksempel:

In the following examples, the first line gets the names of all forms stored in "Sheet1" and the second line retrieves the Form object of the form named "Form_A" which is stored in "Sheet1".

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

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:

columnnumber: The column number as an integer value in the interval 1 ... 1024.

Eksempel:

In Basic

Displays a message box with the name of the third column, which by default is "C".


    MsgBox oDoc.GetColumnName(3)
  
In Python

    sBasic = CreateScriptService("Basic")
    sBasic.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:

range: The range where to get the formulas from, as a string.

Eksempel:

In 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")
  
In 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:

range: The range where to get the values from, as a string.

Eksempel:

In Basic

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

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

If a cell contains a date, the number corresponding to that date will be returned. To convert numeric values to dates in Basic scripts, use the Basic CDate builtin function. In Python scripts, use the CDate function from the Basic service.


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:

filename: Identifies the file to open. It must follow the SF_FileSystem.FileNaming notation.

destinationcell: The destination cell to insert the imported data, as a string. If instead a range is given, only its top-left cell is considered.

filteroptions: The arguments for the CSV input filter. The default filter makes following assumptions:

Eksempel:

In Basic

    oDoc.ImportFromCSVFile("C:\Temp\myCSVFile.csv", "SheetY.C5")
  
In 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:

filename: Identifies the file to open. It must follow the SF_FileSystem.FileNaming notation.

registrationname: The name to use to find the database in the databases register. This argument is ignored if a filename is provided.

destinationcell: The destination of the imported data, as a string. If a range is given, only its top-left cell is considered.

sqlcommand: A table or query name (without surrounding quotes or square brackets) or a SELECT SQL statement in which table and field names may be surrounded by square brackets or quotes to improve its readability.

directsql: When True, the SQL command is sent to the database engine without pre-analysis. Default is False. The argument is ignored for tables. For queries, the applied option is the one set when the query was defined.

Eksempel:

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

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:

sheetname: The name of the new sheet.

beforesheet: The name (string) or index (numeric, starting from 1) of the sheet before which to insert the new sheet. This argument is optional and the default behavior is to insert the sheet at the last position.

Eksempel:

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

In Basic

    oDoc.InsertSheet("SheetX", "SheetY")
  
In 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:

source: The source range of cells, as a string.

destination: The destination cell, as a string. If a range is given, its top-left cell is considered as the destination.

Eksempel:

In Basic

    oDoc.MoveRange("SheetX.A1:F10", "SheetY.C5")
  
In 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:

sheetname: The name of the sheet to move. The sheet must exist or an exception is raised.

beforesheet: The name (string) or index (numeric, starting from 1) of the sheet before which the original sheet will be placed. This argument is optional and the default behavior is to move the sheet to the last position.

Eksempel:

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

In Basic

    oDoc.MoveSheet("SheetX", "SheetY")
  
In 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: The range, as a string, that the method will use as reference to perform the offset operation.

rows: The number of rows by which the initial range is offset upwards (negative value) or downwards (positive value). Use 0 (default) to stay in the same row.

columns: The number of columns by which the initial range is offset to the left (negative value) or to the right (positive value). Use 0 (default) to stay in the same column.

height: The vertical height for an area that starts at the new range position. Omit this argument when no vertical resizing is needed.

width: The horizontal width for an area that starts at the new range position. Omit this argument when no horizontal resizing is needed.

Arguments rows and columns must not lead to zero or negative start row or column.

Arguments height and width must not lead to zero or negative count of rows or columns.

Eksempel:

In 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)
  
In Python

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

RemoveSheet

Fjerner et eksisterende afk fra dokumentet.

Syntaks:

svc.RemoveSheet(sheetname: str): bool

Parametre:

sheetname: The name of the sheet to remove.

Eksempel:

In Basic

    oDoc.RemoveSheet("SheetY")
  
In 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:

sheetname: The name of the sheet to rename.

newname: the new name of the sheet. It must not exist yet.

Eksempel:

Dette eksempel omd√łber det aktive ark til "ArkY":

In Basic

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

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

SetArray

Stores the given value starting from a specified target cell. The updated area expands itself from the target cell or from the top-left corner of the given range to accommodate the size of the input value argument. Vectors are always expanded vertically.

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

Syntaks:

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

Parametre:

targetcell: The cell or a range as a string from where to start to store the given value.

value: A scalar, a vector or an array (in Python, one or two-dimensional lists and tuples) with the new values to be stored from the target cell or from the top-left corner of the range if targetcell is a range. The new values must be strings, numeric values or dates. Other types will cause the corresponding cells to be emptied.

Eksempel:

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

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:

targetrange: The range where to store the given value, as a string.

value: A scalar, a vector or an array with the new values for each cell of the range. The new values must be strings, numeric values or dates. Other types will cause the corresponding cells to be emptied.

The full range is updated and the remainder of the sheet is left unchanged. If the size of value is smaller than the size of targetrange, then the remaining cells will be emptied.

If the size of value is larger than the size of targetrange, then value is only partially copied until it fills the size of targetrange.

Vectors are expanded vertically, except if targetrange has a height of exactly 1 row.

Eksempel:

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

If you want to fill a single row with values, you can use the Offset function. In the example below, consider that arrData is a one-dimensional array:


    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

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:

targetrange: The range to which the style will be applied, as a string.

style: The name of the cell style to apply.

Eksempel:

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

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:

targetrange: The range to insert the formulas, as a string.

formula: A string, a vector or an array of strings with the new formulas for each cell in the target range.

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.

If the size of formula is smaller than the size of targetrange, then the remaining cells are emptied.

If the size of formula is larger than the size of targetrange, then the formulas are only partially copied until it fills the size of targetrange.

Vectors are always expanded vertically, except if targetrange has a height of exactly 1 row.

Eksempel:

In 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")
  
In Python

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

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:

range: The range to be sorted, as a string.

sortkeys: A scalar (if 1 column/row) or an array of column/row numbers starting from 1. The maximum number of keys is 3.

sortorder: A scalar or an array of strings containing the values "ASC" (ascending), "DESC" (descending) or "" (which defaults to ascending). Each item is paired with the corresponding item in sortkeys. If the sortorder array is shorter than sortkeys, the remaining keys are sorted in ascending order.

destinationcell: The destination cell of the sorted range of cells, as a string. If a range is given, only its top-left cell is considered. By default the source Range is overwritten.

containsheader: When True, the first row/column is not sorted.

casesensitive: Only for string comparisons. Default = False

sortcolumns: When True, the columns are sorted from left to right. Default = False : rows are sorted from top to bottom.

Eksempel:

In Basic

    'Sorteringsr√¶kkef√łlge A (stigende) og C (faldende)
    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-rutiner eller identifikatorer, som indledes med et understregningstegn "_" er reserveret til internt brug. De er ikke beregnet til brug i Basic-makroer.


St√łt os venligst!