Pomoč LibreOffice 24.8
Knjižnica SFDocuments v skupni rabi vsebuje metode in lastnosti, ki pomagajo pri upravljanju in ravnanju z dokumenti LibreOffice.
Storitev SFDocuments.Calc je podrazred storitve SFDocuments.Document. Do vseh metod in lastnosti, definiranih za storitev Document, lahko dostopate tudi z uporabo instance storitve Calc.
Storitev Calc se osredotoča na:
ravnanje z delovnimi listi v dokumentu Calc (kopiraj, vstavi, premakni itn.);
izmenjavo podatkov med podatkovnimi strukturami Basica in obsegi programa Calc;
kopiranje in uvažanje ogromnih količin podatkov.
Ta stran pomoči opisuje metode in lastnosti, ki so uporabne samo za dokumente programa Calc.
Pred uporabo storitve Calc je potrebno naložiti ali uvoziti knjižnico ScriptForge:
Storitev Calc je tesno povezana s storitvijo UI knjižnice ScriptForge. Sledi nekaj primerov, kako lahko prikličete storitev Calc.
Spodnji odlomek kode ustvari instanco storitve Calc, ki se nanaša na trenutno dejavni dokument Calc.
    Set oDoc = CreateScriptService("Calc")
  Drugi način ustvarjanja instance storitve Calc je z uporabo storitve UI. Naslednji primer ustvari nov dokument programa Calc in oDoc je instanca storitve Calc:
    Dim ui As Object, oDoc As Object
    Set ui = CreateScriptService("UI")
    Set oDoc = ui.CreateDocument("Calc")
  Ali z uporabo metode OpenDocument iz storitve UI:
    Set oDoc = ui.OpenDocument("C:\Documents\MyFile.ods")
  Instanco storitve Calc lahko tvorite tudi z navedbo imena okna za metodo CreateScriptService:
    Dim oDoc As Object
    Set oDoc = CreateScriptService("SFDocuments.Calc", "MyFile.ods")
  V zgornjem primeru je »MyFile.ods« ime okna odprtega dokumenta. Če ta argument ni podan, je upoštevano dejavno okno.
Instanco storitve Calc lahko tvorite tudi z uporabo dokumenta, na katerega se sklicuje ThisComponent. To je še posebej uporabno, ko zaganjate makro iz samega razvojnega okolja IDE Basic.
    Dim oDoc As Object
    Set oDoc = CreateScriptService("Calc", ThisComponent)
  Priporočamo, da po uporabi sprostite vire:
    Set oDoc = oDoc.Dispose()
  Če je dokument zaprt z metodo CloseDocument, ni potrebno sproščati virov z zgoraj opisanim ukazom.
    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()
  
    bas = CreateScriptService("Basic")
    myDoc = CreateScriptService("Calc", bas.ThisComponent)
  Uporaba predpone »SFDocuments.« pri klicu storitve je neobvezna.
Številne metode zahtevajo za argument "Sheet" (delovni list) ali "Range" (obseg). Posamezne celice veljajo za poseben primer obsega (Range).
Oba lahko izrazite z nizom ali s sklicem (= predmet), odvisno od situacije:
V določeni instanci storitve Calc so delovni listi in obsegi podani kot »Sheet1« in »D2:F6«.
Poleg tega lastnosti .Sheet in .Range vrneta sklic, ki je lahko uporabljen kot argument metode, klicane iz druge instance storitve Calc.
Spodnji primer kopira podatke iz dokumenta A (odprtega samo za branje in skritega) v dokument B.
    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)
  
    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")
  Lahko je ime delovnega lista kot string ali object, ki ga poda lastnost .Sheet.
Nadomestni znak "~" (tilda) predstavlja trenutni delovni list.
Niz, ki označuje množico zveznih celic, ki se nahajajo na delovnem listu trenutne instance, ali predmet object, ki ga ustvari lastnost .Range.
Nadomestni znak "~" (tilda) predstavlja trenutni izbor ali prvi izbrani obseg, če je izbranih več obsegov.
Nadomestni znak "*" predstavlja vse uporabljene celice.
Ime delovnega lista v obsegu ni obvezno. Če ime delovnega lita ni podano, je uporabljen dejavni delovni list. Obsegajoči enojni narekovaji in znaki $ so dovoljeni, vendar so prezrti.
Ko določite SheetName kot niz, je raba enojnih narekovajev za ime delovnega lista obvezna, če ime vsebuje presledke (» «) ali pike (».«).
Spodnji primeri ilustrirajo primere, ko je raba enojnih narekovajev obvezna:
      ' Raba enojnih narekovajev ni obvezna
      oDoc.clearAll("SheetA.A1:B10")
      oDoc.clearAll("'SheetA'.A1:B10")
      ' Raba enojnih narekovajev je obvezna
      oDoc.clearAll("'Sheet.A'.A1:B10")
    Z izjemo lastnosti CurrentSelection storitev Calc obravnava le posamezne obsege celic.
| Primeri veljavnih obsegov | |
|---|---|
| 1) $'DelovniListX'.D2 | Posamična celica | 
| 1) $'DelovniListX'.D2:F6 | Enojen obseg z več celicami | 
| $'DelovniListX'.* | Vse uporabljene celice na danem delovnem listu | 
| 1) $'DelovniListX'.A:A (stolpec A) | Vse celice v zveznih stolpcih ali vrsticah do nazadnje uporabljene celice | 
| mojObseg | Obseg z imenom »mojObseg« na ravni delovnega lista | 
| 1) ~.nekObseg | Ime obsega na ravni delovnega lista | 
| mojDokument.Range("DelovniListX.D2:F6") | Obseg na delovnem listu DelovniListX v datoteki, povezani z instanco Calc mojDokument | 
| ~.~ ali ~ | Trenutni izbor na aktivnem delovnem listu | 
Vse lastnosti, splošne za poljuben dokument, se lahko implicitno uporabljajo tudi za dokumente Calc. Za več informacij si oglejte stran pomoči za storitev Document.
Lastnosti, ki so posebej na voljo za dokumente Calc, so:
| Ime | Samo za branje | Argument | Vrsta vrnjene vrednosti | Opis | 
|---|---|---|---|---|
| CurrentSelection | Ne | Brez | Niz ali polje nizov | Enojni izbrani obseg kot niz ali seznam izbranih obsegov kot polje. | 
| FirstCell | Da | ImeDelovnegaLista ali ImeObsega kot String | String | Vrne prvo uporabljeno celico v danem obsegu ali delovnem listu. | 
| FirstColumn | Da | ImeDelovnegaLista ali ImeObsega kot String | Long | Najde številko skrajno levega stolpca v danem obsegu ali delovnem listu. | 
| FirstRow | Da | ImeDelovnegaLista ali ImeObsega kot String | Long | Najde številko najvišje vrstice v danem obsegu ali delovnem listu. | 
| Height | Da | ImeObsega As String | Long | Število vrstic (>= 1) v danem obsegu. | 
| LastCell | Da | ImeDelovnegaLista ali ImeObsega kot String | String | Nazadnje uporabljena celica v danem obsegu ali delovnem listu. | 
| LastColumn | Da | ImeDelovnegaLista ali ImeObsega kot String | Long | Nazadnje uporabljen stolpec v danem obsegu ali delovnem listu. | 
| LastRow | Da | ImeDelovnegaLista ali ImeObsega kot String | Long | Nazadnje uporabljena vrstica v danem obsegu ali delovnem listu. | 
| Range | Da | ImeObsega As String | Object | Sklic na obseg, ki ga lahko uporabite kot argument za metode, kakršna je CopyToRange. | 
| Region | Da | ImeObsega As String | String | Vrne naslov najmanjšega področja, ki vsebuje navedeni obseg, tako da je področje obkroženo s praznimi celicami ali robovi delovnega lista. To je ekvivalentno uporabi tipk za bližnjice Cmd + *krmilka + * na danem obsegu. | 
| Sheet | Da | ImeDelovnegaLista As String | Object | Sklic na delovni list, ki ga lahko uporabite kot argument za metode, kakršna je CopySheet. | 
| SheetName | Da | ImeObsega As String | String | Vrne ime delovnega lista v danem naslovnem obsegu. | 
| Sheets | Da | Brez | Polje nizov | Seznam z imeni vseh obstoječih delovnih listov. | 
| Width | Da | ImeObsega As String | Long | Število stolpcev (>= 1) v danem obsegu. | 
| XCellRange | Da | ImeObsega As String | Object | Predmet UNO com.sun.star.Table.XCellRange. | 
| XSheetCellCursor | Da | ImeObsega As String | Object | Predmet UNO com.sun.star.sheet.XSheetCellCursor. Po premiku kazalke lahko do ciljnega naslova obsega dostopate prek lastnosti UNO AbsoluteName predmeta kazalke, ki vrne vrednost niza, ki jo lahko uporabite kot argument za lastnosti in metode storitve Calc. | 
| XSpreadsheet | Da | ImeDelovnegaLista As String | Object | Predmet UNO com.sun.star.sheet.XSpreadsheet. | 
Obiščite spletišče dokumentacije API LibreOffice, da izveste več o UNO-predmetih XCellRange, XSheetCellCursor in XSpreadsheet (vse v angl. jeziku).
Vrne naslov obsega kot niz v koordinatah delovnega lista, t.j. številki vrstice in stolpca.
Če je podan le par koordinat, potem vrne naslov posamezne celice. Dodatna argumenta lahko določata desno spodnjo celico pravokotnega obsega.
svc.A1Style(row1: int, column1: int, row2: int = 0; column2: int = 0; sheetname: str = "~"): str
row1, column1: določite številke vrstice in stolpca leve vrhnje celice v obravnavanem obsegu. Izhodiščni številki vrstic in stolpcev sta 1.
row2, column2: določite številke vrstice in stolpca desne spodnje celice v obravnavanem obsegu. Če argumenta nista podana ali če sta podani vrednosti manjši od row1 in column1, potem vrne naslov obsega posamezne celice, ki ga predstavljata parametra row1 in column1.
sheetname: ime delovnega lista, ki ga želite dodati vrnjenemu naslovu obsega. Delovni list mora obstajati. Privzeta vrednost je »~« in predstavlja trenutno dejavni delovni list.
Spodnja primera v Basicu in Pythonu predpostavljata, da je delovni list z imenom »Sheet1« trenutno dejaven delovni list.
    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
  
    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
  Metodo A1Style lahko kombinirate s poljubno od številnih lastnosti in metod storitve Calc, ki zahtevajo za argument obseg, kot so GetValue, GetFormula, ClearAll itn.
