LibreOffice 25.2 Hjelp
Det delte biblioteket SFDocuments som gjev mange metodar og eigenskapar som letter administrasjon og handsaming av LibreOffice-dokument.
Tenesta SFDocuments.Calc er ein underklasse av SFDocuments.Document -tenesta. Alle metodar og eigenskapar definerte for tenesta Document kan også nåast ved å bruka ein førekomst av Calc-tenesta.
Tenesta Calc er fokusert på:
Handsaming av ark i eit Calc-dokument (kopiera, setja inn, flytta osv.)
Dataudveksling mellom Basic data-strukturar og Calc-område
Kopiering og import av enorme datamengder
Denne hjelpesida forklarar metodar og eigenskapar som gjeld berre for Calc-dokument.
Før du brukar tenesta Calc, må biblioteket ScriptForge vera lasta inn eller importert:
Tenesta Calc er i nær slekt med tenesta UI i biblioteket ScriptForge. Du finn nokre få eksempel nedanfor på korleis tenesta Calc kan kallast opp.
Kodesnutten nedanfor lagar eit eksemplar av tenesta Calc, som svarar til det gjeldande Calc-dokumentet.
    Set oDoc = CreateScriptService("Calc")
  Ein annan måte å laga eit eksemplar av tenesta Calc på, er å bruka tenesta UI. I det neste eksempelet vert det laga eit nytt Calc-dokument der oDoc er eit eksemplar av tenesta Calc:
    Dim ui As Object, oDoc As Object
    Set ui = CreateScriptService("UI")
    Set oDoc = ui.CreateDocument("Calc")
  Eller med metoden OpenDocument frå tenesta UI:
    Set oDoc = ui.OpenDocument("C:\Documents\MyFile.ods")
  Det er også mogleg å instansiere Calc ved å spesifisera eit vindauge for CreateScriptService-metoden:
    Dim oDoc As Object
    Set oDoc = CreateScriptService("SFDocuments.Calc", "MyFile.ods")
  I eksempelet ovanfor er «MiFil.ods» namnet på eit opna dokumentvindauge. Viss dette argumentet ikkje er gjeve, vert det aktive vindauget vurdert brukt.
Det er også mogleg å starta Calc-tenesta ved å bruka dokumentet som det vert referert til av ThisComponent. Dette er spesielt nyttig når du køyrer ein makro frå Basic IDE.
    Dim oDoc As Object
    Set oDoc = CreateScriptService("Calc", ThisComponent)
  Det vert tilrådd å frigje ressursar etter bruk:
    Set oDoc = oDoc.Dispose()
  Viss dokumentet vart lukka ved hjelp av metoden CloseDocument, er det ikkje nødvendig å frigjera ressursar med kommandoen nemnd ovanfor.
    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)
  Bruk av prefikset «SFDocuments.» ved oppkall av tenesta er frivillig.
Mange metodar krev eit "Ark" eller eit "Område" som argument. Enkeltceller vert rekna som eit spesialtilfelle av eit Område.
Begge kan uttrykkjast anten som ein streng eller som ein referanse (= objekt), avhengig av situasjonen:
Innføre ein spesifikk Calc-førekomst, er ark og område gjevne som strengar som «Ark1» og «D2:F6».
I tillegg returnerer eigenskapane .Sheet og .Range ein referanse som kan brukast som argument i ein metode som vert kalla opp frå ein annan førekomst av tenesta Calc.
Eksempelet nedanfor kopierer data frå dokument A (opna skriveverna og gøymd) til 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")
  Anten arknamnet som ein string eller eit object laga av eigenskapen .Sheet.
Snarvegen «~» (tilde) representerer det gjeldande arket.
Anten ein streng som gjev eit sett med samanhengande celler som er plasserte i eit ark i gjeldande førekomst, eller eit objekt laga av .Range.
Snarvegen «~» (tilde) representerer den gjeldande markeringa eller det første området, viss det er markert fleire område.
Snarvegen «*» (stjerne) representerer alle brukte celler.
Arknamnet er valfritt når du definerer eit område. Viss det ikkje er gjeve noko arknamn, vert det gjeldande arket brukt. Enkle hermeteikn (') og teiknet $ er tillatne men vert ignorerte.
Når du spesifiserer eit SheetName som ein streng, må du bruka enkle hermeteikn rundt arknamnet viss det inneheld tomme mellomrom « » eller punktum «.».
Eksempla nedanfor viser kva tilfelle det er obligatorisk å bruka enkle hermeteikn:
      ' Bruk av enkle hermeteikn er valfritt
      oDoc.clearAll("SheetA.A1:B10")
      oDoc.clearAll("'SheetA'.A1:B10")
      ' Bruk av enkle hermeteikn er kravd
      oDoc.clearAll("'Sheet.A'.A1:B10")
    Med unntak av eigenskapen CurrentSelection vurderar tenesta Calc berre enkeltområde med celler.
| Eksempel på gyldige område | |
|---|---|
| 1) '$ArkX'.D2 | Ei enkelt celle | 
| 1) '$ArkX'.D2:F6 | Enkelt område med fleire celler | 
| $'ArkX'.* | Alle brukte celler i det gjevne arket | 
| 1) '$ArkX'.A:A kolonne A) | Alle celler i samanhengande kolonnar eller rader opp til den sist brukte cella | 
| mittOmråde | Eit område med namnet «mittOmråde» på reknearknivå | 
| 1) ~eitOmråde | Eit områdenamn på arknivå | 
| mittDok.Område("ArkX.D2:F6") | Eit område innanfor arket SheetX i fila knytt til myDoc Calc-førekomsten | 
| ~.~ eller ~ | Den gjeldande markeringa på det aktive arket | 
Alle eigenskapane som er generiske for alle dokument, gjeld implisitt også for Calc-dokument. Viss du vil ha meir informasjon, kan du lesa Document service Help page.
Eigenskapane som er spesielt tilgjengelege for Calc-dokument er:
| Namn | Skriveverna | Argument | Returtype | Beskriving | 
|---|---|---|---|---|
| CurrentSelection | Nei | Ingen | Streng eller ei matrise av strengar | Det merkte enkeltområdet som ein streng eller lista over merkte område som ei matrise | 
| FirstCell | Ja | Arknamn eller områdenamn som streng | String | Returnerer den første brukte cella i eit gjeve område eller ark. | 
| FirstColumn | Ja | Arknamn eller områdenamn som streng | Long | Returnerer kolonnenummeret lengst til venstre i eit gjeve område eller ark. | 
| FirstRow | Ja | Arknamn eller områdenamn som streng | Long | Returnerer det øvste radnummeret i eit gjeve område eller ark. | 
| Height | Ja | Områdenamn som streng | Long | Talet på rader (>= 1) i det gjevne området. | 
| LastCell | Ja | Arknamn eller områdenamn som streng | String | Returnerer den siste brukte cella i eit gjeve område eller ark. | 
| LastColumn | Ja | Arknamn eller områdenamn som streng | Long | Den siste brukte kolonnen i eit gjeve område eller ark. | 
| LastRow | Ja | Arknamn eller områdenamn som streng | Long | Den siste brukte rada i eit gjeve område eller ark. | 
| Range | Ja | Områdenamn som streng | Object | Ein områdereferanse som kan brukast som argument av metodar som CopyToRange | 
| Region | Ja | Områdenamn som streng | String | Returnerer adressa til det minste området som inneheld det gjevne området, slik at området er omgjeve av tomme celler eller arkkantar. Dette svarar til å bruka snarvegen Kommando + *Ctrl + * til det gjevne området. | 
| Sheet | Ja | Arknamn som streng | Object | Ein arkreferanse som kan brukast som argument av metodar som CopySheet. | 
| SheetName | Ja | Områdenamn som streng | String | Returnerer tabellnamnet for eit gjeve adresseområde. | 
| Sheets | Ja | Ingen | Matrise av strengar | Lista med namn på alle arka som finst. | 
| Width | Ja | Områdenamn som streng | Long | Talet på kolonnar (>= 1) i det gjevne området. | 
| XCellRange | Ja | Områdenamn som streng | Object | Eit com.sun.star.Table.XCellRange UNO-objekt. | 
| XSheetCellCursor | Ja | Områdenamn som streng | Object | Eit com.sun.star.sheet.XSheetCellCursor UNO-objekt. Etter å ha flytt markøren, kan den resulterande områdeadressa nåast gjennom markørobjektet sin UNO-eigenskap AbsoluteName, som returnerer ein strengverdi som kan brukast som argument for eigenskapar og metodar for Calc-tenesta. | 
| XSpreadsheet | Ja | Arknamn som streng | Object | Eit com.sun.star.sheet.XSpreadsheet UNO-objekt. | 
Besøk nettstaden til LibreOffice API-dokumentasjonen for å læra meir om XCellRange, XSheetCellCursor og XSpreadsheet UNO-objekter.
Returnerer ei områdeadresse som ein streng basert på ark-koordinata, dvs. rad- og kolonnenummer.
Viss berre eitt koordinatpar er gjeve,vert det returnert ei adresse til ei enkelt celle. Tilleggsargument kan spesifisera cella nedst til høgre i eit rektangulært område.
svc.A1Style(row1: int, column1: int, row2: int = 0; column2: int = 0; sheetname: str = "~"): str
rad1, kolonne1: Spesifiser rad- og kolonnenumeret til cella øvst til venstre i området som skal vurderast. Rad- og kolonnenummer byrjar på 1.
rad2, kolonne2: Spesifiser rad- og kolonnenumret til cella nedst til høgre i området som skal vurderast. Viss desse argumenta ikkje er gjevne, eller viss det er gjevne verdiar som er mindre enn rad1 og kolonne1, vert adressa til enkeltcelleområdet representert av rad1 og kolonne1 returnert.
arknamn: Namnet på arket som skal leggjast til den returnerte områdeadressa. Arket må finnast. Standardverdien er «~», som svarar til det gjeldande arket.
Eksempla nedanfor i Basic og Python går ut frå at «Ark1» er det gjeldande arket.
    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
  Metoden A1Style kan kombinerast med alle dei mange eigenskapane og metodane i Calc-tenesta som krev eit område som argument, for eksempel GetValue, GetFormula, ClearAll osv.