Če je argument sheetname podan, je podani delovni list aktiviran in postane trenutni izbrani delovni list. Če argument manjka, se aktivira okno dokumenta.
svc.Activate(sheetname: str = ""): bool
sheetname: ime delovnega lista, ki ga želite v dokumentu narediti dejavnega. Privzeta vrednost je prazen niz, kar pomeni, da bo okno dokumenta aktivirano brez spremembe dejavnega delovnega lista.
Spodnji primer aktivira delovni list z imenom "Sheet4" v trenutno aktivnem dokumentu.
    Dim ui as Variant, oDoc as Object
    Set ui = CreateScriptService("UI")
    Set oDoc = ui.GetDocument(ui.ActiveWindow)
    oDoc.Activate("Sheet4")
  
    ui = CreateScriptService("UI")
    myDoc = ui.GetDocument(ui.ActiveWindow)
    myDoc.Activate("Sheet4")
  Aktiviranje delovnega lista je smiselno le za delo z dokumentom programa Calc. Da bi zagotovili, da je dokument Calc dosegljiv, lahko uporabite lastnost isCalc predmeta dokumenta, ki vrne True, če gre za dokument Calc, sicer pa False.
Vrne seznam z imeni vseh predmetov grafikona na danem delovnem listu ali posamezno instanco storitve Chart.
Če je podan le argument sheetname, vrne ničelno polje nizov z imeni vseh grafikonov.
Če je podano ime grafikona kot parameter chartname, potem vrne posamezni predmet, ki ustreza želenemu grafikonu. Navedeni grafikon mora obstajati.
svc.Charts(sheetname: str, chartname: str = ""): obj
sheetname: ime delovnega lista, iz katerega bo pridobljen seznam grafikonov ali na katerem se nahaja navedeni grafikon.
chartname: uporabniško določeno ime predmeta grafikona, ki bo vrnjen. Če grafikon nima uporabniško določenega imena, potem lahko uporabite interno ime predmeta. Če je ta argument izpuščen, vrne seznam imen vseh grafikonov na navedenem delovnem listu.
Uporabite zloženi zavihek v stranski vrstici, da preverite imena, dodeljena grafikonom. Glejte pod kategorijo .
Spodnji primer prikazuje število predmetov grafikonov na delovnem listu z imenom »Sheet1«.
    Dim arrNames as Object
    arrNames = oDoc.Charts("Sheet1")
    MsgBox "There are " & UBound(arrNames) + 1 & " charts in Sheet1"
  Naslednji primer dostopa do grafikona z imenom »MyChart« na delovnem listu »Sheet1« in izpiše njegovo vrsto.
    Dim oChart as Object
    oChart = oDoc.Charts("Sheet1", "MyChart")
    MsgBox oChart.ChartType
  
    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)
  Počisti vso vsebino in oblikovanje podanega obsega.
Določite lahko formulo filtra, ki določa, na katere celice naj vpliva.
svc.ClearAll(range: str, opt filterformula: str, opt filterscope: str)
range: obseg, ki bo počiščen, kot niz.
filterformula: formula programa Calc, ki deluje na danem obsegu in določa, na katere celice bo vplivalo. Navedena formula mora vrniti True ali False. Če ta argument ni naveden, bo vplivalo na vse celice v obsegu.
filterscope: določa, kako se filterformula širi na dani obseg. Ta argument je obvezen, če je določena formula filterformula. Sprejema naslednje vrednosti:
"CELL": formula, navedena v argumentu filterformula, se širi enkrat za vsako celico v obsegu range.
"ROW": formula, navedena v argumentu filterformula, se širi enkrat za vsako vrstico v obsegu range.
"COLUMN": formula, navedena v argumentu filterformula, se širi enkrat za vsak stolpec v obsegu range.
    ' Počisti vse celice v obsegu DelovniListX.A1:J10
    oDoc.ClearAll("DelovniListX.A1:J10")
    ' Počisti vse celice v obsegu DelovniListX.A1:J10, ki imajo vrednost, večjo od 100
    oDoc.ClearAll("DelovniListX.A1:J10", "=DelovniListX.A1>100", "CELL")
    ' Počisti vse vrstice v obsegu DelovniListX.A1:J10, katerih vsota je večja od 500
    oDoc.ClearAll("DelovniListX.A1:J10", "=SUM(DelovniListX.A1:J1)>100", "ROW")
    ' Počisti stolpce v obsegu DelovniListX.A1:J10, katerih vsota je večja od 500
    oDoc.ClearAll("DelovniListX.A1:J10", "=SUM(DelovniListX.A1:A10)>100", "COLUMN")
  
    mojDokument.ClearAll("DelovniListX.A1:F10")
    mojDokument.ClearAll("DelovniListX.A1:J10", "=DelovniListX.A1>100", "CELL")
    mojDokument.ClearAll("DelovniListX.A1:J10", "=SUM(DelovniListX.A1:J1)>100", "ROW")
    mojDokument.ClearAll("DelovniListX.A1:J10", "=SUM(DelovniListX.A1:A10)>100", "COLUMN")
  Počisti oblikovanje in sloge v podanem obsegu.
Določite lahko formulo filtra, ki določa, na katere celice naj vpliva.
svc.ClearFormats(range: str, opt filterformula: str, opt filterscope: str)
Range: obseg, katerega oblikovanje in slogi bodo počiščeni, kot niz.
      oDoc.ClearFormats("SheetX.*")
  
    myDoc.ClearFormats("SheetX.*")
  Glejte dokumentacijo metode ClearAll, kjer najdete primere za uporabo argumentov filterformula in filterscope.
Počisti vrednosti in formule v podanem obsegu.
Določite lahko formulo filtra, ki določa, na katere celice naj vpliva.
svc.ClearValues(range: str, opt filterformula: str, opt filterscope: str)
Range: obseg, katerega vrednosti in formule bodo počiščeni, kot niz.
      oDoc.ClearValues("SheetX.A1:F10")
  
    myDoc.ClearValues("SheetX.A1:F10")
  Glejte dokumentacijo metode ClearAll, kjer najdete primere za uporabo argumentov filterformula in filterscope.
Izbriše stolpce navedenega obsega, ki se ujemajo s filtrom, izraženem v obliki formule programa Calc. Filter se uveljavi na vsakem stolpcu, tako da odloča, ali bo izbrisan ali ne.
Izbrisani stolpec je možno omejiti na višino navedenega obsega ali raztegniti na višino celotnega delovnega lista, s čimer izbrišete celotne stolpce.
Ta metoda vrne niz, ki predstavlja naslov obsega strnjenega obsega. Če so izbrisani vsi stolpci, potem vrne prazen niz.
Če je izbran obseg celic, klic te metode ne bo vplival na izbor.
svc.CompactLeft(range: str, wholecolumn: bool = False, opt filterformula: str): str
range: obseg, v katerem bodo stolpci izbrisani, podan kot niz.
wholecolumn: če ima vrednost False, bo z delovnega lista izbrisan celoten stolpec. Privzeta vrednost je False, kar pomeni, da bo izbrisani stolpec po višini omejen na navedeni obseg range.
filterformula: na vsakem stolpcu uveljavljeni filter za določanje, ali naj bo stolpec izbrisan. Filter je izražen v obliki formule programa Calc, ki jo je potrebno uveljaviti na prvem stolpcu. Če formula za stolpec vrne True, bo tisti stolpec izbrisan. Privzeti filter izbriše vse prazne stolpce.
Primer: recimo, da je izbran obseg A1:J200 (višina = 200), tako se privzeta formula glasi =(COUNTBLANK(A1:A200)=200). To pomeni, da če je vseh 200 celic v prvem stolpcu praznih (Stolpec A), bo stolpec izbrisan. Upoštevajte, da je formula izražena zgolj s sklicevanjem na prvi stolpec. Metoda CompactLeft interno posploši to formulo za vse preostale stolpce.
Funkcije Calc, uporabljene v argumentu filterformula, morajo biti izražene s svojim angleškim imenom. Slednje v slovenski inačici vmesnika programa niso prevedene, torej gre za ista imena kot v slovenskem vmesniku. Seznam vseh funkcij z njihovimi imeni najdete na wiki-strani List of Calc Functions (v angl.).
    ' Izbriše vse prazne stolpce v obsegu G1:L10 z delovnega lista DelovniList1
    novobseg = oDoc.CompactLeft("DelovniList1.G1:L10")
    ' Spodnji primer je podoben, vendar izbriše celoten stolpec z delovnega lista
    novobseg = oDoc.CompactLeft("DelovniList1.G1:L10", WholeColumn := True)
    ' Izbriše vse stolpce, kjer je prva vrstica označena z »X«
    novobseg = oDoc.CompactLeft("DelovniList1.G1:L10", FilterFormula := "=(G1=""X"")")
    ' Izbriše vse stolpce, v katerih je vsota vrednosti stolpca liha
    novobseg = oDoc.CompactLeft("DelovniList1.G1:L10", FilterFormula := "=(MOD(SUM(G1:G10);2)=1)")
  
    novobseg = myDoc.CompactLeft("DelovniList1.G1:L10")
    novobseg = myDoc.CompactLeft("DelovniList1.G1:L10", wholecolumn = True)
    novobseg = myDoc.CompactLeft("DelovniList1.G1:L10", filterformula = '=(G1="X")')
    novobseg = myDoc.CompactLeft("DelovniList1.G1:L10", filterformula = '=(MOD(SUM(G1:G10);2)=1)')
  Izbriše vrstice navedenega obsega, ki se ujemajo s filtrom, izraženem v obliki formule programa Calc. Filter se uveljavi na vsaki vrstici, tako da odloča, ali bo izbrisana ali ne.
Izbrisani stolpec je možno omejiti na širino navedenega obsega ali raztegniti na širino celotnega delovnega lista, s čimer izbrišete celotne vrstice.
Ta metoda vrne niz, ki predstavlja naslov obsega strnjenega obsega. Če so izbrisane vse vrstice, potem vrne prazen niz.
Če je izbran obseg celic, klic te metode ne bo vplival na izbor.
svc.CompactUp(range: str, wholerow: bool = False, opt filterformula: str): str
range: obseg, v katerem bodo vrstice izbrisane, podan kot niz.
wholerow: če ima vrednost False, bo z delovnega lista izbrisana celotna vrstica. Privzeta vrednost je False, kar pomeni, da bo izbrisana vrstica po širini omejena na navedeni obseg range.
filterformula: na vsaki vrstici uveljavljen filter za določanje, ali naj bo vrstica izbrisana. Filter je izražen v obliki formule programa Calc, ki jo je potrebno uveljaviti na prvi vrstici. Če formula za vrstico vrne True, bo tista vrstica izbrisana. Privzeti filter izbriše vse prazne vrstice.
Primer: recimo, da je izbran obseg A1:J200 (širina = 10), tako se privzeta formula glasi =(COUNTBLANK(A1:J1)=10). To pomeni, da če je vseh 10 celic v prvi vrstici praznih (Vrstica 1), bo vrstica izbrisana. Upoštevajte, da je formula izražena zgolj s sklicevanjem na prvo vrstico. Metoda CompactUp interno posploši to formulo za vse preostale vrstice.
Funkcije Calc, uporabljene v formuli, navedeni v argumentu filterformula, morajo biti izražene s svojim angleškim imenom. Slednje v slovenski inačici vmesnika programa niso prevedene, torej gre za ista imena kot v slovenskem vmesniku. Seznam vseh funkcij z njihovimi imeni najdete na wiki-strani List of Calc Functions (v angl.).
    ' Izbriše vse prazne vrstice v obsegu G1:L10 z DelovnegaLista1
    novobseg = oDoc.CompactUp("DelovniList1.G1:L10")
    ' Spodnji primer je podoben, vendar izbriše celotno vrstico z delovnega lista
    novobseg = oDoc.CompactUp("DelovniList1.G1:L10", WholeRow := True)
    ' Izbriše vse vrstice, kjer je prvi stolpec označen z »X«
    novobseg = oDoc.CompactUp("DelovniList1.G1:L10", FilterFormula := "=(G1=""X"")")
    ' Izbriše vse vrstice, v katerih je vsota vrednosti vrstice liha
    novobseg = oDoc.CompactUp("DelovniList1.G1:L10", FilterFormula := "=(MOD(SUM(G1:L1);2)=1)")
  
    novobseg = myDoc.CompactUp("DelovniList1.G1:L10")
    novobseg = myDoc.CompactUp("DelovniList1.G1:L10", wholerow = True)
    novobseg = myDoc.CompactUp("DelovniList1.G1:L10", filterformula = '=(G1="X")')
    novobseg = myDoc.CompactUp("DelovniList1.G1:L10", filterformula = '=(MOD(SUM(G1:L1);2)=1)')
  Kopira navedeni delovni list pred obstoječi delovni list ali na konec seznama delovnih listov. Delovni list, ki bo kopiran, je lahko vsebovan v poljubnem odprtem dokumentu programa Calc. Vrne True, če uspe.
svc.CopySheet(sheetname: any, newname: str, [beforesheet: any]): bool
Sheetname: ime delovnega lista, ki bo kopiran, kot niz ali sklic nanj kot predmet.
Newname: ime delovnega lista, ki bo vstavljen. Ime ne sme biti uporabljeno v dokumentu.
Beforesheet: ime (niz) ali indeks (številski, od 1 naprej) delovnega lista, pred katerega bo vstavljen kopiran delovni list. Ta argument je neobvezen in privzeto dejanje je dodajanje kopiranje delovnega lista na končni položaj.
Naslednji primer naredi kopijo delovnega lista "SheetX" in jo postavi kot zadnji delovni list v trenutni dokument. Ime kopiranega delovnega lista je "SheetY".
    Dim oDoc as Object
    'Postavi predmet Document v dejavno okno
    Set oDoc = CreateScriptService("Calc")
    oDoc.CopySheet("SheetX", "SheetY")
  Spodnji primer kopira "SheetX" iz "FileA.ods" in ga prilepi na zadnje mesto v "FileB.ods" z imenom "SheetY":
      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")
  
    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")
  Za kopiranje delovnih listov med odprtimi dokumenti uporabite CopySheet. Če želite kopirati delovne liste iz dokumentov, ki so zaprti, uporabite CopySheetFromFile.
Kopira navedeni delovni list iz zaprtega dokumenta Calc in ga prilepi pred obstoječi delovni list ali na konec delovnih listov datoteke, na katero se sklicuje predmet Document.
Če datoteka ne obstaja, prikliče napako. Če datoteka ni veljavna datoteka Calc, je vstavljen prazen delovni list. Če v vhodni datoteki izvorni delovni list ne obstaja, vstavi sporočilo o napaki na vrh novo prilepljenega delovnega lista.
svc.CopySheetFromFile(filename: str, sheetname: str, newname: str, [beforesheet: any]): bool
Filename: ime datoteke, ki jo želite odpreti. Slediti mora zapisu SF_FileSystem.FileNaming. Datoteka ne sme biti zaščitena z geslom.
Sheetname: ime delovnega lista, ki bo kopiran, kot niz.
Newname: ime kopiranega delovnega lista, ki bo vstavljen v dokument. Ime ne sme biti uporabljeno v dokumentu.
Beforesheet: ime (niz) ali indeks (številski, od 1 naprej) delovnega lista, pred katerega bo vstavljen kopiran delovni list. Ta argument je neobvezen in privzeto dejanje je dodajanje kopiranje delovnega lista na končni položaj.
Naslednji primer kopira delovni list "SheetX" iz datoteke "myFile.ods" in ga prilepi v dokument, na katerega se sklicuje ime dokumenta "oDoc", na prvo mesto, kot delovni list "SheetY".
    oDoc.CopySheetFromFile("C:\Documents\myFile.ods", "SheetX", "SheetY", 1)
  
    myDoc.CopySheetFromFile(r"C:\Documents\myFile.ods", "SheetX", "SheetY", 1)
  Kopira navedeni izvorni obseg (vrednosti, formule in oblikovanje) v ciljni obseg ali celico. Metoda oponaša vedenje operacije kopiraj/prilepi iz obsega v posamezno celico.