Viss argumentet sheetname er spesifisert, vert det gjevne arket aktivert og vert det gjeldande arket. Viss argumentet manglar, vert dokumentvindauget slått på.
svc.Activate(sheetname: str = ""): bool
arknamn: Namnet på det arket som skal aktiverast i dokumentet. Standardverdien er ein tom streng, noko som gjer at dokumentvindauget vert aktivert, utan at det gjeldande arket vert endra.
Eksempelet nedanfor aktiverer arket med namnet «Ark4» i det gjeldande dokumentet.
    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")
  Aktivering av eit ark gjev meining berre når aktiveringa vert gjort i eit Calc-dokument. For å sikr deg at du har eit Calc-dokument tilgjengeleg, kan du bruka eigenskapen isCalc for dokumentobjektet, som returnerer Sann viss der er eit Calc-dokument og elles Usann.
Returnerer anten lista med namna på diagramobjekta på eit gjeve ark eller ein enkelt førekomst av arket Chart.
Viss berre sheetname er spesifisert, vert det returnert ei nullbasert matrise av strengar som inneheld namna på alle diagramma.
Viss det er gjeve eit chartname, vert det returnert eit enkelt objekt som svarar til det ønskte diagrammet. Det spesifiserte diagrammet må finnast.
svc.Charts(sheetname: str, chartname: str = ""): obj
sheetname: Namnet på arket som lista over diagramma skal hentast frå eller der det spesifiserte diagrammet er plassert.
chartname: Det brukardefinerte namnet på diagramobjektet som skal returnerast. Viss diagrammet ikkje har eit brukardefinert namn, kan det interne objektnamnet brukast. Viss dette argumentet manglar, vert lista over diagramnamn i det gjeldande arket returnert.
Bruk sidepanelet for å kontrollera namna som er knytt til diagram under kategorien .
Eksempelet nedanfor viser kor mange diagram-objekt det er i «Ark1».
    Dim arrNames as Object
    arrNames = oDoc.Charts("Sheet1")
    MsgBox "There are " & UBound(arrNames) + 1 & " charts in Sheet1"
  Det følgjande eksempelet gjev tilgang til diagrammet kalla «MyChart» i «Ark1» og skriv ut typen.
    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)
  Ryddar alt indhaldet og alle format i det gjevne området.
Du kan spesifisera ein filterformel for å bestemma kva celler som skal påverkast.
svc.ClearAll(range: str, opt filterformula: str, opt filterscope: str)
range: Området som skal slettast, som ein streng.
filterformula: Ein Calc-formel som skal brukast på det gjevne området for å bestemma kva celler som vert påverk. Den gjevne formelen må returnera Sann eller Usann. Viss dette argumentet ikkje er spesifisert, vert alle cellene i området påverka.
filterscope: Bestemmer korleis filterformula skal utvidast til det gjevne området. Dette argumentet er obligatorisk viss ein filterformula er spesifisert. Desse verdiane vert godtekne:
"CELL": Formelen spesifisert i argumentet filterformula vert utvida éin gong for kvar celle i range.
"ROW": Formelen spesifisert i argumentet filterformula vert utvida éin gong for kvar rad i range.
"COLUMN": Formelen spesifisert i argumentet filterformula vert utvida éin gong for kvar kolonne i range.
    ' Tømmer alle celler i området SheetX.A1:J10
    oDoc.ClearAll("SheetX.A1:J10")
    ' Fjernar alle celler som har ein verdi større enn 100 i området SheetX.A1:J10
    oDoc.ClearAll("SheetX.A1:J10", "=SheetX.A1>100", "CELL")
    ' Fjernar alle celler som har ein verdi større enn 500 i området SheetX.A1:J10
    oDoc.ClearAll("SheetX.A1:J10", "=SUM(SheetX.A1:J1)>100", "ROW")
    ' Tømmer alle celler som har ein verdi større enn 500 i området SheetX.A1:J10
    oDoc.ClearAll("SheetX.A1:J10", "=SUM(SheetX.A1:A10)>100", "COLUMN")
  
    myDoc.ClearAll("SheetX.A1:F10")
    myDoc.ClearAll("SheetX.A1:J10", "=SheetX.A1>100", "CELL")
    myDoc.ClearAll("SheetX.A1:J10", "=SUM(SheetX.A1:J1)>100", "ROW")
    myDoc.ClearAll("SheetX.A1:J10", "=SUM(SheetX.A1:A10)>100", "COLUMN")
  Ryddar format og stilar i det gjevne området.
Du kan spesifisera ein filterformel for å bestemma kva celler som skal påverkast.
svc.ClearFormats(range: str, opt filterformula: str, opt filterscope: str)
område: Det området der format og stilar skal ryddast, som ein streng.
      oDoc.ClearFormats("SheetX.*")
  
    myDoc.ClearFormats("SheetX.*")
  Sjå ClearAll metodedokumentasjonen for eksempel på korleis du brukar argumenta filterformel og filterscope.
Ryddar verdiane og formlane i det gjevne området.
Du kan spesifisera ein filterformel for å bestemma kva celler som skal påverkast.
svc.ClearValues(range: str, opt filterformula: str, opt filterscope: str)
område: Det området der verdiane og formlane skal ryddast, som ein streng.
      oDoc.ClearValues("SheetX.A1:F10")
  
    myDoc.ClearValues("SheetX.A1:F10")
  Sjå metodedokumentasjonen ClearAll for eksempel på korleis du brukar argumenta filterformula og filterscope.