Vrne niz, ki predstavlja spremenjeni obseg celic. Velikost spremenjenega področja je povsem določen z velikostjo izvornega področja.
Izvorni obseg lahko pripada drugemu odprtemu dokumentu.
svc.CopyToCell(sourcerange: any, destinationcell: str): str
sourcerange: izvorni obseg kot niz, ko izvira iz istega dokumenta, ali kot sklic, ko izvira iz drugega odprtega dokumenta Calc.
Destinationcell: ciljna celica, kamor bo prilepljen kopirani obseg celic, podana kot niz. Če je podan obseg, se obravnava le njegova leva vrhnja celica.
Sledi primer, ko sta vir in cilj v isti datoteki:
      oDoc.CopyToCell("SheetX.A1:F10", "SheetY.C5")
  Spodnji primer ilustrira, kako kopirate obseg iz drugega odprtega dokumenta Calc:
    Dim ui as Variant : ui = CreateScriptService("UI")
    Dim oDocSource As Object, oDocDestination As Object
    ' Odpre izvorni dokument v ozadju (skrito)
    Set oDocSource = ui.OpenDocument("C:\SourceFile.ods", Hidden := True, ReadOnly := True)
    Set oDocDestination = CreateScriptService("Calc")
    oDocDestination.CopyToCell(oDocSource.Range("Sheet1.C2:C4"), "SheetT.A5")
    ' Ne pozabite zapreti izvornega dokumenta, saj je bil odprt kot skrit
    oDocSource.CloseDocument()
  
    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()
  Če želite oponašati kopiranje/lepljenje iz obsega v posamezno celico, uporabite CopyToCell. Če želite oponašati kopiranje/lepljenje iz obsega v večji obseg (z večkrat ponovljenimi istimi celicami), uporabite CopyToRange.
Kopira navedeni izvorni obseg (vrednosti, formule in oblike) navzdol in/ali desno v ciljni obseg. Metoda oponaša vedenje operacije kopiraj/prilepi iz obsega vira v večji ciljni obseg.
Če je višina (ali širina) ciljnega področja > 1 vrstice (ali stolpca), potem mora biti višina (ali širina) izvornega obsega <= višine (ali širine) ciljnega področja. Sicer se ne zgodi nič.
Če je višina (ali širina) cilja enaka 1, potem se cilj razširi navzdol (oz. desno) vse do višine (ali širine) izvornega obsega.
Metoda vrne niz, ki predstavlja spremenjeni obseg celic.
Izvorni obseg lahko pripada drugemu odprtemu dokumentu.
svc.CopyToRange(sourcerange: any, destinationrange: str): str
sourcerange: izvorni obseg kot niz, ko izvira iz istega dokumenta, ali kot sklic, ko izvira iz drugega odprtega dokumenta Calc.
destinationrange: cilj kopiranega obsega celic, kot niz.
Kopiranje znotraj istega dokumenta:
    oDoc.CopyToRange("SheetX.A1:F10", "SheetY.C5:J5")
    ' Vrne niz obsega: "$SheetY.$C$5:$J$14"
  Kopiranje iz ene datoteke v drugo:
    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")
  
    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")
  Ustvari nov predmet grafikona, ki prikazuje podatke iz navedenega obsega. Z vrnjenim predmetom grafikona lahko nadalje upravljate z uporabo storitve Chart.
svc.CreateChart(chartname: str, sheetname: str, range: str, columnheader: bool = False, rowheader: bool = False): obj
chartname: uporabniško določeno ime grafikona, ki bo ustvarjen. Ime mora biti enkratno oz. na delovnem listu ne sme biti uporabljeno.
sheetname: ime delovnega lista, na katerega želite umestiti grafikon.
range: obseg, ki bo uporabljen kot vir podatkov za grafikon. Obseg se lahko nanaša na poljuben delovni list v dokumentu programa Calc.
columnheader: če je True, bo vrhnja vrstica obsega služila za oznake na osi kategorij ali legendo (privzeta vrednost je False).
rowheader: če je True, bo skrajno levi stolpec služil za oznake na osi kategorij ali legendo (privzeta vrednost je False).
Spodnja primera v Basicu in Pythonu ustvarita grafikon s podatki iz obsega »A1:B5« delovnega lista »Sheet1« in postavita grafikon na delovni list »Sheet2«.
    Set oChart = oDoc.CreateChart("MyChart", "Sheet2", "Sheet1.A1:B5", RowHeader := True)
    oChart.ChartType = "Donut"
  
    chart = doc.CreateChart("MyChart", "Sheet2", "Sheet1.A1:B5", rowheader=True)
    chart.ChartType = "Donut"
  Glejte stran pomoči o storitvi Chart ScriptForge, da izveste več, kako nadalje upravljate s predmeti grafikona. Spremenite lahko lastnosti, kot so vrsta grafikona, naslov grafikona, naslov osi in položaj grafikona.
Ustvari novo vrtilno tabelo z lastnostmi, ki jih določajo argumenti, podani z metodo.
Vrtilna tabela mora imeti svoje ime. Če vrtilna tabela s takšnim imenom že obstaja na ciljnem delovnem listu, bo brez opozorila zamenjana.
Metoda vrne niz, ki vsebuje obseg, v katerega je postavljena nova vrstilna tabela.
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
pivottablename: uporabniško določeno ime nove vrstilne tabele.
sourcerange: obseg, ki vsebuje neobdelane podatke, kot niz. Predvideva se, da vsebuje prva vrstica imena polj, ki jih uporablja vrtilna tabela.
targetcell: celica levo zgoraj, kamor bo umeščena nova vrtilna tabela. Če je podan obseg, se obravnava le njegova leva vrhnja celica.
datafields: lahko je posamezen niz ali polje nizov, ki določajo imena polj in funkcije, ki bodo uporabljene. Če je določeno polje, mora imeti skladnjo Array("ImePolja[;funkcija]", ...).
Dovoljene funkcije so: Sum, Count, Average, Max, Min, Product, CountNums, StDev, StDevP, Var, VarP in Median. Imena funkcij morajo biti podana v angleškem jeziku. Če so vse vrednosti številske, je privzeta funkcija Sum, sicer je privzeta funkcija Count.
rowfields: posamezen niz ali polje nizov z imeni polj, ki bodo uporabljena kot vrstice vrtilne tabele.
columnfields: posamezen niz ali polje nizov z imeni polj, ki bodo uporabljena kot stolpci vrtilne tabele.
filterbutton: določa, ali bo gumb filtra prikazan nad vrtilno tabelo (privzeta vrednost je True).
rowtotals: določa, ali bo v vrtilno tabelo dodan ločen stolpec za vsote vrstic (privzeta vrednost je True).
columntotals: določa, ali bo v vrtilno tabelo dodana ločena vrstica za vsote stolpcev (privzeta vrednost je True).
    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("Stvar", "Pokrajina", "Ekipa", "2002", "2003", "2004"), _
        Array("Knjige", "Primorska", "Sara", 14788, 30222, 23490), _
        Array("Bonboni", "Primorska", "Sara", 26388, 15641, 32849), _
        Array("Peresa", "Primorska", "Sara", 16569, 32675, 25396), _
        Array("Knjige", "Primorska", "Beno", 21961, 21242, 29009), _
        Array("Bonboni", "Primorska", "Beno", 26142, 22407, 32841))
    sTable = oDoc.SetArray("A1", vData)
    sPivot = oDoc.CreatePivotTable("PT1", sTable, "H1", _
        Array("2002", "2003;count", "2004;average"), _ ' Tri podatkovna polja
        "Stvar", _ ' Polje ene vrstice
        Array("Pokrajina", "Ekipa"), False) ' Polje dveh stolpcev
  
    ui = CreateScriptService("UI")
    doc = ui.CreateDocument("Calc")
    vData = [["Stvar", "Pokrajina", "Ekipa", "2002", "2003", "2004"],
             ["Knjige", "Primorska", "Sara", 14788, 30222, 23490],
             ["Bonboni", "Primorska", "Sara", 26388, 15641, 32849],
             ["Peresa", "Primorska", "Sara", 16569, 32675, 25396)],
             ["Knjige", "Primorska", "Beno", 21961, 21242, 29009],
             ["Bonboni", "Primorska", "Beno", 26142, 22407, 32841]]
    sTable = doc.SetArray("A1", vData)
    sPivot = doc.CreatePivotTable("PT1", sTable, "H1",
                                  ["2002", "2003;count", "2004;average"],
                                  "Stvar",
                                  ["Pokrajina", "Ekipa"], False)
  Če želite izvedeti več o vrtilnih tabelah v LibreOffice Calc, preberite stran pomoči Vrtilna tabela.
Uporabite funkcije Average, Count, Max, Min oz. Sum na vseh celicah, ki vsebujejo številske vrednosti v danem obsegu, ne upoštevajoč vrednosti iz filtriranih in skritih vrstic ter skritih stolpcev, enako kot za funkcije vrstice stanja.
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
range: obseg, v katerem želimo uporabiti funkcijo, podan kot niz.
Spodnji primer uporabi funkcijo vsote Sum na obsegu "A1:A1000" trenutno izbranega delovnega lista:
      result = oDoc.DSum("~.A1:A1000")
  
    result = myDoc.DSum("~.A1:A1000")
  Vse te funkcije prezrejo celice v danem obsegu, ki vsebujejo besedilo. Primer: metoda DCount ne šteje celic z besedilom, šteje le številske celice.
Izvozi navedeni obseg kot sliko ali datoteko PDF.
Ta metoda vrne True, če je shranjevanje ciljne datoteke uspelo.
Skrite vrstice ali stolpci v navedenem obsegu se ne izvozijo v ciljno datoteko.
svc.ExportRangeToFile(range: str, filename: str, imagetype: str = "pdf", overwrite: bool = False): bool
range: ime delovnega lista ali obsega celic, ki naj bo izvožen, podan kot niz.
filename: ime datoteke, ki jo želite shraniti. Slediti mora zapisu SF_FileSystem.FileNaming.
imagetype: določa vrsto ciljne datoteke, ki jo želite ustvariti. Dovoljene so naslednje vrednosti: "jpeg", "pdf" (privzeto) in "png".
overwrite: če je True, je ciljno datoteko možno prepisati (privzeto = False).
    ' Izvozi celoten delovni list v datoteko PDF
    oDoc.ExportRangeToFile("SheetX", "C:\Temp\image.pdf")
    ' Izvozi obseg kot datoteko PNG in prepiše ciljno datoteko, če že obstaja
    oDoc.ExportRangeToFile("SheetX.A1:D10", "C:\Temp\image.png", "png", Overwrite := True)
  
    doc.ExportRangeToFile("SheetX", r"C:\Temp\image.pdf")
    doc.ExportRangeToFile("SheetX.A1:D10", r"C:\Temp\image.png", "png", overwrite = True)
  Glede na podane parametre ta metoda vrne:
Ničelno polje (par v Pythonu) z imeni vseh obrazcev, vsebovanih v danem delovnem listu (če ni podan argument form).
Instanca storitve SFDocuments.Form, ki predstavlja obrazec, naveden v argumentu.
svc.Forms(sheetname: str): str[0..*]
svc.Forms(sheetname: str, form: str = ''): svc
svc.Forms(sheetname: str, form: int): svc
sheetname: ime delovnega lista, iz katerega bo izveden obrazec, kot niz.
form: ime ali indeks, ki ustreza obrazcu, shranjenem v navedeni preglednici. Če ta argument ni podan, metoda vrne seznam z imeni vseh obrazcev, ki so na voljo v preglednici.
V sledečih primerih prva vrstica pridobi imena vseh obrazcev, shranjenih na delovnem listu »DelovniList1«, druga pa predmet Form iz obrazca »Obrazec_A«, ki je shranjen v »DelovniList1«.
    Set FormNames = oDoc.Forms("Sheet1")
    Set FormA = oDoc.Forms("Sheet1", "Form_A")
  
    form_names = doc.Forms("Sheet1")
    form_A = doc.Forms("Sheet1", "Form_A")
  Pretvori številko stolpca iz obsega med 1 in 1024 v ustrezni črkovni niz (stolpec 'A', 'B', 'C', 'D', ..., 'AMJ'). Če je dana številka stolpca izven dovoljenega obsega, vrne niz ničelne dolžine.
svc.GetColumnName(columnnumber: int): str
columnnumber: številka stolpca kot celoštevilska vrednost v intervalu 1 ... 16384.
Prikaže okno s sporočilom z imenom tretjega stolpca, ki je privzeto »C«.
    MsgBox oDoc.GetColumnName(3)
  
    bas = CreateScriptService("Basic")
    bas.MsgBox(myDoc.GetColumnName(3))
  Največje dovoljeno število stolpcev na delovnem listu v programu Calc je 16384.
Pridobi formulo ali formule, shranjene v danem obsegu celic kot enostavni niz, enodimenzionalno ali dvodimenzionalno polje nizov.
Funkcije Calc so v vrnjenih formulah izražene s svojim angleškim imenom. Slednje v slovenski inačici vmesnika programa niso prevedene, torej gre za ista imena kot v slovenskem vmesniku. Seznam vseh funkcij z njihovimi imeni najdete na wiki-strani List of Calc Functions (v angl.).
svc.GetFormula(range: str): any
range: obseg, iz katerega izvirajo formule, podan kot niz.
Naslednji primer vrne polje 3 x 2 s formulami v obsegu "A1:B3" (3 vrstice x 2 stolpca):
    arrFormula = oDoc.GetFormula("~.A1:B3")
  
    arrFormula = myDoc.GetFormula("~.A1:B3")
  Pridobi vrednost(i), shranjene v danem obsegu celic kot posamezno vrednost, enodimenzionalno polje ali dvodimenzionalno polje. Vse vrednosti so vrste double ali nizi.
svc.GetValue(range: str): any
range: obseg, iz katerega izvirajo nizi, podan kot niz.
      arrValues = oDoc.GetValue("~.B1:C100")
  
    arrValues = myDoc.GetValue("~.B1:C100")
  Če celica vsebuje datum, bo vrnjena številka, ki ustreza temu datumu. Za pretvorbo številskih vrednosti v datume uporabite vgrajeno funkcijo Basica CDate. V skriptih Python uporabite funkcijo CDate iz storitve Basic.