Slettar kolonnane i eit spesifisert område som samsvarar med eit filter uttrykt som ein Calc-formel. Filteret vert brukt på kvar kolonne for å avgjera han den skal slettast eller ikkje.
Den sletta kolonnen kan avgrensast til høgda på det gjevne området eller høgda på heile arket, og slik sletta heile kolonnar.
Denne metoden returnerer ein streng med områdeadressa til det komprimerte området. Viss alle kolonnane vert sletta, vert det returnert ein tom streng.
Viss eit celleområde er merkt, vil eit oppkall av denne metoden ikkje påverka det merkte området.
svc.CompactLeft(range: str, wholecolumn: bool = False, opt filterformula: str): str
område: Området som cellene skal slettast i, som ein streng.
wholecolumn: Viss dette valet er sett til Sann, vert heile kolonne sletta frå tabellen. Standard er Usann, noko som betyr at den sletta kolonnen vil vera avgrensa til høgda på det gjevne området.
filterformula: Filteret som vert brukt på kvar kolonne for å bestemma om han skal slettast eller ikkje. Filteret er uttrykt som ein Calc-formel som skal brukast på den første kolonnen. Viss formelen for ein kolonne returnerer Sann, vert heile kolonnen sletta. Standardfilteret sletter alle tomme kolonnar.
Viss ein går ut frå at området A1:J200 er merkt (høgd = 200), så er standardformelen =(COUNTBLANK(A1:A200)=200). Dette betyr at viss alle 200 cellene i den første kolonnen (kolonne A) er tomme, vert kolonnen sletta. Legg merke til at formelen berre er uttrykt i den første kolonnen. Internt vil metoden CompactLeft generalisere denne formelen til alle kolonnane som er igjen.
Calc-funksjonar brukte i filterformel-argumentet må vera med dei engelske namna. Sjå List of Calc Functions for for ei fullstendig liste over Calc-funksjonar på engelsk.
    ' Slett alle tomme kolonnar i området G1:L10 frå Ark1
    newrange = oDoc.CompactLeft("Sheet1.G1:L10")
    ' Eksempelet nedanfor liknar, men heile kolonnen vert sletta frå arket
    newrange = oDoc.CompactLeft("Sheet1.G1:L10", WholeColumn := True)
    ' Sletter alle kolonnar der den første rada er merkt med ein "X"
    newrange = oDoc.CompactLeft("Sheet1.G1:L10", FilterFormula := "=(G1=""X"")")
    ' Sletter alle kolonnar der summen av verdiane er odde
    newrange = oDoc.CompactLeft("Sheet1.G1:L10", FilterFormula := "=(MOD(SUM(G1:G10);2)=1)")
  
    newrange = myDoc.CompactLeft("Sheet1.G1:L10")
    newrange = myDoc.CompactLeft("Sheet1.G1:L10", wholecolumn = True)
    newrange = myDoc.CompactLeft("Sheet1.G1:L10", filterformula = '=(G1="X")')
    newrange = myDoc.CompactLeft("Sheet1.G1:L10", filterformula = '=(MOD(SUM(G1:G10);2)=1)')
  Slettar kolonnane i eit spesifisert område som samsvarar med eit filter uttrykt som ein Calc-formel. Filteret vert brukt på kvar kolonne for å avgjera om han skal slettast eller ikkje.
Dei sletta radene kan avgrensast til breidda på det gjevne området eller breidda på heile arket, og slik sletta heile rader.
Denne metoden returnerer ein streng med områdeadressa til det komprimerte området. Viss alle radene vert sletta, vert det returnert ein tom streng.
Viss eit celleområde er merkt, vil eit oppkall av denne metoden ikkje påverka det merkte området.
svc.CompactUp(range: str, wholerow: bool = False, opt filterformula: str): str
range: Området som cellene skal slettast i, som ein streng.
wholerow: Viss dette valet er sett til Sann, vert heile rada sletta frå arket. Standard er Usann, noko som betyr at den sletta rada vil vera avgrensa til breidda på det gjevne området.
filterformula: Filteret som vert brukt på kvar rad for å bestemma om ho skal slettast eller ikkje. Filteret er uttrykt som ein Calc-formel som skal brukast på den første rada. Viss formelen returnerer Sann, vert heile rada sletta. Standardfilteret slettar alle tomme rader.
Viss ein går ut frå at området A1:J200 er merkt (breidd = 10), så er standardformelen =(COUNTBLANK(A1:J1)=10). Dette betyr at viss alle 10 cellene i den første rada (rad 1) er tomme, vert rada sletta. Legg merke til at formelen berre er uttrykt i den første rada. Internt vil metoden CompactUp generalisere denne formelen til alle radene som er igjen.
Calc-funksjonane som vert brukte i formelen spesifisert i filterformula-argumentet må uttrykkast med dei engelske namna. Sjå Wiki-sida List of Calc Functions for ei fullstendig liste over Calc-funksjonar på engelsk.
    ' Slett alle tomme rader i området G1:L10 frå Ark1
    newrange = oDoc.CompactUp("Sheet1.G1:L10")
    ' Eksempelet nedanfor liknar, men heile rada vert sletta frå arket
    newrange = oDoc.CompactUp("Sheet1.G1:L10", WholeRow := True)
    ' Sletter alle rader der den første kolonnen er merkt med ein "X"
    newrange = oDoc.CompactUp("Sheet1.G1:L10", FilterFormula := "=(G1=""X"")")
    ' Sletter alle rader der summen av verdiane er odde
    newrange = oDoc.CompactUp("Sheet1.G1:L10", FilterFormula := "=(MOD(SUM(G1:L1);2)=1)")
  
    newrange = myDoc.CompactUp("Sheet1.G1:L10")
    newrange = myDoc.CompactUp("Sheet1.G1:L10", wholerow = True)
    newrange = myDoc.CompactUp("Sheet1.G1:L10", filterformula = '=(G1="X")')
    newrange = myDoc.CompactUp("Sheet1.G1:L10", filterformula = '=(MOD(SUM(G1:L1);2)=1)')
  Kopierer eit bestemt ark før eit eit ark som finst frå før eller i slutten av lista over ark. Det arket som skal kopierast, kan vera inne i kva ope Calc-dokument som helst. Returnerer Sann viss vellukka.
svc.CopySheet(sheetname: any, newname: str, [beforesheet: any]): bool
Arknamn: Namnet på arket som skal kopierast, som ein streng eller ein referanse til det som eit objekt.
nyttnamn: Namnet på arket sol skal setjast inn. Namnet må ikkje vera i bruk andre stader i dokumentet.
beforesheet: Namnet (streng) eller indeksnummeret (tal, byrjar frå 1) på arket framføre som det kopierte arket skal setjast inn i. Dette argumentet er valfritt. Standar er at det kopierte arket vert sett inn sist i arket.
Dette eksempelet lagar ein kopi av arket «ArkX» og plasserer det som det siste arket i det gjeldande dokumentet. Namnet på det kopierte arket er «ArkY».
    Dim oDoc as Object
    ' Hentar dokumentobjektet frå det aktive vindauget
    Set oDoc = CreateScriptService("Calc")
    oDoc.CopySheet("SheetX", "SheetY")
  Eksempelet nedanfor kopierer «ArkX» frå «FilA.ods» og limer det inn ved siste plasseringa av «FilB.ods» med namnet «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")
  
    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")
  Viss du vil kopiera ark mellom opne dokument, brukar du CopySheet. For å kopiera ark frå dokument som er lukka, brukar du CopySheetFromFile.
Kopierer eit bestemt ark frå eit lukka Calc-dokument og limer det inn framføre eit ark som finst frå før, eller på slutten av lista over ark i fila referert til av eit Document-objekt.
Viss fila ikkje finst, vert det sett opp ein feil. Viss fila ikkje er ei gyldig Calc-fil, vert det sett inn eit tomt ark.Viss kjeldearket ikkje finst i inndatafila, vert det sett inn ei feilmelding øvst i det nyleg innlimte arket.
svc.CopySheetFromFile(filename: str, sheetname: str, newname: str, [beforesheet: any]): bool
filnamn: Identifiserer fila som skal opnast. Namnet må følgja SF_FileSystem.FileNaming-notasjonen. Fila må ikkje vera verna med passord.
arknamn: Namnet på arket som skal kopierast som ein streng.
nyttnamn: Namnet på arket som skal setjast inn i dokumentet. Namnet må ikkje vera i bruk andre stader i dokumentet.
beforesheet: Namnet (streng) eller indeksnummeret (tal, byrjar frå 1) på arket framføre som det kopierte arket skal setjast inn i. Dette argumentet er valfritt. Standar er at det kopierte arket vert sett inn sist i arket.
Det neste eksempelet kopierer «ArkX» frå «miFil.ods» og set det inn som «ArkY» først i det dokumentet som er referert til som «oDoc».
    oDoc.CopySheetFromFile("C:\Documents\myFile.ods", "SheetX", "SheetY", 1)
  
    myDoc.CopySheetFromFile(r"C:\Documents\myFile.ods", "SheetX", "SheetY", 1)
  Kopierer eit gjeve kjeldeområde (verdiar, formlar og format) til eit målområde eller ei bestemt celle. Metoden reproduserer verkemåten til ein Kopier/lim inn-operasjon frå eit område til ei enkelt celle.
Den returnerer ein streng som representerer det endra celleområdet. Storleiken på det modifiserte området vert fullt ut bestemt av storleiken på kjeldeområdet.
Kjeldeområdet kan høyra til eit anna opna dokument.
svc.CopyToCell(sourcerange: any, destinationcell: str): str
kjeldeområde: Kjeldeområdet som ein streng når det høyrer til same dokumentet, eller som ein referanse når det høyrer til eit anna ope Calc-dokument.
målcelle: Målcella der det kopierte celleområdet skal limast inn, som ein streng. Viss det er gjeve eit område, vert det berre teke omsyn til den øvre, venstre cella i området.
I neste eksempel er kjelda og målet i same fila:
      oDoc.CopyToCell("SheetX.A1:F10", "SheetY.C5")
  Eksempelet nedanfor viser korleis du kan kopiera eit område frå eit anna, ope Calc-dokument:
    Dim ui as Variant : ui = CreateScriptService("UI")
    Dim oDocSource As Object, oDocDestination As Object
    ' Opna kjeldedokument i bakgrunnen (gøymd)
    Set oDocSource = ui.OpenDocument("C:\SourceFile.ods", Hidden := True, ReadOnly := True)
    Set oDocDestination = CreateScriptService("Calc")
    oDocDestination.CopyToCell(oDocSource.Range("Sheet1.C2:C4"), "SheetT.A5")
    ' Ikkje gløym å lukka kjeldedokumentet fordi det vart opna som gøymd
    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()
  For å simulera «Kopier/Lim inn» frå eit område til eienkelt celle, brukar du CopyToCell. For å simulera «Kopier/Lim inn» frå eit område til eit større område (med dei same cellene kopierte fleire gongar) brukar du CopyToRange.
Kopierer eit gjeve kjeldeområde nedover og/eller mot høgre (verdiar, formlar og format) til eit målområde. Metoden imiterer verkemåten til ein «Kopier/Lim inn»-operasjon frå eit kjeldeområde til eit større målområde.
Viss høgda (eller breidda) på målområdet er > 1 rad (eller kolonne), må høgda (eller breidda) på kjelda vera <= høgda (eller breidda) på målet. Elles skjer det ingenting.
Viss høgda (eller breidda) på målområdet er = 1 , vert målet utvida nedover (eller mot høgre) opp til høgda (eller breidda) på kjeldeområdet.
Metoden returnerer ein streng som representerer det endra celleområdet.
Kjeldeområdet kan høyra til eit anna opna dokument.
svc.CopyToRange(sourcerange: any, destinationrange: str): str
kjeldeområde: Kjeldeområdet som ein streng når det høyrer til same dokumentet, eller som ein referanse når det høyrer til eit anna ope Calc-dokument.
målområde: Målet for det kopierte celleområdet som ein streng.
Kopiera innføre det same dokumentet:
    oDoc.CopyToRange("SheetX.A1:F10", "SheetY.C5:J5")
    ' Returnerer ein områdestreng: «$ArkY.$C$5:$J$14»
  Kopiera frå éi fil til ei anna:
    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")
  Lagar eit nytt diagram-objekt som viser dataa i det gjevne område. Det diagramobjektet som vert returnert, kan handsamast vidare med tenesta Chart.
svc.CreateChart(chartname: str, sheetname: str, range: str, columnheader: bool = False, rowheader: bool = False): obj
chartname: Det brukardefinerte namnet på diagrammet som skal lagast. Namnet må vera unikt i det same arket.
sheetname: Namnet på arket der diagrammet skal setjast inn.
range: Området som skal brukast som datakjelde for diagrammet. Området kan referera til kva ark som helst ark i Calc-dokumentet.
columnheader Når Sann, vert den øvste rada i området brukt som etikettar for kategoriaksen eller forklaringa (standard = Usann).
rowheader Når Sann, vert kolonnen til venstre i området brukt som etikettar for kategoriaksen eller forklaringa (standard = Usann).
Eksempla nedanfor i Basic og Python lagar eit diagram ved å bruka dataa i området «A1:B5» til «Ark1» og set diagrammet inn i «Ark2».
    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"
  Sjå hjelpsida om Chart service i ScriptForge for å læra meir korleis du kan handsama diagramobjekt vidare. Det er råd å endra eigenskapar som diagramtype, diagram- og aksetitlar og diagramposisjon.
Lagar ein ny pivottabell med eigenskapane definert av argumenta som vert sende til metoden.
Det må setjast eit namn for pivottabellen. Viss det finst ein pivottabell med det same namnet frå før i måltabellen, vert denne erstatta utan varsel.
Denne metoden returnerer ein streng som inneheld området der den nye pivottabellen vart plassert.
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: Det brukardefinerte namnet på den nye pivottabellen.
sourcerange: Området som inneheld rådataa, som ein streng. Ein går ut frå at den første rada inneheld feltnamna som vert brukte av pivottabellen.
targetcell: Cella øvst til venstre der den nye pivottabellen er plassert. Viss det er spesifisert eit område, vert berre cella øvst til venstre vurdert.
datafields: Dette kan anten vera ein enkelt streng eller ei matrise med strengar som definerer feltnamn og funksjonar som skal brukast. Viss det er spesifisert ei matrise, må ho følgja syntaksen Array("FieldName[; Funksjon]" …) .
Dei tillatne funksjonane er: Sum, Count, Average, Max, Min, Product, CountNums, StDev, StDevP, Var, VarP og Median. Funksjonsnamna må vera på engelsk. Når alle verdiar er numeriske, er Sum standardfunksjonen, elles er standardfunksjonen Count.
rowfields: Ein enkelt streng eller ei matrise som inneheld feltnamna som vert brukte som pivottabellrader.
columnfields: Ein enkelt streng eller ei matrise som inneheld feltnamna som vert brukte som pivottabellkolonnar.
filterbutton: Bestemmer om ein filterknapp vert vist over pivottabellen (standard = Sann).
rowtotals: Spesifiserer om det skal leggjast til ein eigen kolonne for totalsummar for rader i pivottabellen (standard = Sann).
columntotals: Spesifiserer om det skal leggjast til ein eigen kolonne for totalsummar for rader i pivottabellen (standard = Sann).
    Dim vData As Variant, oDoc As Object, ui As Object, sTable As String, sPivot As String
    Set ui = CreateScriptService("UI")
    Set oDoc = ui.CreateDocument("Calc")
    vData = Array(Array("Item", "State", "Team", "2002", "2003", "2004"), _
        Array("Books", "Michigan", "Jean", 14788, 30222, 23490), _
        Array("Candy", "Michigan", "Jean", 26388, 15641, 32849), _
        Array("Pens", "Michigan", "Jean", 16569, 32675, 25396), _
        Array("Books", "Michigan", "Volker", 21961, 21242, 29009), _
        Array("Candy", "Michigan", "Volker", 26142, 22407, 32841))
    sTable = oDoc.SetArray("A1", vData)
    sPivot = oDoc.CreatePivotTable("PT1", sTable, "H1", _
        Array("2002", "2003;count", "2004;average"), _ ' Tre datafelt
        "Item", _ ' Eitt enkelt radfelt
        Array("State", "Team"), False) ' To kolonnefelt
  
    ui = CreateScriptService("UI")
    doc = ui.CreateDocument("Calc")
    vData = [["Item", "State", "Team", "2002", "2003", "2004"],
             ["Books", "Michigan", "Jean", 14788, 30222, 23490],
             ["Candy", "Michigan", "Jean", 26388, 15641, 32849],
             ["Pens", "Michigan", "Jean", 16569, 32675, 25396)],
             ["Books", "Michigan", "Volker", 21961, 21242, 29009],
             ["Candy", "Michigan", "Volker", 26142, 22407, 32841]]
    sTable = doc.SetArray("A1", vData)
    sPivot = doc.CreatePivotTable("PT1", sTable, "H1",
                                  ["2002", "2003;count", "2004;average"],
                                  "Item",
                                  ["State", "Team"], False)
  Du kan læra meir om pivottabellar i LibreOffice Calc i hjelpsida Pivot Table.