Uvozi vsebino datoteke CSV z besedilom, ločenim z vejico, in jo postavi v dano ciljno celico.
Ciljno področje je počiščeno sleherne vsebine in oblikovanja, preden vstavi vsebino datoteke CSV. Velikost spremenjenega območja je povsem določena z vsebino vhodne datoteke.
Metoda vrne niz, ki predstavlja spremenjeni obseg celic.
svc.ImportFromCSVFile(filename: str, destinationcell: str, [filteroptions: str]): str
filename: ime datoteke, ki jo želite odpreti. Slediti mora zapisu SF_FileSystem.FileNaming.
destinationcell: ciljna celica za vstavljanje uvoženih podatkov, podana kot niz. Če je namesto tega podan obseg, se upošteva le leva vrhnja celica.
filteroptions: argumenti za vhodni filter CSV. Privzeti filter uporabi naslednje predpostavke:
Vhodna datoteka ima kodiranje UTF8.
Ločilo polj je vejica, podpičje ali tabulator.
Ločilo nizov je dvojni narekovaj (").
Vse vrstice so vključene.
Nizi v navedkih so oblikovani kot besedilo.
Posebna števila so zaznana.
Za vse stolpce velja domneva, da so besedila, razen če so vrednosti prepoznane kot veljavna števila.
Jezik je angleški (ZDA), kar nakazuje, da je ločilo decimalk "." in ločilo tisočic ",".
    oDoc.ImportFromCSVFile("C:\Temp\myCSVFile.csv", "SheetY.C5")
  
    myDoc.ImportFromCSVFile(r"C:\Temp\myCSVFile.csv", "SheetY.C5")
  Če želite izvedeti več o možnostih filtra CSV, glejte stran pomoči Možnosti filtra CSV.
Uvozi vsebino tabele poizvedbe ali množice rezultatov zbirke podatkov, t.j. rezultat ukaza SELECT SQL, tako da ga vstavi v ciljno celico.
Ciljno področje je počiščeno sleherne vsebine in oblikovanja, preden vstavi uvoženo vsebino. Velikost spremenjenega območja je povsem določena z vsebino tabele ali poizvedbe.
Ta metoda vrne True, če je uvoz uspel.
svc.ImportFromDatabase(filename: str = "", registrationname: str = "", destinationcell: str = "", sqlcommand: str = "", directsql: bool): bool
filename: ime datoteke, ki jo želite odpreti. Slediti mora zapisu SF_FileSystem.FileNaming.
registrationname: ime za iskanje zbirke podatkov v registru zbirk podatkov. Ta argument je prezrt, če je podano ime datoteke filename.
destinationcell: ciljna celica uvoženih podatkov, podana kot niz. Če je podan obseg, se obravnava le njegova leva vrhnja celica.
sqlCommand: ime tabele ali poizvedbe (brez narekovajev ali oglatih oklepajev) ali izjava SQL SELECT, v kateri so imena tabel in polj lahko v oglatih oklepajih ali narekovajih, da izboljšate njeno berljivost.
directsql: ko je True, pošlje ukaz SQL pogonu zbirke podatkov brez predhodne analize. Privzeta vrednost je False. Argument je pri tabelah prezrt. Za poizvedbe je uporabljena tista možnost, ki je veljala ob določitvi poizvedbe.
    oDoc.ImportFromDatabase("C:\Temp\myDbFile.odb", , "SheetY.C5", "SELECT * FROM [Employees] ORDER BY [LastName]")
  
    myDoc.ImportFromDatabase(r"C:\Temp\myDbFile.odb", , "SheetY.C5", "SELECT * FROM [Employees] ORDER BY [LastName]")
  Vstavi nov prazen delovni list pred obstoječi delovni list ali na konec seznama delovnih listov.
svc.InsertSheet(sheetname: str, [beforesheet: any]): bool
sheetname: ime novega delovnega lista.
beforesheet: ime (niz) ali indeks (številski, od 1 naprej) delovnega lista, pred katerega bo vstavljen nov delovni list. Ta argument je neobvezen in privzeto dejanje je vstavljanje delovnega lista na zadnje mesto.
Naslednji primer vstavi nov prazen delovni list, imenovan "SheetX", in ga postavi pred delovni list "SheetY":
    oDoc.InsertSheet("SheetX", "SheetY")
  
    myDoc.InsertSheet("SheetX", "SheetY")
  Premakne navedeni izvorni obseg na ciljni obseg celic. Metoda vrne niz, ki predstavlja spremenjeni obseg celic. Mere spremenjenega področja so povsem določene z velikostjo izvornega področja.
svc.MoveRange(source: str, destination: str): str
source: izvorni obseg celic, podan kot niz.
destination: ciljna celica, podana kot niz. Če je podan obseg, se kot cilj upošteva njegova leva vrhnja celica.
    oDoc.MoveRange("SheetX.A1:F10", "SheetY.C5")
  
    myDoc.MoveRange("SheetX.A1:F10", "SheetY.C5")
  Premakne obstoječi delovni list in ga postavi pred navedeni delovni list ali na konec seznama delovnih listov.
svc.MoveSheet(sheetname: str, [beforesheet: any]): bool
sheetname: ime delovnega lista, ki ga želite premakniti. Delovni list mora obstajati, sicer prikliče izjemo.
beforesheet: ime (niz) ali indeks (številski, od 1 naprej) delovnega lista, pred katerega bo postavljen izvorni delovni list. Ta argument je neobvezen in privzeto dejanje je premik delovnega lista na zadnje mesto.
Spodnji primer premakne obstoječi delovni list "SheetX" in ga postavi pred delovni list "SheetY":
    oDoc.MoveSheet("SheetX", "SheetY")
  
    myDoc.MoveSheet("SheetX", "SheetY")
  Vrne nov obseg (kot niz), zamaknjen za določeno število vrstic in stolpcev od danega obsega.
Ta metoda se vede enako kot homonimna funkcija Offset programa Calc.
svc.Offset(reference: str, rows: int = 0, columns: int = 0, [height: int], [width: int]): str
reference: obseg, podan kot niz, ki ga bo metoda uporabila za sklic ob izvajanju operacije zamikanja.
rows: število vrstic, za katere je začetni obseg zamaknjen navzgor (negativna vrednost) ali navzdol (pozitivna vrednost). Uporabite 0 (privzeta vrednost), da ostanete v isti vrstici.
columns: število stolpcev, za katere je začetni obseg zamaknjen levo (negativna vrednost) ali desno (pozitivna vrednost). Uporabite 0 (privzeta vrednost), da ostanete v istem stolpcu.
height: navpična višina območja, ki se začne na položaju novega obsega. Ta argument izpustite, če navpično spreminjanje velikosti ni potrebno.
Width: vodoravna širina območja, ki se začne na položaju novega obsega. Ta argument izpustite, če vodoravno spreminjanje velikosti ni potrebno.
Argumenta rows in columns ne smeta voditi k ničelni ali negativni začetni vrstici ali začetnemu stolpcu.
Argumenta height in width ne smeta voditi k ničelni ali negativni začetni vrstici ali začetnemu stolpcu.
    oDoc.Offset("A1", 2, 2)
    'SheetX.$C$3 (A1 se premakne za dve vrstici in dva stolpca navzdol)
    oDoc.Offset("A1", 2, 2, 5, 6)
    'SheetX.$C$3:$H$7 (A1 se zamakne za dve vrstici in stolpca s širino 5 vrstic in 6 stolpcev)
  
    myDoc.Offset("A1", 2, 2)
    myDoc.Offset("A1", 2, 2, 5, 6)
  Za izbor obsega lahko uporabite pogovorno okno v ne-modalnem načinu, ki vrne niz z izbranim obsegom.
Ta metoda odpre isto pogovorno okno, kot ga uporablja LibreOffice, ko pritisnete gumb Skrči. Primer: pogovorno okno ima gumb Skrči na desni strani polja .
Metoda ne spremeni trenutnega izbora.
svc.OpenRangeSelector(opt title: str, opt selection: str, singlecell: bool = False, closeafterselect: bool = True): str
title: naslov pogovornega okna, podan kot niz.
selection: neobvezen obseg, ki je na začetku izbran, ko se odpre pogovorno okno.
singlecell: če je True (privzeta vrednost), je dovoljeno le izbiranje posameznih celic. Če je False, je dovoljen izbor obsega.
closeafterselect: če ima vrednost True (privzeta vrednost), se pogovorno okno zapre tako po opravljenem izboru. Če je False, lahko uporabnik spremeni izbor, kolikor krat želi, in nato zapre pogovorno okno.
    Dim sRange as String
    sRange = oDoc.OpenRangeSelector(Title := "Select a range")
  
    sRange = myDoc.OpenRangeSelector(title = "Select a range")
  Vrne vhodni niz po zamenjavi znakov žetonov z njihovimi vrednostmi v danem obsegu.
Metoda ne spremeni trenutnega izbora.
S to metodo lahko hitro izluščite določene dele imena obsega, kot je ime delovnega lista ali stolpec in vrstica prve celice, ter jih uporabite za tvorbo naslova novega obsega.
svc.Printf(inputstr: str, range: str, tokencharacter: str = "%"): str
inputstr: niz z žetoni, ki jih bodo zamenjale ustrezne vrednosti iz obsega range.
range: ime obsega RangeName, iz katerega bodo izluščene vrednosti. Če vsebuje ime delovnega lista, mora ta delovni list obstajati.
tokencharacter: znak, uporabljen za identifikacijo žetonov. Privzeti znak za žeton je »%«. Naslednji žetoni so sprejeti:
%S: ime delovnega lista, ki vsebuje obseg, vključno z enojnimi narekovaji, če so potrebni.
%R1: številka vrstice leve vrhnje celice obsega.
%C1: črka stolpca leve vrhnje celice obsega.
%R2: številka vrstice desne spodnje celice obsega.
%C2: črka stolpca desne spodnje celice obsega.
Spodnji primer vzame vse elemente obsega RangeName, kot ga določa sRange, in jih uporabi za sestavo sporočila.
    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)
  Metodo Printf lahko kombinirate z metodo SetFormula, da ustvarite formule prek več celic. Za primer vzemimo tabelo z numeričnimi vrednostmi v obsegu "A1:E10", za katero želimo ustvariti formule za vsoto vrednosti v vsaki vrstici posebej in postaviti rezultate v obseg "F1:F10":
    Dim sFormula as String, sRange as String
    sRange = "A1:E10"
    ' Upoštevajte rabo znaka »$«
    sFormula = "=SUM($%C1%R1:$%C2%R1)"
    oDoc.SetFormula("F1:F10", oDoc.Printf(sFormula, sRange))
  
    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))
  Ta metoda pošlje vsebino danega delovnega lista privzetemu tiskalniku oz. tiskalniku, določenim z metodo SetPrinter storitve Document.
Vrne True, če je bil delovni list uspešno natisnjen.
svc.PrintOut(opt sheetname: str, pages: str = "", copies: num = 1): bool
sheetname: ime delovnega lista, ki ga želite natisniti, privzeta vrednot je dejavni delovni list.
pages: strani, ki jih želite natisniti, kot niz, tako kot v uporabniškem vmesniku. Primer: »1-4;10;15-18«. Privzeta vrednost je tiskanje vseh strani.
copies: število kopij. Privzeto ima vrednost 1.
    If oDoc.PrintOut("SheetX", "1-4;10;15-18", Copies := 2) Then
        ' ...
    End If
  
    if doc.PrintOut('SheetX', copies=3, pages='45-88'):
        # ...
  Odstrani podvojene vrstice iz navedenega obsega. Primerjava za določanje, ali je dana vrstica podvojena, se opravi glede na podmnožico stolpcev v obsegu.