Tek i bruk funksjonane Gjennomsnitt, Talpå, Maks, Min, Summer i alle cellene som inneheld talverdiar i eit gjeve område, men tek ikkje med verdiar frå filtrerte og gøymde rader og gøymde kolonnar, det same som for funksjonane på statuslinja.
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
område: Området som funksjonen skal brukast på, som ein streng.
Eksempelet nedanfor brukar funktsjnen Sum på området «A1:A1000» i det gjeldande arket.
      result = oDoc.DSum("~.A1:A1000")
  
    result = myDoc.DSum("~.A1:A1000")
  I det gjevne området vert celler som inneheld tekst ignorerte av alle funksjonane. For eksempel vil metoden DCount ikkje telja celler med tekst, berre celler med tal.
Eksporterer det gjevne området som eit bilete eller ei PDF-fil.
Denne metoden returnerer Sann viss målfila vart lagra.
Gøymde rader eller kolonnar i det gjevne området vert ikkje eksporterte til målfila.
svc.ExportRangeToFile(range: str, filename: str, imagetype: str = "pdf", overwrite: bool = False): bool
range: Eit arknamn eller eit celleområde som skal eksporterast som ein streng.
filename: Namnet på fila som skal lagrast. Namnet må følgja notasjonen SF_FileSystem.FileNaming .
imagetype: Identifiserer målfiltypen. Moglege verdiar er "jpeg", "pdf" (standard) og "png".
overwrite: Viss Sann kan målfila overskrivast (standard = Usann).
    ' Eksporterer heile arket som ei PDF-fil.
    oDoc.ExportRangeToFile("SheetX", "C:\Temp\image.pdf")
    ' Eksporterer området som ei PNG-fil og overskriv målfila viss denne finst frå før.
    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)
  Avhengig av kva parametrar som er gjevne, vil denne metoden returnera:
Ei null-basert matrise (eller Tuple i Python) med namna på alle skjemaa i eit gjeve dokument (viss argumentet form manglar)
Eit eksemplar av tenesta SFDocuments.Form representerer skjemaet, spesifisert som eit argument.
svc.Forms(sheetname: str): str[0..*]
svc.Forms(sheetname: str, form: str = ''): svc
svc.Forms(sheetname: str, form: int): svc
arknamn: Namnet på arket (som ein streng) som skjemaet skal hentast frå.
skjema: Namnet eller indeksnummeret på skjemaet som er lagra i det gjevne arket. Viss dette argument manglar, vil metoden returnera ei liste med namna på alle skjemaa som er tilgjengelege i arket.
I dei neste eksempla får den første linja namna på alle skjemaa som er lagra i «Ark1» og den anden linje hentar objektet Form frå skjemaet med namnet «Skjema_A», som er lagra i «Ark1».
    Set FormNames = oDoc.Forms("Sheet1")
    Set FormA = oDoc.Forms("Sheet1", "Form_A")
  
    form_names = doc.Forms("Sheet1")
    form_A = doc.Forms("Sheet1", "Form_A")
  Konverterer eit kolonnenummerområde mellom 1 og 1024 til dei tilsvarande bokstavane (kolonne 'A', 'B', …, 'AMJ'). Viss det gjevne kolonnenummeret er utanfor det tillate området, vert det returnert ein null-lengd-streng.
svc.GetColumnName(columnnumber: int): str
kolonnenummer: Kolonnenummeret som eit heiltal i intervallet 1 … 16384.
Viser eit meldingsfelt med namnet på den tredje kolonnen, standard er «C».
    MsgBox oDoc.GetColumnName(3)
  
    bas = CreateScriptService("Basic")
    bas.MsgBox(myDoc.GetColumnName(3))
  Det høgaste talet på kolonnar tillatne i eit Calc-ark er 16384.
Hentar formelen eller fomlane som er lagra i det gjevne celleområdet som ein enkel streng, ei 1D- eller 2D-matrise.
Namna på Calc-funksjonane brukte i dei returnerte formlane er på engelsk. Sjå Wiki-sida List of Calc Functions for ei fullstendig liste over Calc-funksjonane på engelsk.
svc.GetFormula(range: str): any
område: Området som formlane vert henta frå, som ein streng.
Det neste eksempelet returnera ei 3 × 2 matrise med formlar i området «A1:B3» (3 rader gonge 2 kolonnar):
    arrFormula = oDoc.GetFormula("~.A1:B3")
  
    arrFormula = myDoc.GetFormula("~.A1:B3")
  Hent verdien/verdiane som er lagra i det gjevne celleområdet, som éin enkelt verdi, ei 1D-matrise eller ei 2D-matrise. Alle verdiar er anten doble eller strengar.
svc.GetValue(range: str): any
område: Området som verdiane vert henta frå, som ein streng.
      arrValues = oDoc.GetValue("~.B1:C100")
  
    arrValues = myDoc.GetValue("~.B1:C100")
  Viss ei celle inneheld ein dato, vert talet som svarar til denne datoen returnert. For å konvertera tal til datoar i Basic-skript, bruk den innebygde Basic-funksjonen CDate. IPython, bruk funksjonen CDate frå tenesta Basic.
Importerer innhaldet av ei CSV-formatert tekstfil og set det inn i ei gjeve målcelle.
Alt innhald og alle format i målområdet vert fjerna før innhaldet i CSV-fila vert sett inn. Storleiken på det endra området vert bestemt fullt og heilt av innhaldet i inndatafila.
Metoden returnerer ein streng som representerer det endra celleområdet.
svc.ImportFromCSVFile(filename: str, destinationcell: str, [filteroptions: str]): str
filnamn: Identifiserer fila som skal opnast. Namnet må følgja notasjonen SF_FileSystem.FileNaming .
målcelle: Målcella som dei importerte dataa skal setjast inn i, som ein streng. Viss det er gjeve eit område, vert det berre teke omsyn til den øvre, venstre cella.
filterindstillingar: Argumentet for CSV-inndatafilteret. Standardfilteret gjer desse antakingane:
Teiknsettet i inndatafila er UTF8.
Felt-skiljeteiknet er eit komma, eit semikolon eller eit tabulatorteikn.
Strengskiljeteiknet er det doble sitatteiknet (").
Alle linjene er medrekna.
Strengar med sitatteikn er formaterte som tekst.
Spesielle tal vert oppdaga.
Alle kolonnar vert sett på som tekstar, bortsett viss dei vert kjende att som gyldige tal.
Språket er engelsk/amerikansk, noko som betyr at desimalskiljeteikn er '.' og tusenskiljeteikn er ','.
    oDoc.ImportFromCSVFile("C:\Temp\myCSVFile.csv", "SheetY.C5")
  
    myDoc.ImportFromCSVFile(r"C:\Temp\myCSVFile.csv", "SheetY.C5")
  For å læra meir om CSV-filteralternativa, sjå hjelpesida for CSV-filteralternativ.
Importerer innhaldet i ein databasetabell, ei spørjing eller eit resultatsett, dvs. resultatet av ein SELECT SQL-kommando ved å setja det inn i ei målcelle.
Alt innhald og alle format i målområdet vert fjerna før det importerte innhaldet vert sett inn. Storleiken på det endra området vert bestemt fullt og heilt av innhaldet i matrisa eller spørjinga.
Metoden returnerer Sann når han lukkast.
svc.ImportFromDatabase(filename: str = "", registrationname: str = "", destinationcell: str = "", sqlcommand: str = "", directsql: bool): bool
filnamn: Identifiserer fila som skal opnast. Namnet må følgja notasjonen SF_FileSystem.FileNaming .
registreringsnamn: Namnet som vert brukt for å finna databasen i databaseregisteret. Dette argument vert ignorert viss det er gjeve eit filnamn.
målcelle: Målet for dei importerte dataa, som ein streng. Viss det er gjeve eit område, vert det berre teke omsyn til den øvste, venstre cella.
sql-kommando: Ein tabell- eller eit spørjingsnamn (utan hermeteikn eller klammeparentesar) eller eit SELECT SQL-uttrykk der tabell- og feltnamna kan innehalda hermeteikn eller klammeparentesar for å gjera uttrykket enklare å lesa.
direkte_sql: Når denne er Sann, vert SQL-kommandoen sendt til databasemotoren utan førehandsanalyse. Standard er Usann. Argumentet vert ignorert for tabellar. For spørjingar er det brukte alternativet det som vart sett då spørjinga vart definert.
    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]")
  Set inn eit nytt tomt ark framføre eit ark som finst frå før eller sist i lista over ark.
svc.InsertSheet(sheetname: str, [beforesheet: any]): bool
arknamn: Namnet på det nye arket.
beforesheet: Namnet (streng) eller indeksnummeret (tal, byrjar frå 1) på arket framføre som det nye arket skal setjast inn i. Dette argumentet er valfritt. Standar er at det kopierte arket vert sett inn sist i arket.
Det neste eksempelet set inn eit nytt, tomt ark med namnet «ArkX» framføre «ArkY»:
    oDoc.InsertSheet("SheetX", "SheetY")
  
    myDoc.InsertSheet("SheetX", "SheetY")
  Flyttar eit gjeve kjeldeområde til eit målområde med celler. Metoden returnerer ein streng som representerer celleområdet som er endra. Dimensjonen på det endra området vert bestemt fullt ut av storleiken på kjeldeområdet.
svc.MoveRange(source: str, destination: str): str
kjelde: kjeldeområdet av celler, som ein streng.
mål: Målcella som ein streng. Viss det er gjeve eit område, vert cella øvst til venstre i området rekna som målet.
    oDoc.MoveRange("SheetX.A1:F10", "SheetY.C5")
  
    myDoc.MoveRange("SheetX.A1:F10", "SheetY.C5")
  Flyttar eit ark og plasserer det framføre eit spesifisert ark eller på slutten av lista over ark.
svc.MoveSheet(sheetname: str, [beforesheet: any]): bool
arknamn: Namnet på arket som skal flyttast. Arknamnet må finnast elles vert det sett eit unntak.
beforesheet: Namnet (streng) eller indeksnummeret (tal, byrjar frå 1) på arket framføre som det opphavlege arket skal setjast inn i. Dette argumentet er valfritt. Standar er at det kopierte arket vert sett inn sist i arket.
Eksempelet nedanfor flyttar «ArkX» og set det framføre «ArkY»:
    oDoc.MoveSheet("SheetX", "SheetY")
  
    myDoc.MoveSheet("SheetX", "SheetY")
  Returnerer eit nytt område (som ein streng) forskyvt med eit bestemt tal på rader og kolonnar frå eit gjeve område.
Denne funksjonen gjer det same som den einslydande funksjonen Forskyv i Calc.
svc.Offset(reference: str, rows: int = 0, columns: int = 0, [height: int], [width: int]): str
referanse: Området, som ein streng, som metoden vil bruka som referanse til å utføra forskyvingsoperasjonen.
rader: Kor mange rader som det opphavlege området skal forskyvast oppover (negativ verdi) eller nedover (positiv verdi). Bruk 0 (standard) for å forbli i same rada.
kolonnar: Kor mange kolonnar som det opphavlege området skal forskyvast mot venstre (negativ verdi) eller mot høgre (positiv verdi). Bruk 0 (standard) for å forbli i same kolonnen.
høgd: Den loddrette høgda for eit område som byrjar ved den nye områdeposisjonen. Utelat dette argumentet når det ikkje er behov for loddrett endring av storleiken.
breidde: Den vassrette breidd for eit område som byrjar ved den nye områdeposisjonen. Utelat dette argumentet når det ikkje er behov for vassrett endring av storleiken.
Argumenta rader og kolonnar kan ikkje resultera i null eller negativ startrad eller startkolonne.
Argumenta høgd og breidd kan ikkje resultera i null eller eit negativt tal på rader eller kolonnar.
    oDoc.Offset("A1", 2, 2)
    ' ArkX.$C$3 (A1 flytt to rader og to kolonnar ned)
    oDoc.Offset("A1", 2, 2, 5, 6)
    ' ArkX.$C$3:$H$7 (A1 forskjøve med to rader og kolonnar med ei breidd på 5 rader og 6 kolonnar)
  
    myDoc.Offset("A1", 2, 2)
    myDoc.Offset("A1", 2, 2, 5, 6)
  Opnar eit ikkje-modalt dialogvindauge som kan brukast for å merkja eit område i dokumentet og returnerer ein streng som inneheld det merkte området.
Denne metode opnar det same dialogvindauget som vert brukt av LibreOffice når knappen «Forminsk» vert brukt. For eksempel har dialogvindauget knappen «Forminsk» til høgre for feltet .
Denne metoden endrar ikkje det gjeldande utvalet.
svc.OpenRangeSelector(opt title: str, opt selection: str, singlecell: bool = False, closeafterselect: bool = True): str
title: Tittelen på dialogvindauget, som ein streng.
selection: Eit valfritt område som vert merkt først når dialogvindauget vert vist.
singlecell: Når Sann (standard), kan berre enkeltceller merkjast. Når Usann kan område merkjast.
closeafterselect: Når Sann (standard) vert dialogvindauget lukka like etter at ei markering er utført. Når Usann, kan brukaren endra valet så mange gongar som ønskjeleg og deretter lukka vindauget manuelt.
    Dim sRange as String
    sRange = oDoc.OpenRangeSelector(Title := "Select a range")
  
    sRange = myDoc.OpenRangeSelector(title = "Select a range")
  Returnerer inndatastrengen etter å ha byt ut symbol-teikna med verdiane deira i eit gjeve område.
Denne metoden endrar ikkje det gjeldande utvalet.
Denne metoden kan brukast for raskt å trekkja ut bestemte delar av eit områdenamn, for eksempel namnet på arket eller den første cellekolonnen og -rada, og bruka dei til å laga ei ny områdeadresse.
svc.Printf(inputstr: str, range: str, tokencharacter: str = "%"): str
inputstr: Strengen som inneheld symbola som vert byt ut med dei tilsvarande verdiane i range.
range: Eit RangeName som verdiane vert henta ut frå. Viss denne inneheld eit arknamn, må arket finnast.
tokencharacter: Teikn som vert brukte for å identifisera symbol. Som standard er symbolteiknet «%». Desse teikna vert aksepterte:
%S – Arknamnet som inneheld område, medrekna enkelt hermeteikn (') om nødvendig.
%R1 – Radnummeret til den øvre, venstre cella i området.
%C1 – Kolonnebokstaven til den øvre, venstre cella i området.
%R2 – Radnummeret til den nedre, høgre cella i området.
%C2 – Kolonnebokstaven til den nedre, høgre cella i området.
Eksempelet nedanfor trekk ut kvart element av RangeName definert i sRange og brukar dei for å setja opp ei melding.
    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)
  Metoden Printf kan kombinerast med SetFormula for å laga formlar over fleire celler. Sjå for eksempel på ein tabell med talverdiar i området «A1:E10» som det skal lagast formlar frå for å summera verdiane i kvar rad og setja resultata i området «F1:F10»:
    Dim sFormula as String, sRange as String
    sRange = "A1:E10"
    ' Legg merkje til bruken av teiknet «$»
    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))
  Denne metoden sender innhaldet i det gjevne arket til standardskrivaren eller til den skrivaren som er definert av metoden SetPrinter i tenesta Document.
Returnerer Sann viss dokumentet vart skrive ut.
svc.PrintOut(opt sheetname: str, pages: str = "", copies: num = 1): bool
arknamn: Arket som skal skrivast ut. Standard der det gjeldande arket.
sider: Sidene som skal skrivast ut som ein streng, som i brukargrensesnittet. Eksempel: «1-4;10;15-18». Standard er alle sidene.
kopiar: Talet på kopiar. Standard er 1.
    If oDoc.PrintOut("SheetX", "1-4;10;15-18", Copies := 2) Then
        ' ...
    End If
  
    if doc.PrintOut('SheetX', copies=3, pages='45-88'):
        # ...
  Fjernar dupliserte rader frå eit spesifisert område. Samanlikninga for å avgjera om ei gjeven rad er eit duplikat vert gjort på grunnlag av eit undersett av kolonnar i området.