Metoda vrne niz, ki vsebuje obseg z rezultatom.
Odstranjevanje podvojenih vrstic se opravi od prve vrstice obsega navzdol, kar pomeni, da če sta dve ali več vrstic dvojnika, obdrži le prvo vrstico.
svc.RemoveDuplicates(range: str, opt columns: int[0..*], header: bool = False, casesensitive: bool = False, mode: str = "COMPACT"): str
range: obseg, v katerem bodo dvojniki izbrisani, podano kot niz.
columns: polje, ki vsebuje številke stolpcev, ki nakazujejo, kateri stolpci bodo upoštevani za določitev, ali vrstica dvojnik ali ne. Če ta argument pustite prazen, se uporabi le prvi stolpec. Elementi v tej matriki morajo biti v intervalu med 1 in širino obsega.
header: določa, ali je prva vrstica naslovna (privzeta vrednost je False).
casesensitive: določa razločevanje med malimi in velikimi črkami pri primerjavi nizov (privzeta vrednost je False).
mode: določa, kaj storiti s podvojenimi vrsticami. Če je mode = "CLEAR", se dvojniki enostavno odstranijo z delovnega lista, tako da ostanejo celice prazne. Če je mode = "COMPACT", se dvojniki odstranijo in prazne vrstice se strnejo navzgor (privzeta vrednost je "COMPACT").
    ' Odstrani podvojene vrstice, pri katerih je vrednost v stolpcu A podvojena
    ' Upoštevajte, da imajo vsi neobvezni argumenti svojo privzeto vrednost
    oDoc.RemoveDuplicates("A1:B10")
    ' Odstrani podvojene vrstice, upoštevajoč, da prva vrstica vsebuje naslove
    ' Stolpca A in B uporabi za določanje, ali je vrstica dvojnik
    ' Celice, ki vsebujejo podvojene vrednosti, pusti prazne
    oDoc.RemoveDuplicates("A1:D10", columns := Array(1, 2), header := True, mode := "CLEAR")
  
    myDoc.RemoveDuplicates("A1:B10")
    myDoc.RemoveDuplicates("A1:D10", columns = (1, 2), header = True, mode = "CLEAR")
  Odstrani obstoječi delovni list iz dokumenta.
svc.RemoveSheet(sheetname: str): bool
sheetname: ime delovnega lista, ki ga želite odstraniti.
    oDoc.RemoveSheet("SheetY")
  
    myDoc.RemoveSheet("SheetY")
  Preimenuje dani delovni list in vrne True, če uspe.
svc.RenameSheet(sheetname: str, newname: str): bool
sheetname: ime delovnega lista, ki ga želite preimenovati.
newname: novo ime delovnega lista. Ne sme še obstajati.
Ta primer preimenuje dejavni delovni list v "SheetY":
    oDoc.RenameSheet("~", "SheetY")
  
    mydoc.RenameSheet("~", "SheetY")
  Shrani dano vrednost od navedene ciljne celice naprej. Posodobljeno področje se širi od ciljne celice ali od levega vrhnjega kota danega obsega naprej, da lahko zagotovi prostor velikosti vhodnega argumenta value. Vektorji se vedno širijo navpično.
Metoda vrne niz, ki predstavlja spremenjeno področje kot obseg celic.
svc.SetArray(targetcell: str, value: any): str
targetcell: celica ali obseg kot niz, od koder naj se začne shranjevati dana vrednost.
value: skalar, vektor ali polje (v Pythonu eno- ali dvodimenzionalni seznami in n-terice) z novimi vrednostmi, ki bodo shranjene od ciljne celice oz. od levega vrhnjega kota obsega, če je ciljna celica targetcell obseg. Nove vrednosti morajo biti nizi, številske vrednosti ali datumi. Druge vrste povzročijo, da se ustrezne celice izpraznijo.
Naslednji primer uporablja vgrajeno Funkcijo DimArray za ustvarjanje polja in nato njegovo shranjevanje v celici "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)
  Primer uporablja metodo RangeInit storitve ScriptForge Array, da ustvari polje z vrednostmi, ki so nato shranjeni od celice "A1" navzdol.
    'Zapolni 1. stolpec z vrednostmi od 1 do 1000
    oDoc.SetArray("Sheet1.A1", SF_Array.RangeInit(1, 1000))
  
    arrData = ((1, "One"), (2, "Two"), (3, "Three"))
    myDoc.SetArray("Sheet1.A1", arrData)
  
    myDoc.SetArray("Sheet1.A1", tuple(i + 1 for i in range(1000)))
  Če želite izmetati celotno vsebino polja na delovni list, uporabite SetArray. Če želite izmetati vsebino polj le v mejah ciljnega obsega celic, uporabite SetValue.
Uveljavi navedeni slog celice na danem ciljnem obsegu. Polni obseg se posodobi, preostanek delovnega lista pa ostane nespremenjen. Če slog celice ne obstaja, prikliče napako.
Metoda vrne niz, ki predstavlja spremenjeno področje kot obseg celic.
svc.SetCellStyle(targetrange: str, style: str, opt filterformula: str, opt filterscope: str): str
targetrange: obseg, v katerem bo uporabljen slog, podan kot niz.
style: ime sloga celice, ki bo uporabljen.
    oDoc.SetCellStyle("A1:J1", "Heading 1")
    oDoc.SetCellStyle("A2:J100", "Neutral")
  
    myDoc.SetCellStyle("A1:J1", "Heading 1")
    myDoc.SetCellStyle("A2:J100", "Neutral")
  Glejte dokumentacijo metode ClearAll, kjer najdete primere za uporabo argumentov filterformula in filterscope.
Vstavi dano formulo ali polje s formulami v navedeni obseg. Velikost spremenjenega področja je enaka velikosti obsega.
Metoda vrne niz, ki predstavlja spremenjeno področje kot obseg celic.
svc.SetFormula(targetrange: str, formula: any): str
targetrange: obseg, v katerega bodo vstavljene formule, podan kot niz.
formula: niz, vektor ali polje nizov z novimi formulami za vsako celico v ciljnem obsegu.
Polni obseg se posodobi, preostanek delovnega lista pa ostane nespremenjen.
Če je dana formula niz, se enkratna formula prilepi po celotnem obsegu s prilagoditvami relativnih sklicev.
Če je velikost formule formula manjša od velikosti ciljnega obsega targetrange, bodo preostale celice izpraznjene.
Če je velikost formule formula večja od velikosti ciljnega obsega targetrange, se formule le delno kopirajo, dokler se z njimi ne zapolni velikost targetrange.
Vektorji se vedno širijo navpično, razen če ima ciljni obseg targetrange višino natanko 1 vrstice.
Funkcije Calc, uporabljene v argumentu formula, morajo biti izražene s svojim angleškim imenom. Slednje v slovenski inačici vmesnika programa niso prevedene, torej gre za ista imena kot v slovenskem vmesniku. Seznam vseh funkcij z njihovimi imeni najdete na wiki-strani List of Calc Functions (v angl.).
    oDoc.SetFormula("A1", "=A2")
    'Vodoravni vektor, delno prazen
    oDoc.SetFormula("A1:F1", Array("=A2", "=B2", "=C2+10"))
    'D2 vsebuje formulo "=H2"
    oDoc.SetFormula("A1:D2", "=E1")
  
    myDoc.SetFormula("A1", "=A2")
    myDoc.SetFormula("A1:F1", ("=A2", "=B2", "=C2+10"))
    myDoc.SetFormula("A1:D2", "=E1")
  Shrani dano vrednost v navedenem obsegu. Velikost spremenjenega področja je enaka velikosti ciljnega področja.
Metoda vrne niz, ki predstavlja spremenjeno področje kot obseg celic.
svc.SetValue(targetrange: str, value: any): str
targetrange: obseg, kjer naj bo shranjena dana vrednost, podan kot niz.
value: skalar, vektor ali polje z novimi vrednostmi za vsako celico obsega. Nove vrednosti morajo biti nizi, številske vrednosti ali datumi. Druge vrste povzročijo, da se ustrezne celice izpraznijo.
Polni obseg se posodobi, preostanek delovnega lista pa ostane nespremenjen. Če je velikost value manjša od velikosti ciljnega obsega targetrange, bodo preostale celice izpraznjene.
Če je velikost value večja od velikosti ciljnega obsega targetrange, se vrednosti value le delno kopirajo, dokler se z njimi ne zapolni velikost targetrange.
Vektorji se širijo navpično, razen če ima ciljni obseg targetrange višino natanko 1 vrstice.
    oDoc.SetValue("A1", 2)
    ' Spodaj je polje Value manjše od TargetRange (preostale celice so izpraznjene)
    oDoc.SetValue("A1:F1", Array(1, 2, 3))
    ' Spodaj imata Value in TargetRange enako velikost
    oDoc.SetValue("A1:D2", SF_Array.AppendRow(Array(1, 2, 3, 4), Array(5, 6, 7, 8)))
  Če želite zapolniti eno samo vrstico z vrednostmi, lahko uporabite funkcijo Offset. Pri spodnjem primeru upoštevajte, da je arrData enodimenzionalno polje:
    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)
  
    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)
  Premakne dani obseg celic navzdol z vstavljanjem praznih vrstic. Na trenutni izbor ne vpliva.