Denne metoden returnerer ein streng som inneheld det resulterande området.
Fjerning av dupliserte rader vert gjort frå den første rada i området som går nedover, noko som betyr at viss to eller fleire rader er duplikat, så vert berre den første behalda.
svc.RemoveDuplicates(range: str, opt columns: int[0..*], header: bool = False, casesensitive: bool = False, mode: str = "COMPACT"): str
område: Området som duplikata vert fjerna frå, som ein streng.
kolonnar: Ei matrise som inneheld kolonnenummer som indikerer kva kolonnar som vil verta vurdert for å avgjera om ei rad er eit duplikat eller ikkje. Viss dette argumentet er tomt, vert berre den første kolonnen brukt. Element i denne matrisa må vera i intervallet mellom 1 og områdebreidda.
overskrift: Spesifiserer om den første rada er ei overskriftsrad (standard = Usann).
store/små: Spesifiserer om strengsamanlikningar skil mellom store og små bokstavar (standard = Usann).
modus: Spesifiserer kva som skal gjerast med dupliserte rader. Viss modus = "CLEAR" så vert duplikat ganske enkelt fjerna frå arket og let cellene stå tomme. Viss modus = "COMPACT",vert duplikata fjerna og tomme rader vert komprimerte (standard = "COMPACT").
    ' Fjernar dupliserte rader der verdiane i kolonne A er dupliserte
    ' Merk at alle valfrie argument brukar standardverdien
    oDoc.RemoveDuplicates("A1:B10")
    ' Fjernar dupliserte rader ut frå at den første rada inneheld overskrifter
    ' Kolonne A og B vert brukt til å bestemma om ei rad er eit duplikat
    ' Celler som inneheld dupliserte verdiar er tomme
    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")
  Fjernar eit ark frå dokumentet.
svc.RemoveSheet(sheetname: str): bool
arknamn: Namnet på arket som skal fjernast.
    oDoc.RemoveSheet("SheetY")
  
    myDoc.RemoveSheet("SheetY")
  Gjev det gjevne arket eit nytt namn og returnerer Sann viss dette lukkast.
svc.RenameSheet(sheetname: str, newname: str): bool
arknamn: Namnet på arket som skal gjevast nytt namn.
nyttnamn: Det nye arknamnet. Namnet må ikkje finnast frå før.
I dette eksempelet endrar du namnet på det aktive arket til «ArkY»:
    oDoc.RenameSheet("~", "SheetY")
  
    mydoc.RenameSheet("~", "SheetY")
  Lagrar den gjevne verdien frå ei oppgjeve målcelle. Det oppdaterte området utvidar seg frå målcella eller frå øvre, venstre hjørne i det gjevne området for å få plass til storleiken på inndataargumentet value. Vektorar vert alltid utvida loddrett.
Metoden returnerer ein streng som representerer det endra området som eit celleområde.
svc.SetArray(targetcell: str, value: any): str
målcelle: Cella eller eit område som ein streng der lagringa av den gjevne verdien skal byrja.
verdi: Ein skalar, ein vektor eller ei matrise (i Python, ein- eller todimensjonale lister og tuppler) med dei nye verdiane som skal lagrast frå målcella, eller frå øvre, venstre hjørne av området viss målcella er eit område. Dei nye verdiane må vera strengar, talverdiar eller datoar. Andre typar vil føra til at dei tilsvarande cellene vert tømde.
Det meste eksempelet brukar den innebygde funksjonen DimArray for å laga ei matrise og lagra ho i cella «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 eksempelet brukar RangeInit-metoden til ScriptForge Array-tenesta for å laga ei matrise med verdiar som så er lagra frå celle «A1» og nedover.
    ' Fyll første kolonne med verdiar frå 1 til 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)))
  Viss du vil dumpa heile innhaldet i ei matrise i eit ark, brukar du SetArray. Viss du vil dumpa innhaldet i ei matrise berre innanfor grensene for det gjevne celleområdet, brukar du SetValue.
Bruker den gjevne cellestilen på det gjevne målområdet. Heile området vert oppdatert, og resten av arket vert ståande urørt. Viss cellestilen ikkje finst, oppstår det ein feil.
Metoden returnerer ein streng som representerer det endra området som eit celleområde.
svc.SetCellStyle(targetrange: str, style: str, opt filterformula: str, opt filterscope: str): str
målområde: Området som stilen skal brukast på, som ein streng.
stil: Namnet på cellestilen som skal brukast..
    oDoc.SetCellStyle("A1:J1", "Heading 1")
    oDoc.SetCellStyle("A2:J100", "Neutral")
  
    myDoc.SetCellStyle("A1:J1", "Heading 1")
    myDoc.SetCellStyle("A2:J100", "Neutral")
  Sjå metodedokumentasjonen ClearAll for eksempel på korleis du brukar argumenta filterformula og filterscope.
Set inn den gjevne (matrisa av) formelen/formlane i det spesifiserte området. Storleiken på det endra området er lik storleiken på området.
Metoden returnerer ein streng som representerer det endra området som eit celleområde.
svc.SetFormula(targetrange: str, formula: any): str
målområde: Området der formlane skal setjast inn, som ein streng.
formel: Ein streng, ein vektor eller ei matrise av strengar med nye formlar til kvar celle i målområdet.
Heile området vert oppdatert medan resten av arket er uendra.
Viss den gjevne formelen er ein streng, vert den unike formelen limt inn langs heile området med justering av dei relative referansane.
Vis storleiken på formel er mindre enn storleiken på målområde, vert dei resterande cellene tømde.
Viss storleiken på formel er større enn storleiken på målområdet, vert formelen berre delvis kopiert til storleiken på målområdet er fylt opp.
Vektorar vert alltid utvida loddrett unnateke viss målområdet er nøyaktig 1 rad høgt.
Calc-funksjonane som vert brukte i formula-argumentet må uttrykkast med dei engelske namna. Sjå Wiki-sida List of Calc Functions for ei fullstendig liste over Calc-funksjonar på engelsk.
    oDoc.SetFormula("A1", "=A2")
    ' Vassrett vektor delvis tom
    oDoc.SetFormula("A1:F1", Array("=A2", "=B2", "=C2+10"))
    ' D2 inneheld formelen "=H2"
    oDoc.SetFormula("A1:D2", "=E1")
  
    myDoc.SetFormula("A1", "=A2")
    myDoc.SetFormula("A1:F1", ("=A2", "=B2", "=C2+10"))
    myDoc.SetFormula("A1:D2", "=E1")
  Lagrar den gjevne verdien i det spesifiserte området. Storleiken på det endra området er lik storleiken på målområdet.
Metoden returnerer ein streng som representerer det endra området som eit celleområde.
svc.SetValue(targetrange: str, value: any): str
målområde: Området som verdiane vert henta frå skal lagrast, som ein streng.
verdi: Ein skalar, ein vektor eller ei matrise med dei nye verdiane for kvar celle i området. Dei nye verdiane må vera strengar, talverdiar eller datoar. Andre typar vil føra til at dei tilsvarande cellene vert tømde.
Heile området vert oppdatert medan resten av arket ikkje vert endra. Viss storleiken på verdi er mindre enn storleiken på målområdet vert dei resterande cellene tømde.
Viss storleiken av verdi er større enn storleiken på målområdet, vert verdi berre delvis kopiert til storleiken på målområdet er fylt opp.
Vektorar vert alltid utvida loddrett unnateke viss målområdet er nøyaktig 1 rad høgt.
    oDoc.SetValue("A1", 2)
    ' Nedanfor er verdi-matrisa mindre enn målområdet (resterande celler vert tømde)
    oDoc.SetValue("A1:F1", Array(1, 2, 3))
    ' Nedanfor har verdien og målområdet same storleiken
    oDoc.SetValue("A1:D2", SF_Array.AppendRow(Array(1, 2, 3, 4), Array(5, 6, 7, 8)))
  Ønskjer du å fylla ei enkelt rad med verdiar, kan du bruka funksjonen Offset. I eksempelet nedanfor bør du gå ut frå at arrData er ei eindimensjonal matrise:
    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)
  Flyttar eit gjeve celleområde nedover ved å setja inn tomme rader. Det gjeldande utvalet vert ikkje påverka.
Avhengig av verdien av argumentet wholerow, kan dei innsette radene anten spenna over breidda til det gjevne området eller alle kolonnane i rada.
Denne metoden returnerer ein streng som representerer den nye plasseringa av det opphavlege området.
Viss det flytta området går over kantane på arket, skjer det ingenting.
svc.ShiftDown(range: str, wholerow: bool = False, opt rows: int): str
range: Området ovanfor som cellene skal setjast inn i, som ein streng.
wholerow: Viss sett til Usann (standard) vil breidda på dei innsette radene vera den same som breidda i det spesifiserte range. Elles vil dei innsette radene spenna over alle kolonnane i arket.
rows: Kor mange rader som skal setjast inn. Standardverdien er høgda på det opphavlege range. Talet på rader må vera eit positivt tal.
    ' Flyttar området «A3:D3» ned éi rad. Påverkar berre kolonnane A til D
    oDoc.ShiftDown("A3:D3")
    ' Den sletta rada spenner over alle kolonnane i arket
    oDoc.ShiftDown("A3:D3", WholeRow := True)
    ' Flyttar området "A3:D3" fem rader ned
    oDoc.ShiftDown("A3:D3", Rows := 5)
    ' Flyttar området "A3:D10" ned med to rader og viser den nye plasseringa til det opphavlege området
    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)
  Slettar kolonnane lengst til venstre i eit gjeve område og flyttar alle cellene til venstre for det påverka området til høgre for det. Den gjeldande markeringa vert ikkje påverka.
Avhengig av verdien av argumentet wholecolumn, kan dei innsette kolonnane anten spenna over høgda til det gjevne området eller alle radene i kolonnen.
Denne metoden returnerer ein streng som representerer plasseringa av resten av startområdet. Viss alle cellene i det opphavlege området er sletta, vert det returnert ein tom streng.
svc.ShiftLeft(range: str, wholecolumn: bool = False, opt columns: int): str
område: Området som cellene skal slettast i, som ein streng.
wholecolumn: Viss sett til Usann (standard) vil høgda på dei sletta kolonnane vera den same som høgda i det spesifiserte range. Elles vil dei sletta kolonnane spenna over alle radene i arket.
columns: Talet på kolonnar som skal slettast frå det gjevne området. Standardverdien er breidda på det opphavlege range, som også er maksimumsverdien for dette argumentet.
    ' Slettar området "B3:B6"; flyttar alle dei gjenverande cellene mod høgre
    oDoc.ShiftLeft("B3:B6")
    ' Slettar den første kolonnen i området "A3:D6"
    oDoc.ShiftLeft("A3:D6", Columns := 1)
    ' Dei sletta kolonnane (A til D) spenner over alle radene på arket
    oDoc.ShiftLeft("A3:D6", WholeColumn := True)
  
    myDoc.ShiftLeft("B3:B6")
    myDoc.ShiftLeft("A3:D6", Columns = 1)
    myDoc.ShiftLeft("A3:D6", WholeColumn = True)
  Slettar dei øvste rekkjene i eit gjeve område og flyttar alle cellene under det påverka området oppover. Den gjeldande markeringa vert ikkje påverka.
Avhengig av verdien av argumentet wholerow, kan dei sletta radene anten spenna over breidda til det gjevne området eller alle kolonnane i rada.
Denne metoden returnerer ein streng som representerer plasseringa av resten av startområdet. Viss alle cellene i det opphavlege området er sletta, vert det returnert ein tom streng.
svc.ShiftUp(range: str, wholerow: bool = False, opt rows: int): str
område: Området som cellene skal slettast i, som ein streng.
wholerow: Viss sett til Usann (standard) vil breidda på dei sletta radene vera den same som breidda i det spesifiserte range. Elles vil dei sletta radene spenna over alle kolonnane i arket.
rader: Talet på rader som skal slettast frå det gjevne området. Standardverdien er høgda på det opphavlege range, som også er maksimumsverdien for dette argumentet.
    ' Slettar området "A3:D3"; flyttar alle celler nedanfor ei rad opp
    oDoc.ShiftUp("A3:D3")
    ' Slettar den første rada i området "A3:D6"
    oDoc.ShiftUp("A3:D6", Rows := 1)
    ' Dei sletta radene spenner over alle kolonnane i arket
    oDoc.ShiftUp("A3:D6", WholeRow := True)
  
    myDoc.ShiftUp("A3:D3")
    myDoc.ShiftUp("A3:D6", rows = 1)
    myDoc.ShiftUp("A3:D6", wholerow = True)
  Flyttar eit gjeve celleområde mot høgre ved å setja inn tomme kolonnar. Det gjeldande utvalet vert ikkje påverka.
Avhengig av verdien av argumentet wholecolumn, kan dei innsette kolonnane anten spenna over høgda til det gjevne området eller alle radene i kolonnen.
Denne metoden returnerer ein streng som representerer den nye plasseringa av det opphavlege området.
Viss det flytta området går over kantane på arket, skjer det ingenting.
svc.ShiftRight(range: str, wholecolumn: bool = False, opt columns: int): str
område: Det området som får sett inn tomme kolonnar på venstre side, som ein streng.
wholecolumn: Viss sett til Usann (standard) vil høgda på dei innsette kolonnane vera den same som høgda i det spesifiserte range. Elles vil dei sletta kolonnane spenna over alle radene i arket.
Kolonnar: Talet på kolonnar som skal setjast inn. Standardverdien er breidda på det opphavlege range (område).
    ' Flyttar området "A3:A6" ein kolonne til høgre. Påverkar berre radene 3 til 6
    oDoc.ShiftRight("A3:A6")
    ' Flyttar området "A3:A6" fem kolonnar til høgre
    oDoc.ShiftRight("A3:A6", Columns := 5)
    ' Den innsette kolonnen spenner over alle radene på arket
    oDoc.ShiftRight("A3:A6", WholeColumn := True)
  
    myDoc.ShiftRight("A3:A6")
    myDoc.ShiftRight("A3:A6", columns = 5)
    myDoc.ShiftRight("A3:A6", wholecolumn = True)
  Sorter det gjevne område etter kor mange kolonnar/rader som helst. Sorteringsrekkjefølgja kan variera etter kolonne/rad. Viss talet på sorteringsnøklar er 3, vert området sortert fleire gongar, etter grupper på 3 nøklar, frå den siste nøkkelen. Han returnerer ein streng som representerer det modifiserte celleområdet. Storleiken på det modifiserte området vert bestemd av storleiken på kjeldeområdet.
svc.SortRange(range: str, sortkeys: any, sortorder: any = "ASC", destinationcell: str = "", containsheader: bool = False, casesensitive: bool = False, sortcolumns: bool = False): str
område: Området som skal sorterast, som ein streng.
sortkeys: Ein skalar (viss 1 kolonne/rad) eller ei matrise av kolonne-/radnummer som byrjar frå 1.
sorteringsrekkjefølgje: Ein skalar eller ei matrise med strengar som inneheld verdiane «ASC» (stigande), «DESC» (fallande). Kvart element er bunde saman med det tilsvarande elementet i sorteringsnøklar. Viss sorteringsrekkjefølgje-matrisa er kortare enn sorteringsnøklar, vert dei resterande nøklane sorterte stigande.
målcelle: Målcella for det sorterte celleområdet, som ein streng. Viss det er gjeve eit område, vert berre cella øvst til venstre rekna med. Kjeldeområdet vert som standard overskrive.
inneheld_overskrift: Når Sann, vert den første rada/kolonnen ikkje sortert.
Store/små : (Skil store og små bokstavar). Berre for samanlikning av strengar. Standard = Usann.
sorter_kolonnar: Når Sann vert kolonnane sorterte frå venstre mot høgre. Standard =Usann : rader vert sorterte ovanfrå og nedover.
    ' Sorteringsområdet basert på kolonnar. A (stigande) og C (fallande)
    oDoc.SortRange("A2:J200", Array(1, 3), Array("ASC", "DESC"), CaseSensitive := True)
  
    myDoc.SortRange("A2:J200", (1, 3), ("ASC", "DESC"), casesensitive = True)