Glede na vrednost argumenta wholerow lahko vstavljene vrstice segajo po širini navedenega obsega ali po vseh stolpcih v vrstici.
Metoda vrne niz, ki predstavlja novo mesto začetnega obsega.
Če zamaknjeni obseg presega robove delovnega lista, se ne zgodi nič.
svc.ShiftDown(range: str, wholerow: bool = False, opt rows: int): str
range: obseg, nad katerega bodo vstavljene celice, podan kot niz.
wholerow: če ima vrednost False (privzeta vrednost), bo širina vstavljenih vrstic enaka kot širina navedenega obsega range. Sicer bodo vstavljene vrstice segale čez vse stolpce delovnega lista.
rows: število vrstic, ki bodo vstavljene. Privzeta vrednost je višina izvirnega obsega range. Število vrstic mora biti pozitivno.
    ' Premakne obseg "A3:A6" navzdol za eno vrstico; vpliva le na stolpce od A do D
    oDoc.ShiftDown("A3:D3")
    ' Vstavljena vrstica se razteza čez vse stolpce delovnega lista
    oDoc.ShiftDown("A3:D3", WholeRow := True)
    ' Premakne obseg "A3:A6" navzdol za pet vrstic
    oDoc.ShiftDown("A3:D3", Rows := 5)
    ' Premakne obseg "A3:D10" navzdol za dve vrstici in prikaže novo mesto izvornega obsega
    Dim sNewRange as String
    sNewRange = oDoc.ShiftDown("A3:D10", Rows := 2)
    MsgBox sNewRange   ' $Sheet1.$A$5:$D$12
  
    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)
  Izbriše vrstice na levem robu danega obsega in premakne vse celice desno od prizadetega obsega na desno. Ne vpliva na trenutni izbor.
Glede na vrednost argumenta wholecolumn lahko izbrisani stolpci segajo po višini navedenega obsega ali po vseh vrsticah v stolpcu.
Ta metoda vrne niz, ki predstavlja mesto preostalega dela začetnega obsega. Če so vse celice iz izbornega obsega izbrisane, potem vrne prazen niz.
svc.ShiftLeft(range: str, wholecolumn: bool = False, opt columns: int): str
range: obseg, v katerem bodo celice izbrisane, podan kot niz.
wholecolumn: če ima vrednost False (privzeta vrednost), bo višina izbrisanih stolpcev enaka kot višina navedenega obsega range. Sicer bodo izbrisani stolpci segali čez vse vrstice delovnega lista.
columns: število stolpcev, ki bodo izbrisani v danem obsegu range. Privzeta vrednost je širina izvirnega obsega range, kar je tudi največja vrednost tega argumenta.
    ' Izbriše obseg "B3:B6"; premakne vse celice na desni strani v levo
    oDoc.ShiftLeft("B3:B6")
    ' Izbriše prvi stolpec v obsegu "A3:D6"
    oDoc.ShiftLeft("A3:D6", Columns := 1)
    ' Izbrisani stolpci (od A do D) se raztezajo po vseh vrsticah delovnega lista
    oDoc.ShiftLeft("A3:D6", WholeColumn := True)
  
    myDoc.ShiftLeft("B3:B6")
    myDoc.ShiftLeft("A3:D6", Columns = 1)
    myDoc.ShiftLeft("A3:D6", WholeColumn = True)
  Izbriše vrhnje vrstice danega obsega in premakne vse celice pod prizadetim obsegom navzgor. Ne vpliva na trenutni izbor.
Glede na vrednost argumenta wholerow lahko izbrisane vrstice segajo po širini navedenega obsega ali po vseh stolpcih v vrstici.
Ta metoda vrne niz, ki predstavlja mesto preostalega dela začetnega obsega. Če so vse celice iz izbornega obsega izbrisane, potem vrne prazen niz.
svc.ShiftUp(range: str, wholerow: bool = False, opt rows: int): str
range: obseg, v katerem bodo celice izbrisane, podan kot niz.
wholerow: če ima vrednost False (privzeta vrednost), bo širina izbrisanih vrstic enaka kot širina navedenega obsega range. Sicer bodo izbrisane vrstice segale čez vse stolpce delovnega lista.
rows: število vrstic, ki bodo izbrisane v danem obsegu range. Privzeta vrednost je višina izvirnega obsega range, kar je tudi največja vrednost tega argumenta.
    ' Izbriše obseg "A3:D3"; premakne vse celice pod njim za eno vrstico navzgor
    oDoc.ShiftUp("A3:D3")
    ' Izbriše prvo vrstico v obsegu "A3:D6"
    oDoc.ShiftUp("A3:D6", Rows := 1)
    ' Izbrisana vrstica sega po vseh stolpcih delovnega lista
    oDoc.ShiftUp("A3:D6", WholeRow := True)
  
    myDoc.ShiftUp("A3:D3")
    myDoc.ShiftUp("A3:D6", rows = 1)
    myDoc.ShiftUp("A3:D6", wholerow = True)
  Premakne dani obseg celic desno z vstavljanjem praznih stolpcev. Na trenutni izbor ne vpliva.
Glede na vrednost argumenta wholecolumn lahko vstavljeni stolpci segajo po širini navedenega obsega ali po vseh vrsticah v stolpcu.
Metoda vrne niz, ki predstavlja novo mesto začetnega obsega.
Če zamaknjeni obseg presega robove delovnega lista, se ne zgodi nič.
svc.ShiftRight(range: str, wholecolumn: bool = False, opt columns: int): str
range: obseg, na katerega levo stran bodo vstavljeni prazni stolpci, kot niz.
wholecolumn: če ima vrednost False (privzeta vrednost), bo višina vstavljenih stolpcev enaka kot višina navedenega obsega range. Sicer bodo vstavljeni stolpci segali čez vse vrstice delovnega lista.
columns: število stolpcev, ki jih želite vstaviti. Privzeta vrednost je širina izvornega obsega range.
    ' Premakne obseg "A3:A6" desno za en stolpec; vpliva le na vrstice od 3 do 6
    oDoc.ShiftRight("A3:A6")
    ' Premakne obseg "A3:A6" desno za pet stolpcev
    oDoc.ShiftRight("A3:A6", Columns := 5)
    ' Vstavljeni stolpec sega čez vse vrstice delovnega lista
    oDoc.ShiftRight("A3:A6", WholeColumn := True)
  
    myDoc.ShiftRight("A3:A6")
    myDoc.ShiftRight("A3:A6", columns = 5)
    myDoc.ShiftRight("A3:A6", wholecolumn = True)
  Razvrsti dani obseg glede na poljubno število stolpcev/vrstic. Vrstni red razvrščanja se lahko razlikuje po stolpcih/vrsticah. Če je število razvrstitvenih ključev večje od 3, se obseg razvrsti večkrat, v skupinah s po tremi ključi, začenši z zadnjim ključem. Vrne niz, ki predstavlja spremenjeni obseg celic. Velikost spremenjenega področja je povsem določen z velikostjo izvornega področja.
svc.SortRange(range: str, sortkeys: any, sortorder: any = "ASC", destinationcell: str = "", containsheader: bool = False, casesensitive: bool = False, sortcolumns: bool = False): str
range: obseg, ki naj bo razvrščen, podan kot niz.
sortkeys: skalar (če predstavlja 1 stolpec/vrstico) ali polje številk stolpcev/vrstic s pričetkom z 1.
sortorder: skalar ali polje nizov, ki vsebujejo vrednosti "ASC" (naraščajoče), "DESC" (padajoče). Vsak element je v paru z ustreznim elementom v sortkeys. Če je polje sortorder krajše od sortkeys, so preostali ključi razvrščeni v naraščajočem vrstnem redu.
destinationcell: ciljna celica za razvrščeni obseg celic, kot niz. Če je podan obseg, se obravnava le njegova leva vrhnja celica. Privzeto prepiše vir Range.
containsheader: če je True, prva vrstica/stolpec ni razvrščen.
casesensitive: razločevanje med malimi in velikimi črkami, le za primerjavo nizov (privzeta vrednost je False).
sortcolumns: če je True, so stolpci razvrščeni od leve proti desni. Privzeto = False: vrstice so razvrščene od vrha navzdol.
    'Razvrsti obseg glede na stolpca A (naraščajoče) in C (padajoče)
    oDoc.SortRange("A2:J200", Array(1, 3), Array("ASC", "DESC"), CaseSensitive := True)
  
    myDoc.SortRange("A2:J200", (1, 3), ("ASC", "DESC"), casesensitive = True)