Wobsah

# Słužba SFDocuments.Calc

Zhromadnje wužita biblioteka SFDocuments rjad metodow a kajkosćow skići, kotrež rjadowanje dokumentow LibreOfficeDev a wobchadźenje z nimi wosnadnjeja.

Słužba SFDocuments.Calc je podklasa słužby SFDocuments.Document. Ke wšěm metodam a kajkosćam, kotrež so za słužbu Document definuja, maće z pomocu słužboweje instancy Calc přistup.

Słužba Calc koncentruje so na:

- Wobchadźenje z tabelemi w dokumenće Calc (kopěrować, zasadźić, přesunyć atd.)

- Wuměnjenje datow mjez datowymi strukturami Basic a wobłukami Calc

- Kopěrowanje a importowanje njesměrnych datowych mnóstwow

- Jednore formatěrowanje celowych wobłukow

Tuta strona jenož metody a kajkosće wopisuje, kotrež su jenož na dokumenty Calc nałožujomne.

## Słužbowe wuwołanje

Prjedy hač słužbu Calc wužiwaće, dyrbi so biblioteka ScriptForge začitać abo importować:

• Makra Basic sej wužaduja, zo so biblioteka ScriptForge z pomocu slědowaceho přikaza začituje:
GlobalScope.BasicLibraries.loadLibrary("ScriptForge")
• Skripty Python sej import z modula scriptforge wužaduja:
from scriptforge import CreateScriptService

Słužba Calc je podobna na słužbu UI biblioteki ScriptForge. Deleka su někotre přikłady, kak móžeće słužbu Calc wuwołać.

##### W Basic

Slědowaca kodowa šlipka słužbowu instancu Calc wutworja, kotraž tuchwilu aktiwnemu dokumentej Calc wotpowěduje.

        Set oDoc = CreateScriptService("Calc")

Druha móžnosć, zo byšće instancu słužby Calc wutworił, je wužiwanje słužby UI. W slědowacym přikładźe so dokument Calc wutworja a oDoc je instanca słužby Calc:

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

Abo wužiwanje metody OpenDocument ze słužby UI:

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

Je tež móžno, woknowe mjeno za metodu CreateScriptService podać, zo byšće słužbu Calc instancował:

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

W přikładźe horjeka je "MyFile.ods" mjeno wočinjeneho dokumentoweho wokna. Jeli tutón argument podaty njeje, so aktiwne wokno wobkedźbuje.

Je tež móžno, słužbu Calc z pomocu dokumenta wuwołać, kotryž je přez ThisComponent referencowany. To je předewšěm wužitne, hdyž so makro w IDE Basic wuwjedźe.

        Dim oDoc As Object
        Set oDoc = CreateScriptService("Calc", ThisComponent)

Poruča so, resursy po wužiwanju wuswobodźić:

        Set oDoc = oDoc.Dispose()

Jeli wšak dokument je so z pomocu metody CloseDocument začinił, trjeba njeje, resursy z pomocu přikaza horjeka wuswobodźić.

##### W Python

        myDoc = CreateScriptService("Calc")

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

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

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

        bas = CreateScriptService("Basic")
        myDoc = CreateScriptService("Calc", bas.ThisComponent)

Wužiwanje prefiksa "SFDocuments." při wuwołanju słužby je opcionalne.

## Definicije

Wjele metodow sej "Sheet" abo "Range" jako argument wužaduje. Jednotliwe cele maja so jako specialny pad Range.

Wobaj dadźa so wotwisujo wot situacije pak jako znamješkowy rjećazk pak jako referenca (=objekt) zwuraznić:

- W specifiskej instancy Calc so tabele a wobłuki jako znamješkowe rjećazki kaž "Sheet1" a "D2:F6" podawaja.

- Nimo toho kajkosći .Sheet a .Range referencu wróćatej, kotraž da so jako argument metody wužiwać, kotraž so přez druhu instancu słužby Calc wuwołuje.

### Přikład:

Slědowacy přikład daty z dokumenta A (jako přećiwo pisanju škitany a schowany) do dokumenta B kopěruje.

##### W Basic

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

##### W Python

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

### SheetName

Pak tabelowe mjeno jako znamješkowy rjećazk pak objekt, kotryž so wot kajkosće .Sheet generuje.

Skrótšenka "~" (tilda) aktualnu tabelu reprezentuje.

### RangeName

Pak znamješkowy rjećazk, kotryž sadźbu susodnych celow w tabeli aktualneje instancy woznamjenja pak objekt, kotryž so přez kajkosć .Range generuje.

Skrótšenka "~" (tilda) aktualny wuběr reprezentuje abo prěni wubrany wobłuk, jeli wjacore wobłuki su wubrane.

Skrótšenka "*" wšě wužite cele reprezentuje.

Tabelowe mjeno je opcionalne, hdyž so wobłuk definuje. Jeli tabelowe mjeno podate njeje, so aktiwna tabela wužiwa. Wobdawace jednore pazorki a $-znamješka su dowolene, so wšak ignoruja.

Hdyž SheetName jako znamješkowy rjećazk podawaće, dyrbja so jednore pazorki wužiwać, zo bychu tabelowe mjeno wobdawali, jeli mjeno mjezoty " " abo dypki "." wobsahuje.

Slědowace přikłady ilustruja, w kotrych padach wužiwanje jednorych pazorkow je zawjazne:

          ' Wužiwanje jednorych pazorkow je opcionalne
          oDoc.clearAll("SheetA.A1:B10")
          oDoc.clearAll("'SheetA'.A1:B10")
          ' Wužiwanje jednorych pazorkow je trěbne
          oDoc.clearAll("'Sheet.A'.A1:B10")

Nimo kajkosće CurrentSelection słužba Calc jenož jednotliwe celowe wobłuki wobkedźbuje.

Přikłady płaćiwych wobłukow
1) $'SheetX'.D2 2) $D$2 | Jednotliwa cela
1) $'SheetX'.D2:F6 2) D2:D10 | Jednotliwy wobłuk z wjacorymi celemi
$'SheetX'.* | Wšě wužite cele w podatej tabeli
1) $'SheetX'.A:A (špalta A) 2) 3:5 (linki 3 do 5) | Wšě cele w susodnych špaltach abo linkach hač do poslednjeje wužiteje cele
mójWobłuk | Wobłuk z mjenom "mójWobłuk" na tabelowej runinje
1) ~.someRange 2) SheetX.someRange | Wobłukowe mjeno na tabelowej runinje
myDoc.Range("SheetX.D2:F6") | Wobłuk w tabeli SheetX w dataji, kotraž je z instancu Calc myDoc zwjazana
~.~ abo ~ | Aktualna wuběr w aktiwnej tabeli

## Kajkosće

Wšě kajkosće, kotrež su powšitkowne za kóždy dokument su implicitnje tež na dokumenty Calc nałožujomne. Za dalše informacije čitajće stronu pomocy dokumentoweje słužby.

Kajkosće, kotrež su specielnje za dokumenty Calc k dispoziciji:

Mjeno | Přećiwo pisanju škitany | Argument | Typ wróćenja | Wopisanje
--- | --- | --- | --- | ---
CurrentSelection | Ně | Žadyn | Znamješkowy rjećazk abo matriks znamješkowych rjećazkow | Jednotliwy wubrany wobłuk jako znamješkowy rjećazk abo lisćina wubranych wobłukow jako matriks.
DefinedNames | Haj | Žadyn | Znamješkowy rjećazk abo matriks znamješkowych rjećazkow | Wróći dospołnu sortěrowanu lisćinu wšěch pomjenowanych wobłukow w dokumenće. Mjena, kotrež su w jednotliwej tabeli definowane, so z tabelowym mjenom woznamjenjeja.
FirstCell | Haj | SheetName abo RangeName as String | String | Wróći prěnja wužita cela w podatym wobłuku abo w podatej tabeli.
FirstColumn | Haj | SheetName abo RangeName as String | Long | Wróći cyle lěwe špaltowe čisło w podatym wobłuku abo w podatej tabeli.
FirstRow | Haj | SheetName abo RangeName as String | Long | Wróći najwyše linkowe čisło w podatym wobłuku abo w podatej tabeli.
Height | Haj | RangeName As String | Long | Ličba linkow (>= 1) w podatym wobłuku.
LastCell | Haj | SheetName abo RangeName as String | String | Wróći poslednja wužita cela w podatym wobłuku abo w podatej tabeli.
LastColumn | Haj | SheetName abo RangeName as String | Long | Poslednja wužita špalta w podatym wobłuku abo w podatej tabeli.
LastRow | Haj | SheetName abo RangeName as String | Long | Poslednja wužita linka w podatym wobłuku abo w podatej tabeli.
Range | Haj | RangeName As String | Object | Wobłukowa referenca, kotraž da so jako argument metodow kaž CopyToRange wužiwać.
Region | Haj | RangeName As String | String | Wróći adresu najmjeńšeho wobłuka, kotryž podaty wobłuk wobsahuje, zo by so wobłuk přez prózdne cele abo tabelowe kromy wobdał. Móžeće tež tastowu skrótšenku cmd ⌘ + *Strg + * na podaty wobłuk nałožić.
Sheet | Haj | SheetName As String | Object | Tabelowa referenca, kotraž da so jako argument metodow kaž CopySheet wužiwać.
SheetName | Haj | RangeName As String | String | Wróći tabelowe mjeno podateje wobłukoweje adresy.
Sheets | Haj | Žadyn | Matriks znamješkowych rjećazkow | Lisćina z mjenami wšěch eksistowacych tabelow.
Width | Haj | RangeName As String | Long | Ličba špaltow (>= 1) w podatym wobłuku.
XCellRange | Haj | RangeName As String | Object | Objekt UNO com.sun-star.Table.XCellRange.
XRectangle | Haj | RangeName jako znamješkowy rjećazk | Object | Struktura UNO com.sun.star.awt.Rectangle, kotraž w pikselach wobłuk na wobrazowce wopisuje, hdźež wobłuk je.
XSheetCellCursor | Haj | RangeName As String | Object | Objekt UNO com.sun.star.sheet.XSheetCellCursor. Po pohibowanju kursora maće přistup k rezultowacej wobłukowej adresy přez kajkosć UNO AbsoluteName kursoroweho objekta, kotraž hódnotu znamješkoweho rjećazka wróća, kotryž da so jako argument za kajkosće a metody słužby Calc wužiwać.
XSpreadsheet | Haj | SheetName As String | Object | Objekt UNO com.sun.star.sheet.XSpreadsheet.

Wopytajće websyło dokumentacije API LibreOfficeDev, zo byšće wjace wo objektach UNO XCellRange, XSheetCellCursor a XSpreadsheet zhonił.

## Metody

Lisćina metodow w słužbje Calc
A1Style Activate AlignRange BorderRange Charts ClearAll ClearFormats ClearValues ColorizeRange CompactLeft CompactUp CopySheet CopySheetFromFile CopyToCell CopyToRange CreateChart CreatePivotTable DAvg | DCount DecorateFont DefineName DMax DMin DSum ExportRangeToFile FormatRange Forms GetColumnName GetFormula GetValue ImportFromCSVFile ImportFromDatabase ImportStylesFromFile InsertSheet Intersect MoveRange | MoveSheet Offset OpenRangeSelector PrintOut Printf RemoveDuplicates RemoveSheet RenameSheet SetArray SetCellStyle SetFormula SetValue ShiftDown ShiftLeft ShiftRight ShiftUp SortRange

## A1Style

Wróći wobłukowu adresu jako znamješkowy rjećazk na zakładźe tabelowych koordinatow, t. r. linkowych a špaltowych čisłow.

Jeli jenož jedyn por koordinatow je podaty, so jenož adresa jednotliweje cele wróći. Přidatne argumenty móža delnju prawu celu praworóžkateho wobłuka podać.

### Syntaksa:

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

### Parametry:

row1, column1: Podajće linkowe a špaltowe čisła cele horjeka nalěwo we wobłuku, kotryž so ma wobkedźbować. Linkowa a špaltowe čisła so pola 1 započinaja.

row2, column2: Podajće linkowe a špaltowe čisła cele deleka naprawo we wobłuku, kotryž so ma wobkedźbować. Jeli tute argumenty podate njejsu, abo jeli hódnoty so mjeńše hač row1 a column1 podawaja, so adresa jednotliweho celoweho wobłuka wróći, kotryž so přez row1 a colum1 reprezentuje.

sheetname: Mjeno tabele, kotraž so ma k wróćenej wobłukowej adresy připowěsnyć. Tabela dyrbi eksistować. Standardna hódnota je "~", kotraž tuchwilu aktiwnej tabeli wotpowěduje.

### Přikład:

Slědowace přikłady w Basic a Python maja "Sheet1" za tuchwilu aktiwnu tabelu.

##### W Basic

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

##### W Python

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

Metoda A1Style da so z někajkej z wjele kajkosćow a metodow słužby Calc kombinować, kotrež sej wobłuk jako argument wužaduja, na přikład GetValue, GetFormula, ClearAll atd.

## Activate

Jeli argument sheetname je podaty, so data tabela aktiwizuje a budźe tuchwilu wubrana tabela. Jeli argument faluje, so dokumentowe wokno aktiwizuje.

### Syntaksa:

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

### Parametry:

sheetname: Mjeno tabele, kotraž so ma w dokumenće aktiwizować. Standardna hódnota je prózdny znamješkowy rjećazk, to rěka, zo dokumentowe wokno so aktiwizuje, bjeztoho zo by so aktiwna tabela změniła.

### Přikład:

Slědowacy přikład tabelu z mjenom "Sheet4" w tuchwilu aktiwnym dokumenće aktiwizuje.

##### W Basic

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

##### W Python

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

Aktiwizowanje tabele je jenož zmysłapołne, jeli so w dokumenće Calc přewjedźe. Zo byšće zawěsćił, zo maće dokument Calc k ruce, móžeće kajkosć isCalc dokumentoweho objekta wužiwać, kotraž True wróća, jeli je dokument Calc a hewak False.

## AlignRange

Wusměrjuje wobłuk celow horicontalnje abo wertikalnje.

Foltrowa formla da so podać, zo by postajiła, kotre cele maja so wobwliwować.

### Syntaksa:

svc.AlignRange(targetrange: str, alignment: str, opt filterformula: str, opt filterscope: str)

### Parametry:

targetrange: Cela abo wobłuk jako znamješkowy rjećazk, w kotrymž so maja cele znowa wusměrić.

alignment: znamješkowy rjećazk, kotryž 1 abo 2 přichodnych wulkich znamješkow kombinuje (druhe znamješka so ignoruja):

- L, R abo C: nalěwo, naprawo abo horicontalnje centrowane.

- B, T abo M: deleka, horjeka abo wertikalnje centrowane (wosrjedźa).

filterformula: Formla Calc, kotraž so ma na podaty wobłuk nałožić, zo by postajiła, kotre cele su potrjechene. Podata formla dyrbi True abo False wróćić. Jeli tutón argument podaty njeje, su wšě cele we wobłuku potrjechene.

filterscope: Postaja, kak so filterformula na podaty wobłuk rozšěrja. Tutón argument je obligatoriski, jeli filterformula je podaty. Slědowace hódnoty so akceptuja:

- „CELL“: Formla, kotraž je w argumenće filterformula podata, so jónkróć za kóždu celu w range rozšěrja.

- „ROW“: Formla, kotraž je w argumenće filterformula podata, so jónkróć za kóždu linku w range rozšěrja.

- „COLUMN“: Formla, kotraž je w argumenće filterformula podata, so jónkróć za kóždu špaltu w range rozšěrja.

### Přikład:

##### W Basic

          ' Wšě numeriske cele horicontalnje kaž tež wertikalnje centrować.
          doc.AlignRange("SheetX.A1:J30", "Middle,Center", filterformula := "=IsNumeric(A1)", filterscope := "CELL")

##### W Python

          # Wšě numeriske cele centrować, horicontalnje kaž tež wertikalnje.
          doc.AlignRange('SheetX.A1:J30', 'Middle,Center', filterformula = '=IsNumeric(A1)', filterscope = 'CELL')

## BorderRange

Nałožuje sadźbu linijowych ramikow we wobłuku celow a wokoło njeho.

Potrjechene cele dadźa so z filtowej formlu a jeje wobłukom hódnotow postajić.

Wšě ramiki maja samsnu standardnu šěrokosć, stil a barbu. Do toho eksistowace ramikowe linije w potrjechenych celach, linkach abo špaltach so najprjedy zhašeja. Druhe cele we wobłuku njezměnjene wostawaja.

Zo byšće połny wobłuk zhašał, stajće border na "" a přeskočće argument filterformula.

### Syntaksa:

svc.BorderRange(targetrange: str, border: str, opt filterformula: str, opt filterscope: str)

### Parametry:

targetrange: Cela abo wobłuk jako znamješkowy rjećazk, na kotryž so maja ramiki nałožić.

border: Znamješkowy rjećazk, kotrež přichodne wulke znamješka kombinuje (druhe znamješka so ignoruja):

- B, L, T, R: wonkowne linije deleka, nalěwo, horjeka, naprawo.

- H, V: horicontalne, wertikalne nutřkowne linije.

- U, D: diagonale wotdeleka-horje, wothorjeka-dele.

filterformula: Formla Calc, kotraž so ma na podaty wobłuk nałožić, zo by postajiła, kotre cele su potrjechene. Podata formla dyrbi True abo False wróćić. Jeli tutón argument podaty njeje, su wšě cele we wobłuku potrjechene.

filterscope: Postaja, kak so filterformula na podaty wobłuk rozšěrja. Tutón argument je obligatoriski, jeli filterformula je podaty. Slědowace hódnoty so akceptuja:

- „CELL“: Formla, kotraž je w argumenće filterformula podata, so jónkróć za kóždu celu w range rozšěrja.

- „ROW“: Formla, kotraž je w argumenće filterformula podata, so jónkróć za kóždu linku w range rozšěrja.

- „COLUMN“: Formla, kotraž je w argumenće filterformula podata, so jónkróć za kóždu špaltu w range rozšěrja.

### Přikład:

##### W Basic

            ' Zaramikajće wšě numeriske cele z delnjej liniju, inkluziwnje horicontalne nutřkowne linije.
            doc.BorderRange("SheetX.A1:J30", "HB", filterformula := "=IsNumeric(A1)", filterscope := "CELL")

##### W Python

            # Zaramikajće wšě numeriske cele z delnjej liniju, inkluziwnje horicontalne nutřkowne linije.
            doc.BorderRange('SheetX.A1:J30', 'HB', filterformula = '=IsNumeric(A1)', filterscope = 'CELL')

## Charts

Wróći pak lisćinu z mjenami wšěch diagramowych objektow w datej tabeli abo w jednotliwej słužbowej instancy Chart.

- Jeli jenož sheetname je podate, so matriks znamješkowych rjećazkow na bazy nula wróći, kotraž mjena wšěch diagramow wobsahuje.

- Jeli chartname je podate, so jednotliwy objekt wróći, kotryž požadanemu diagramej wotpowěduje. Podaty diagram dyrbi eksistować.

### Syntaksa:

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

### Parametry:

sheetname: Mjeno tabele, z kotrejež so ma lisćina diagramow wuwołać, abo hdźež je podaty diagram.

chartname: Swójske mjeno diagramoweho objekta, kotryž so ma wróćić. Jeli diagram swójske mjeno nima, da so nutřkowne objektowe mjeno wužiwać. Jeli tutón argument faluje, so lisćina diagramowych mjenow w podatej tabeli wróći.

Wužiwajće bóčnicu Nawigator, zo byšće mjena přepruwował, kotrež su diagramam w kategoriji OLE-objekty připokazane.

### Přikład:

##### W Basic

Slědowacy přikład ličbu diagramowych objektow w "Sheet1" pokazuje.

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

Slědowacy přikład ma přistup k diagramej z mjenom "MyChart" w "Sheet1" a wudawa jeho typ.

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

##### W Python

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

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

## ClearAll

Zhaša wšón wobsah a wšě formaty dateho wobłuka.

Filtrowa formla da so podać, zo by postajił, kotre cele maja potrjechene być.

### Syntaksa:

svc.ClearAll(range: str, opt filterformula: str, opt filterscope: str)

### Parametry:

range: Wobłuk, kotryž so ma zhašeć, jako znamješkowy rjećazk.

filterformula: Formla Calc, kotraž so ma na podaty wobłuk nałožić, zo by postajiła, kotre cele su potrjechene. Podata formla dyrbi True abo False wróćić. Jeli tutón argument podaty njeje, su wšě cele we wobłuku potrjechene.

filterscope: Postaja, kak so filterformula na podaty wobłuk rozšěrja. Tutón argument je obligatoriski, jeli filterformula je podaty. Slědowace hódnoty so akceptuja:

- „CELL“: Formla, kotraž je w argumenće filterformula podata, so jónkróć za kóždu celu w range rozšěrja.

- „ROW“: Formla, kotraž je w argumenće filterformula podata, so jónkróć za kóždu linku w range rozšěrja.

- „COLUMN“: Formla, kotraž je w argumenće filterformula podata, so jónkróć za kóždu špaltu w range rozšěrja.

### Přikład:

##### W Basic

        ' Zhaša wšě cele we wobłuku SheetX.A1:J10
        oDoc.ClearAll("SheetX.A1:J10")
        ' Zhaša wšě cele we wobłuku SheetX.A1:J10, kotrež ma hódnotu, kotraž je wjetša hač 100
        oDoc.ClearAll("SheetX.A1:J10", "=SheetX.A1>100", "CELL")
        ' Zhaša wšě linki we wobłuku SheetX.A1:J10, kotrychž suma je wjetša hač 500
        oDoc.ClearAll("SheetX.A1:J10", "=SUM(SheetX.A1:J1)>500", "ROW")
        ' Zhaša wšě špalty we wobłuku SheetX.A1:J10, kotrychž suma je wjetša hač 500
        oDoc.ClearAll("SheetX.A1:J10", "=SUM(SheetX.A1:A10)>500", "COLUMN")

##### W Python

        myDoc.ClearAll("SheetX.A1:F10")
        myDoc.ClearAll("SheetX.A1:J10", "=SheetX.A1>100", "CELL")
        myDoc.ClearAll("SheetX.A1:J10", "=SUM(SheetX.A1:J1)>500", "ROW")
        myDoc.ClearAll("SheetX.A1:J10", "=SUM(SheetX.A1:A10)>500", "COLUMN")

## ClearFormats

Zhaša formaty a celowe stile w podatym wobłuku.

Filtrowa formla da so podać, zo by postajił, kotre cele maja potrjechene być.

### Syntaksa:

svc.ClearFormats(range: str, opt filterformula: str, opt filterscope: str)

### Parametry:

range: Wobłuk, kotrehož formaty a předłohi maja so zhašeć, jako znamješkowy rjećazk.

filterformula: Formla Calc, kotraž so ma na podaty wobłuk nałožić, zo by postajiła, kotre cele su potrjechene. Podata formla dyrbi True abo False wróćić. Jeli tutón argument podaty njeje, su wšě cele we wobłuku potrjechene.

filterscope: Postaja, kak so filterformula na podaty wobłuk rozšěrja. Tutón argument je obligatoriski, jeli filterformula je podaty. Slědowace hódnoty so akceptuja:

- „CELL“: Formla, kotraž je w argumenće filterformula podata, so jónkróć za kóždu celu w range rozšěrja.

- „ROW“: Formla, kotraž je w argumenće filterformula podata, so jónkróć za kóždu linku w range rozšěrja.

- „COLUMN“: Formla, kotraž je w argumenće filterformula podata, so jónkróć za kóždu špaltu w range rozšěrja.

### Přikład:

##### W Basic

          oDoc.ClearFormats("SheetX.*")

##### W Python

        myDoc.ClearFormats("SheetX.*")

Čitajće metodowu dokumentaciju ClearAll za přikłady, kak so argumentaj filterformula a filterscope wužiwatej.

## ClearValues

Zhaša hódnoty a formle w datym wobłuku.

Filtrowa formla da so podać, zo by postajił, kotre cele maja potrjechene być.

### Syntaksa:

svc.ClearValues(range: str, opt filterformula: str, opt filterscope: str)

### Parametry:

range: Wobłuk, kotrehož hódnoty a formle maja so zhašeć, jako znamješkowy rjećazk.

filterformula: Formla Calc, kotraž so ma na podaty wobłuk nałožić, zo by postajiła, kotre cele su potrjechene. Podata formla dyrbi True abo False wróćić. Jeli tutón argument podaty njeje, su wšě cele we wobłuku potrjechene.

filterscope: Postaja, kak so filterformula na podaty wobłuk rozšěrja. Tutón argument je obligatoriski, jeli filterformula je podaty. Slědowace hódnoty so akceptuja:

- „CELL“: Formla, kotraž je w argumenće filterformula podata, so jónkróć za kóždu celu w range rozšěrja.

- „ROW“: Formla, kotraž je w argumenće filterformula podata, so jónkróć za kóždu linku w range rozšěrja.

- „COLUMN“: Formla, kotraž je w argumenće filterformula podata, so jónkróć za kóždu špaltu w range rozšěrja.

### Přikład:

##### W Basic

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

##### W Python

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

Čitajće metodowu dokumentaciju ClearAll za přikłady, kak so argumentaj filterformula a filterscope wužiwatej.

## ColorizeRange

Definuje prědkowe a pozadkowe barby wobłuka celow.

Potrjechene cele dadźa so z filtowej formlu a jeje wobłuk hódnotow postajić.

### Syntaksa:

svc.ColorizeRange(targetrange: str, opt foreground: int, opt background: int, opt filterformula: str, opt filterscope: str)

### Parametry:

targetrange: cela abo wobłuk jako znamješkowy rjećazk, w kotrymž so maja cele (zaso) zabarbić.

foreground: prědkowa barba jako wudaće funkcije RGB(). Negatiwna hódnota prědkowu barbu zhaša

background: pozadkowa barba jako wudaće funkcije RGB(). Negatiwna hódnota pozadkowu barbu zhaša

filterformula: Formla Calc, kotraž so ma na podaty wobłuk nałožić, zo by postajiła, kotre cele su potrjechene. Podata formla dyrbi True abo False wróćić. Jeli tutón argument podaty njeje, su wšě cele we wobłuku potrjechene.

filterscope: Postaja, kak so filterformula na podaty wobłuk rozšěrja. Tutón argument je obligatoriski, jeli filterformula je podaty. Slědowace hódnoty so akceptuja:

- „CELL“: Formla, kotraž je w argumenće filterformula podata, so jónkróć za kóždu celu w range rozšěrja.

- „ROW“: Formla, kotraž je w argumenće filterformula podata, so jónkróć za kóždu linku w range rozšěrja.

- „COLUMN“: Formla, kotraž je w argumenće filterformula podata, so jónkróć za kóždu špaltu w range rozšěrja.

### Přikład:

##### W Basic

            ' Wočerwjeni numeriske cele.
            doc.ColorizeRange("SheetX.A1:J30", background := RGB(255, 0, 0), filterformula := "=IsNumeric(A1), filterscope := "CELL")

##### W Python

            # Wočerwjeni numeriske cele.
            basic = CreateScriptService('basic')
            doc.ColorizeRange('SheetX.A1:J30', background = basic.RGB(255, 0, 0), filterformula = '=IsNumeric(A1)', filterscope = 'CELL')

## CompactLeft

Zhaša špalty podateho wobłuka, kotrež filtrej wotpowěduja, kotryž je jako Calc zwuraznjeny. Filter so na kóždu špaltu nałožuje, zo by rozsudźił, hač so špalta zhaša abo nic.

Zhašana špalta da so na wysokosć podateho wobłuka wobmjezować abo wysokosć cyłeje tabele wopřijeć. Přez to so cyłe špalty zhašeja.

Tuta metoda znamješkowy rjećazk z wobłukowej adresu zhusćeneho wobłuka wróći. Jeli wšě špalty so zhašeja, so prózdny znamješkowy rjećazk wróći.

Jeli wobłuk celow je wubrany, so wuwołanje tuteje metody na wuběr njewuskutkuje.

### Syntaksa:

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

### Parametry:

range: Wobłuk, z kotrehož so špalty zhašeja, jako znamješkowy rjećazk.

wholecolumn: Jeli tute nastajenje je na True stajene, so cyła špalta z tabele zhaša. Standardna hódnota je False, štož woznamjenja, zo so zhašana špalta na wysokosć podateho wobłuka wobmjezuje.

filterformula: Filter, kotryž so ma na kóždu špaltu nałožić, zo by postajił, hač so zhaša abo nic. Filter so jako formla Calc zwuraznja, kotraž měła so na prěnju špaltu nałožić. Hdyž formla True za špaltu wróća, so ta špalta zhaša. Standardny filter wšě prózdne špalty zhaša.

Připušćmy na přikład, zo so wobłuk A1:J200 wuběra (wysokosć = 200), da standardna formla je =(COUNTBLANK(A1:A200)=200). To rěka, zo, jeli wšě 200 celow su prózdne w prěnjej špalće (špalta A), so špalta zhaša. Dźiwajće na to, zo so formla jenož nastupajo prěnju špaltu zwuraznja. Internje metoda CompactLeft tutu formlu za wšě zbytne špalty generalizuje.

Funkcije Calc, kotrež so w argumenće filterformula wužiwaja, dyrbja so z pomocu swojich jendźelskich mjenow zwuraznić. Wopytajće wikijowu stronu Lisćina funkcijow Calc za dospołnu lisćinu funkcijow Calc jendźelsce.

### Přikład:

##### W Basic

        ' Wšě prózdne špalty we wobłuku G1:L10 z Sheet1 zhašeć
        newrange = oDoc.CompactLeft("Sheet1.G1:L10")
        ' Slědowacy přikład je podobny, ale cyła špalta so z tabele zhaša
        newrange = oDoc.CompactLeft("Sheet1.G1:L10", WholeColumn := True)
        ' Zhaša wšě špalty, hdźež prěnja linka je z "X" markěrowana
        newrange = oDoc.CompactLeft("Sheet1.G1:L10", FilterFormula := "=(G1=""X"")")
        ' Zhaša wšě špalty, hdźež suma hódnotow w špalće je njeruna
        newrange = oDoc.CompactLeft("Sheet1.G1:L10", FilterFormula := "=(MOD(SUM(G1:G10);2)=1)")

##### W Python

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

## CompactUp

Zhaša linkow podateho wobłuka, kotrež filtrej wotpowěduja, kotryž je jako formla Calc zwuraznjeny. Filter so na kóždu linku nałožuje, zo by rozsudźił, hač so linka zhaša abo nic.

Zhašane linki dadźa so na šěrokosć podateho wobłuka wobmjezować abo šěrokosć cyłeje tabele wopřijeć. Přez to so cyłe linki zhašeja.

Tuta metoda znamješkowy rjećazk z wobłukowej adresu zhusćeneho wobłuka wróći. Jeli wšě linki so zhašeja, so prózdny znamješkowy rjećazk wróći.

Jeli wobłuk celow je wubrany, so wuwołanje tuteje metody na wuběr njewuskutkuje.

### Syntaksa:

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

### Parametry:

range: Wobłuk, z kotrehož so linki zhašeja, jako znamješkowy rjećazk.

wholerow: Jeli tute nastajenje je na True stajene, so cyła linka z tabele zhaša. Standardna hódnota je False. štož rěka, zo zhašana linka so na šěrokosć podateho wobłuka wobmjezuje.

filterformula: Filter, kotryž so ma na kóždu linku nałožić, zo by postajił, hač so linka zhaša abo nic. Filter so jako formla Calc zwuraznja, kotraž so měła na prěnju linku nałožić. Hdyž formla True za linku wróći, so ta linka zhaša. Standardny filter wšě prózdne linki zhaša.

Připušćmy na přikład, zo so wobłuk A1:J200 wuběra (šěrokosć = 10), da standardna formla je =(COUNTBLANK(A1:J1)=10). To rěka, zo, jeli wšě 10 celow su prózdne w prěnjej lince (linka 1), so linka zhaša. Dźiwajće na to, zo so formla jenož nastupajo prěnju linku zwuraznja. Internje metoda CompactUp tutu formlu za wšě zbytne linki generalizuje.

Funkcije Calc, kotrež so w argumenće filterformula wužiwaja, dyrbja so z pomocu swojich jendźelskich mjenow zwuraznić. Wopytajće wikijowu stronu Lisćina funkcijow Calc za dospołnu lisćinu funkcijow Calc jendźelsce.

### Přikład:

##### W Basic

        ' Wšě prózdne linki we wobłuku G1:L10 ze Sheet1 zhašeć
        newrange = oDoc.CompactUp("Sheet1.G1:L10")
        ' Slědowacy přikład je podobny, ale cyła linka so z tabele zhaša
        newrange = oDoc.CompactUp("Sheet1.G1:L10", WholeRow := True)
        ' Zhaša wšě linki, hdźež prěnja špalta je z "X" markěrowana
        newrange = oDoc.CompactUp("Sheet1.G1:L10", FilterFormula := "=(G1=""X"")")
        ' Zhaša wšě linki, hdźež suma hódnotow w lince je njeruna
        newrange = oDoc.CompactUp("Sheet1.G1:L10", FilterFormula := "=(MOD(SUM(G1:L1);2)=1)")

##### W Python

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

## CopySheet

Kopěruje podatu tabelu před eksistowacu tabelu abo na kónc lisćiny tabelow. Tabela, kotraž so ma kopěrować, móže we wočinjenym dokumenće Calc wobsahowana być. Wróći True, jeli kopěrowanje je wuspěšne.

### Syntaksa:

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

### Parametry:

sheetname: Mjeno tabele, kotraž so ma jako znamješkowy rjećazk abo jeje referenca jako objekt kopěrować.

newname: Mjeno tabele, kotraž so ma zasadźić. Mjeno njesmě so w dokumenće wužiwać.

beforesheet: Mjeno (znamješkowy rjećazk) abo indeks (numeriski, započinajo z 1) tabele, před kotrejž so ma kopěrowana tabela zasadźić. Tutón argument je opcionalny a standardne zadźerženje je, zo so kopěrowana tabela na poslednjej poziciji přidawa.

### Přikład:

##### W Basic

Slědowacy přikład kopiju tabele "SheetX" wutworja a pozicioněruje ju jako poslednju tabelu w aktualnym dokumenće. Mjeno kopěrowaneje tabele je "SheetY".

        Dim oDoc as Object
        ' Wotwołuje objekt Document aktiwneho wokna
        Set oDoc = CreateScriptService("Calc")
        oDoc.CopySheet("SheetX", "SheetY")

Slědowacy přikład "SheetX" z "FileA.ods" kopěruje a zasadźuje ju na poslednjej poziciji "FileB.ods" z mjenom "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")

##### W Python

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

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

Zo byšće tabele mjez wočinjenymi dokumentami kopěrował, wužiwajće CopySheet. Zo byšće tabele z dokumentow kopěrował, kotrež su začinjene, wužiwajće CopySheetFromFile.

## CopySheetFromFile

Kopěruje podatu tabelu ze začinjeneho dokumenta Calc a zasadźuje ju před eksistowacej tabelu abo na kóncu lisćiny tabelow dataje, na kotruž so přez objekt Document wotkazuje.

Jeli dataja njeeksistuje, zmylk nasta. Jeli dataja płaćiwa dataja Calc njeje, so prózdna tabela zasadźi. Jeli žórłowa tabela w zapodawanskej dataji njeeksistuje, so zmylkowa zdźělenka horjeka w nowo zasadźenej tabeli zasadźi.

### Syntaksa:

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

### Parametry:

filename: Identifikuje dataju, kotraž so ma wočinić. Dyrbi so po notaciji SF_FileSystem.FileNaming měć. Dataja njesmě z hesłom škitana być.

sheetname: Mjeno tabele, kotraž so ma kopěrować, jako znamješkowy rjećazk.

newname: Mjeno kopěrowaneje tabele, kotraž so ma do dokumenta zasadźić. Mjeno njesmě so w dokumenće wužiwać.

beforesheet: Mjeno (znamješkowy rjećazk) abo indeks (numeriski, započinajo z 1) tabele, před kotrejž so ma kopěrowana tabela zasadźić. Tutón argument je opcionalny a standardne zadźerženje je, zo so kopěrowana tabela na poslednjej poziciji přidawa.

### Přikład:

Slědowacy přikła "SheetX" z "myFile.ods" kopěruje a zasadźuje ju do dokumenta, kotryž so přez "oDoc" referencuje, jako "SheetY" na prěnjej poziciji.

##### W Basic

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

##### W Python

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

## CopyToCell

Kopěruje podaty žórłowy wobłuk (hódnoty, formle a formaty) do ciloweho wobłuka abo ciloweje cele. Metoda zadźerženje opceracije Kopěrować/Zasadźić z wobłuka do jednotliweje cele reprodukuje.

Wróća znamješkowy rjećazk, kotryž změnjeny celowy wobłuk reprezentuje. Wulkosć změnjeneho wobłuka so dospołnje přez wulkosć žórłoweho wobłuka postaja.

Žórłowy wobłuk móže k druhemu wočinjenemu dokumentej słušeć.

### Syntaksa:

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

### Parametry:

sourcerange: Žórłowy wobłuk jako znamješkowy rjećazk, hdyž k samsnemu dokumentej słuša, abo jako referenca, hdyž k druhemu wočinjenemu dokumentej Calc słuša.

destinationcell: Cilowa cela, hdźež so kopěrowany wobłuk zasadźi, jako znamješkowy rjećazk. Jeli wobłuk je podaty, so jenož jeho cela horjeka nalěwo wobkedźbuje.

### Přikład:

##### W Basic

Přichodny přikład je, hdźež so žórło a cil stej w samsnej dataji:

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

Slědowacy přikład ilustruje, kak móžeće wobłuk z druheho wočinjeneho dokumenta Calc kopěrować:

        Dim ui as Variant : ui = CreateScriptService("UI")
        Dim oDocSource As Object, oDocDestination As Object
        ' Žórłowy dokument w pozadku wočinić (schowany)
        Set oDocSource = ui.OpenDocument("C:\SourceFile.ods", Hidden := True, ReadOnly := True)
        Set oDocDestination = CreateScriptService("Calc")
        oDocDestination.CopyToCell(oDocSource.Range("Sheet1.C2:C4"), "SheetT.A5")
        ' Njezabywajće žórłowy dokument začinić, dokelž je so jako schowany wočinić
        oDocSource.CloseDocument()

##### W Python

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

Zo byšće Kopěrować/Zasadźić z wobłuka do jednotliweje cele simulował, wužiwajće CopyToCell. Zo byšće Kopěrować/Zasadźić z wobłuka do wjetšeho wobłuka simulował (ze samsnymi celemi, kotrež so wjacekróć replikuja), wužiwajće CopyToRange.

## CopyToRange

Kopěruje podaty žórłowy wobłuk dele a/abo naprawo (hódnoty, formle a formaty) do ciloweho wobłuka. Metoda zadźerženje operacije Kopěrować/Zasadźić ze žórłoweho wobłuka do wjetšeho ciloweho wobłuka imituje.

- Jeli wysokosć (abo šěrokosć) ciloweho wobłuka je > 1 hač linka (abo špalta), dyrbi wysokosć (abo šěrokosć) žórła <= hač wysokosć (abo šěrokosć) cila być. Hewak so ničo njestanje.

- Jeli wysokosć (abo šěrokosć) cila je = 1, so cil dele (abo doprawa) hač do wysokosće (abo šěrokosće) žórłoweho wobłuka rozšěrjuje.

Metoda znamješkowy rjećazk wróći, kotryž změnjeny celowy wobłuk reprezentuje.

Žórłowy wobłuk móže k druhemu wočinjenemu dokumenta słušeć.

### Syntaksa:

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

### Parametry:

sourcerange: Žórłowy wobłuk jako znamješkowy rjećazk, hdyž k samsnemu dokumentej słuša, abo jako referenca, hdyž k druhemu wočinjenemu dokumentej Calc słuša.

destinationrange: Cil kopěrowaneho celoweho wobłuka, jako znamješkowy rjećazk.

### Přikład:

##### W Basic

W samsnym dokumenće kopěrować:

        oDoc.CopyToRange("SheetX.A1:F10", "SheetY.C5:J5")
        ' Wróći wobłukowy znamješkowy rjećazk: "$SheetY.$C$5:$J$14"

Z jedneje dataje do druheje kopěrować:

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

##### W Python

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

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

## CreateChart

Wutworja nowy diagramowy objekt, kotryž daty w podatym wobłuku pokazuje. Wróćeny diagramowy objekt da so z pomocu słužby Chart dale manipulować.

### Syntaksa:

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

### Parametry:

chartname: Swójske mjeno diagrama, kotryž so ma wutworić. Mjeno dyrbi jónkróćne w samsnej tabeli być.

sheetname: Mjeno tabele, hdźež so diagram placěruje.

range: Wobłuk, kotryž so ma jako datowe žórło za diagram wužiwać. Wobłuk móže so na někajku tabelu dokumenta Calc poćahować.

columnheader: Hdyž True, so najwyša linka wobłuka jako popisy za kategorijowu wósku abo legendu wužiwa (standard = False).

rowheader: Hdyž True, so špalta wobłuka cyle nalěwo jako popisy za kategorijowu wósku abo legendu wužiwa (standard = False).

### Přikład:

Slědowace přikłady w Basic a Python diagram z pomocu datow wutworjeja, kotrež su we wobłuku "A:B5" tabele "Sheet1" wobsahowane a placěruja diagram w tabeli "Sheet2".

##### W Basic

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

##### W Python

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

Čitajće stronu pomocy wo słužbje Chart ScriptForge, zo byšće wjace wo tym zhonił, kak móžeće diagramowe objekty manipulować. Je móžno, kajkosće jako diagramowy typ, diagramowe a wóskowe titule a diagramowu poziciju změnić.

## CreatePivotTable

Wutworja nowu pivotowu tabelu z kajkosćemi, kotrež su so přez argumenty definowali, kotrež su so metodźe přepodali.

Mjeno dyrbi so za pivotowu tabelu podać. Jeli pivotowu tabelu z samsnym mjenom hižo w cilowej tabeli eksistuje, so pivotowa tabela bjez warnowanja wuměni.

Tuta metoda znamješkowy rjećazk wróća, kotryž wobłuk wobsahuje, hdźež so nowa pivotowa tabela placěruje.

### Syntaksa:

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

### Parametry:

pivottablename: Swójske mjeno noweje pivotoweje tabele.

sourcerange: Wobłuk, kotrež hrube daty jako znamješkowy rjećazk wobsahuje. Připušća so, zo prěnja linka pólne mjena wobsahuje, kotrež so přez pivotowu tabelu wužiwaja.

targetcell: Cela horjeka nalěwo, hdźež so nowa pivotowa tabela placěruje. Jeli wobłuk je podaty, so jenož cela horjeka nalěwo wobkedźbuje.

datafields: Móže pak jednotliwy znamješkowy rjećazk pak matriks być, kotraž znamješkowe rjećazki wobsahuje, kotrež pólne mjena a funkcije, kotrež so maja nałožić. Hdyž matriks je podata, dyrbi na syntaksu Array("fieldname[;function]", …) dźiwać.

Dowolene funkcije su: Sum, Count, Average, Max, Min, Product, CountNums, StDev, StDevP, Var, VarP a Median. Mjena funkcijow dyrbja so w jendźelšćinje podać. Hdyž wšě hódnoty su numeriske, Sum je standardna funkcija, hewak je Count standardna funkcija.

rowfields: Jednotliwy znamješkowy rjećazk z pólnymi mjenami, kotrež so jako linki pivotoweje tabele wužiwaja.

columnfields: Jednotliwy znamješkowy rjećazk abo matriks z pólnymi mjenami, kotrež so jako špalty pivotoweje tabele wužiwaja.

filterbutton: Postaja, hač filtrowe tłóčatko so nad pivotowej tabelu pokaza (standard = True).

rowtotals: Podawa, hač so separatna špalta za linkowe sumy pivotowej tabeli přidawa (standard = True).

columntotals: Podawa, hač so separatna linka za špaltowe sumy pivotowej tabeli přidawa (standard = True).

### Přikład:

##### W Basic

        Dim vData As Variant, oDoc As Object, ui As Object, sTable As String, sPivot As String
        Set ui = CreateScriptService("UI")
        Set oDoc = ui.CreateDocument("Calc")
        vData = Array(Array("Item", "State", "Team", "2002", "2003", "2004"), _
            Array("Books", "Michigan", "Jean", 14788, 30222, 23490), _
            Array("Candy", "Michigan", "Jean", 26388, 15641, 32849), _
            Array("Pens", "Michigan", "Jean", 16569, 32675, 25396), _
            Array("Books", "Michigan", "Volker", 21961, 21242, 29009), _
            Array("Candy", "Michigan", "Volker", 26142, 22407, 32841))
        sTable = oDoc.SetArray("A1", vData)
        sPivot = oDoc.CreatePivotTable("PT1", sTable, "H1", _
            Array("2002", "2003;count", "2004;average"), _ ' Tři datowe pola
            "Item", _ ' Jednotliwe linkowe polo
            Array("State", "Team"), False) ' Dwě špaltowej poli

##### W Python

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

Zo byšće wjace wo pivotowych tabelach w LibreOfficeDev Calc zhonił, čitajće stronu pomocy Pivotowa tabela.

## DAvg, DCount, DMax, DMin and DSum

Nałožuje funkcije Average, Count, Max, Min a Sum kóždy króć na wšě cele, kotrež numeriske hódnoty w datym wobłuku wobsahuja, nimo hódnoty z filtrowanych a schowanych linkow a schowanych špaltow, runje tak kaž za funkcije statusoweje lajsty.

### Syntaksa:

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

### Parametry:

range: Wobłuk, na kotryž so ma funkcija nałožić, jako znamješkowy rjećazk.

### Přikład:

Slědowacy přikład funkciju Sum na wobłuk "A1:A1000" tuchwilu wubraneje tabele nałožuje:

##### W Basic

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

##### W Python

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

Cele w datym wobłuku, kotrež tekst wobsahuja, so přez wšě tute funkcije ignoruja. Metoda DCount na přikład njebudźe cele z tekstom ličić, jenož numeriske cele.

## DecorateFont

Podawa jednore a lochke kajkosće pisma, kotrež so ma we wobłuku celow wužiwać.

Potrjechene cele dadźa so z filtowej formlu a jeje wobłuk hódnotow postajić.

Zo byšće kompleksniše pismowe dekoracije nałožił, nałožće zwučene a mnoholičbne kajkosće UNO, kotrež su w tykačce XCell abo XCEllRange k dispoziciji.

### Syntaksa:

svc.DecorateFont(targetrange: str, opt fontname: str, opt fontsize: int, opt decoration: str, opt filterformula: str, opt filterscope: str)

### Parametry:

targetrange: Cela abo wobłuk jako znamješkowy rjećazk, w kotrymž celowe pisma maja so znowa wuznamjenić.

fontname: Mjeno pisma, kotrež so ma wužiwać. Mjeno wubrane njeje. Standard = žana změna.

fontsize: Wulkosć pisma w pikselach. Standard = žana změna.

decoration: Znamješkowy rjećazk, kotryž 1 abo wjace z přichodnych znamješkow kombinuje (druhe znamješka so ignoruja). Standard = žana změna:

- B, U, I, S: tučny, poděmórnyć, kursiwny, přešmórnyć.

filterformula: Formla Calc, kotraž so ma na podaty wobłuk nałožić, zo by postajiła, kotre cele su potrjechene. Podata formla dyrbi True abo False wróćić. Jeli tutón argument podaty njeje, su wšě cele we wobłuku potrjechene.

filterscope: Postaja, kak so filterformula na podaty wobłuk rozšěrja. Tutón argument je obligatoriski, jeli filterformula je podaty. Slědowace hódnoty so akceptuja:

- „CELL“: Formla, kotraž je w argumenće filterformula podata, so jónkróć za kóždu celu w range rozšěrja.

- „ROW“: Formla, kotraž je w argumenće filterformula podata, so jónkróć za kóždu linku w range rozšěrja.

- „COLUMN“: Formla, kotraž je w argumenće filterformula podata, so jónkróć za kóždu špaltu w range rozšěrja.

### Přikład:

##### W Basic

            ' Změni wulkosćpisma a nałožuje kajkosći tučny a podšmórnyć na numeriske cele.
            doc.DecorateFont("SheetX.A1:J30", fontsize := 15, decoration := "Bold,Underline", filterformula := "=IsNumeric(A1)", filterscope := "CELL")

##### W Python

            # Změni wulkosćpisma a nałožuje kajkosći tučny a podšmórnyć na numeriske cele.
            doc.DecorateFont('SheetX.A1:J30', fontsize = 15, decoration = 'Bold,Underline', filterformula = '=IsNumeric(A1)', filterscope = 'CELL')

## DefineName

Definuje nowe mjeno w dźěłowym łopjenje na globalnej abo tabelowej runinje. Jeli mjeno hižo eksistuje, budźe so bjez warnowanja přepisować. Po wutworjenju da so nowe mjeno w formlach wužiwać. Wróći True, jeli wuspěšne.

Wužiwajće kajkosć DefinedNames, zo byšće eksistowace pomjenowane wobłuki přepruwował.

### Syntaksa:

svc.DefineName(definedname: str, value: any, opt sheetname: str): boolean

### Parametry:

definedname: Mjeno, kotrež so ma bjez warnowanja wutworić abo změnić. Dźiwajće na to, zo homonymy móža eksistować, ale nic w samsnej tabeli a nic na globalnej runinje.

vaue: Nowe mjeno jako:

- wobłukowy poćah jako znamješkowy rjećazk, husto jednotliwa cela

- skalarowa hódnota jako ličba abo znamješkowy rjećazk

- formla, kotraž so ze znamješkom "=" započina

Hdyž Value je wobłuk, so cela horjeka nalěwo jako referencna cela nastaja.

sheetname: Definowany wobłuk mjenow je tón podateje tabele. Skrótšenka „~“ so akceptuje.

### Přikład:

##### W Basic

            doc.DefineName("NewName", Sheet := "Sheet3", Value := "H2")

##### W Python

            doc.DefineName('NewName', sheet = 'Sheet3', value = 'H2')

## ExportRangeToFile

Eksportuje podaty wobłuk jako wobraz abo PDF-dataju.

Tuta metoda True wróći, jeli cilowa dataja je so wuspěšnje składowała.

Schowane linki abo špalty w podatym wobłuku so do ciloweje dataje njeeksportuja.

### Syntaksa:

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

### Parametry:

range: Tabelowe mjeno abo celowy wobłuk, kotryž so ma eksportować, jako znamješkowy rjećazk.

filename: Mjeno dataje, kotraž so ma składować. Dyrbi so notacije SF_FileSystem.FileNaming dźeržeć.

imagetype: Identifikuje typ ciloweje dataje. Móžne hódnoty su "jpeg", "pdf" (standard) a "png".

overwrite: Hdyž tute nastajenje je na True stajene, da so cilowa dataja přepisać (standard = False).

### Přikład:

##### W Basic

        ' Eksportuje cyłu tabelu jako PDF-dataju
        oDoc.ExportRangeToFile("SheetX", "C:\Temp\image.pdf")
        ' Eksportuje wobłuk jako PNG-dataju a přepisuje cilowu dataju, jeli eksistuje
        oDoc.ExportRangeToFile("SheetX.A1:D10", "C:\Temp\image.png", "png", Overwrite := True)

##### W Python

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

## FormatRange

Podawa podaty ličbny format na celu abo wobłuk celow.

Potrjechene cele dadźa so z filtrowej formlu a jeje wobłuk postajić.

### Syntaksa:

svc.FormatRange(targetrange: str, numberformat: str, opt locale: str, opt filterformula: str, opt filterscope: str)

### Parametry:

targetrange: Cela abo wobłuk jako znamješkowy rjećazk, kotryž ma format dóstać.

numberformat: Format, kotryž so ma nałožić, jako znamješkowy rjećazk.

locale: Kombinacija rěč-KRAJ, zo by wužitu narodnu šemu podała. Standardn narodna šema je wudaće kajkosće platform.FormatLocale

filterformula: Formla Calc, kotraž so ma na podaty wobłuk nałožić, zo by postajiła, kotre cele su potrjechene. Podata formla dyrbi True abo False wróćić. Jeli tutón argument podaty njeje, su wšě cele we wobłuku potrjechene.

filterscope: Postaja, kak so filterformula na podaty wobłuk rozšěrja. Tutón argument je obligatoriski, jeli filterformula je podaty. Slědowace hódnoty so akceptuja:

- „CELL“: Formla, kotraž je w argumenće filterformula podata, so jónkróć za kóždu celu w range rozšěrja.

- „ROW“: Formla, kotraž je w argumenće filterformula podata, so jónkróć za kóždu linku w range rozšěrja.

- „COLUMN“: Formla, kotraž je w argumenće filterformula podata, so jónkróć za kóždu špaltu w range rozšěrja.

### Přikład:

##### W Basic

            ' Formatěruje jenož cele, kotrež numerisku hódnotu wobsahuja.
            doc.FormatRange("SheetX.A1:J30", "0,00E+00", filterformula := "=IsNumeric(A1)", filterscope := "CELL")

##### W Python

            # Formatěruje jenož cele, kotrež numerisku hódnotu wobsahuja.
            doc.FormatRange('SheetX.A1:J30', '0,00E+00', filterformula = '=IsNumeric(A1)', filterscope = 'CELL')

## Forms

Wotwisujo wot podatych parametrow, tuta metoda wróći:

- Na nuli bazowacu matriks (abo tupel w Python) z mjenami wšěch formularow, kotrež su w datej tabeli wobsahowane (jeli argument form faluje)

- Słužbowu instancu SFDocuments.Form, kotraž formular reprezentuje, kotryž je jako argument podaty.

### Syntaksa:

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

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

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

### Parametry:

sheetname: Mjeno tabele jako znamješkowy rjećazk, z kotrejež so formular wotwołuje.

form: Mjeno abo indeks, kotryž formularej wotpowěduje, kotryž je w podatej tabeli składowany. Jeli tutón argument faluje, metoda lisćinu z mjenami wšěch formularow wróći, kotrež su w tabeli k dispoziciji.

### Přikład:

W slědowacych přikładach prěnja linka mjena wšěch formularow dóstawa, kotrež su w tabeli "Sheet1" składowane a druha linka objekt Form formulara z mjenom "Form_A" wotwołuje, kontryž je w tabeli "Sheet1" składowany:

##### W Basic

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

##### W Python

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

## GetColumnName

Přetworja špaltowe čisło mjez 1 a 1024 we wotpowědnym pismiku (špalta 'A', 'B', …, 'AMJ'). Jeli date špaltowe čisło je zwonka dowoleneho wobłuka, so znamješkowy rjećazk z dołhosću nul wróći.

### Syntaksa:

svc.GetColumnName(columnnumber: int): str

### Parametry:

columnnumer: Špaltowe čisło jako cyłoličbowa hódnota w interwalu 1 … 16384.

### Přikład:

##### W Basic

Pokazuje zdźělenske polo z mjenom třećeje špalty, kotrež je "C" po standardźe.

        MsgBox oDoc.GetColumnName(3)

##### W Python

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

Dowolena maksimalna ličba špaltow w tabeli Calc je 16384.

## GetFormula

Wobstara so formle, kotrež su w datym celowym wobłuku jako jednotliwy znamješkowy rjećazk, jednodimensionalna abo dwudimensionalna matriks znamješkowych rjećazkow.

Mjena funkcijow Calc, kotrež so we wróćenych formlach wužiwaja, so jendźelsce zwuraznjeja. Wopytajće wikijowu stronu Lisćina funkcijow Calc za dospołnu lisćinu funkcijow Calc jendźelsce.

### Syntaksa:

svc.GetFormula(range: str): any

### Parametry:

range: Wobłuk, z kotrehož so maja formle wobstarać, jako znamješkowy rjećazk.

### Přikład:

##### W Basic

Slědowacy přikład matriks tři króć 2 z formlemi we wobłuku "A1:B3" (3 linki króć 2 špalće) wróći:

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

##### W Python

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

## GetValue

Wobstara hódnoty, kotrež w datym celowym wobłuku jako jednotliwa hódnota, jednodimensionalna abo dwudimensionalna matriks. Wšě hódnoty su pak typa double pak znamješkowe rjećazki.

### Syntaksa:

svc.GetValue(range: str): any

### Parametry:

range: Wobłuk, z kotrehož so hódnota wobstaruja, jako znamješkowy rjećazk.

### Přikład:

##### W Basic

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

##### W Python

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

Jeli cela datum wobsahuje, so ličba wróći, kotraž tutomu datumej wotpowěduje. Zo byšće numeriske hódnoty do datumow w skriptach Basic přetworił, wužiwajće zatwarjenu funkciju Basic CDate. Wužiwajće w skriptach Python funkciju CDate ze słužby Basic.

## ImportFromCSVFile

Importuje wobsah z CSV sformatěrowaneje tekstoweje dataje a placěruje jón do dateje ciloweje cele.

Z ciloweho wobłuka so wšón wobsah a formaty zhašeja, prjedy hač so wobsah z CSV-dataje zasadźuje. Wulkosć změnjeneho wobłuka so dospołnje přez wobsah zapodawanskeje dataje postaja.

Metoda znamješkowy rjećazk wróći, kotryž změnjeny celowy wobłuk reprezentuje.

### Syntaksa:

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

### Parametry:

filename: Identifikuje dataju, kotraž so ma wočinić. Dyrbi notaciji SF_FileSystem.FileNaming wotpowědować.

destinationcell: Cilowa cela, do kotrejež so maja importowane daty zasadźić, jako znamješkowy rjećazk. Jeli je město toho wobłuk podaty, so jenož cela horjeka nalěwo wobkedźbuje.

filteroptions: Argumenty za zapodawanski filter CSV. Standardny filter wot slědowacych připušćenjow wuchadźa:

- Kodowanje zapodawanskeje dataje je UTF8.

- Pólne dźělatko je koma, semikolon abo tabulatorowe znamješko.

- Dźělatko znamješkowych rjećazkow su dwójne pazorki (").

- Wšě linki su wobsahowane.

- Znamješkowe rjećazki w pazorkach su jako tekst sformatěrowane.

- Wosebite ličby so spóznawaja.

- Připušća so, zo wšě špalty su teksty, chibazo spóznawaja so jako płaćiwe ličby.

- Rěč je Jendźelšćina/US, štož rěka, zo decimalne dźělatko je "." a tysacowkowe dźělatko je ",".

### Přikład:

##### W Basic

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

##### W Python

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

Zo byšće wjace wo filtrowych nastajenjach CSV zhonił, čitajće stronu pomocy wo filtrowych nastajenjach CSV.

## ImportFromDatabase

Importuje wobsah tabele datoweje banki, wotprašowanja abo wuslědkoweje sadźby, t. r. wuslědk přikaza SELECT SQL a zasadźuje jón do ciloweje cele.

Z ciloweho wobłuka so wšón wobsah a formaty zhašeja, prjedy hač so importowany wobsah zasadźuje. Wulkosć změnjeneho wobłuka so dospołnje přez wobsah w tabeli abo wotprašowanju postaja.

Metoda True wróći, hdyž import běše wuspěšny.

### Syntaksa:

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

### Parametry:

filename: Identifikuje dataju, kotraž so ma wočinić. Dyrbi notaciji SF_FileSystem.FileNaming wotpowědować.

registationname: Mjeno, kotrež so ma wužiwać, zo by datowu banku w registrje datowych bankow namakało. Tutón argument so ignoruje, jeli filename je podate.

destinationcell: Cil importowanych datow, jako znamješkowy rjećazk. Jeli wobłuk je podaty, so jenož cela horjeka nalěwo wobkedźbuje.

sqlcommand: Mjeno tabele abo wotprašowanja (bjez wobdawacych pazorkow abo róžkatych spinkow) abo instrukcija SELECT SQL, w kotrejž su mjena tabelow a pólne mjena přez róžkate spinki abo pazorki wobdate, zo by so čitajomnosć polěpšiła.

directsql: Hdyž hódnota nastajenja je True, so přikaz SQL na jednotku datoweje banki bjez analyzy do toho sćele. Standard je False. Argument so za tabele ignoruje. Za wotprašowanja so te nastajenje nałožuje, kotrež je so postajiło, hdyž je so wotprašowanje definowało.

### Přikład:

##### W Basic

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

##### W Python

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

### ImportStylesFromFile

This method loads all the styles belonging to one or more style families from a closed file into the actual document. The actual document must be a Calc or a Writer document.

Are always imported together:

- ParagraphStyles and CharacterStyles

- NumberingStyles and ListStyles

Returns True if styles were successfully imported.

### Syntaksa:

svc.ImportStylesFromFile(filename: str, families: str[1..*], overwrite = False): bool

### Parametry:

filename: The file from which to load the styles in the FileSystem notation. The file is presumed to be of the same document type as the actual document.

families: One of the style families present in the actual document, as a case-sensitive string or an array of such strings. Leave this argument blank to import all families.

overwrite: When True, the actual styles may be overwritten. Default is False.

### Přikład:

##### W Basic

        oDoc.ImportStylesFromFile("C:\User\Documents\myFile.ods", "ParagraphStyles", True)

##### W Python

        doc.ImportStylesFromFile('C:\User\Documents\myFile.ods', ("ParagraphStyles",), False)

## InsertSheet

Zasadźuje nowu prózdnu tabelu před eksistowacej tabelu abo na kóncu lisciny tabelow.

### Syntaksa:

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

### Parametry:

sheetname: Mjeno noweje tabele.

beforesheet: Mjeno (znamješkowy rjećazk) abo indeks (numeriski, započinajo z 1) tabele, před kotrejž so ma nowa tabela zasadźić. Tutón argument je opcionalny a standardne zadźerženje je zasudźowanje tabele na poslednjej poziciji.

### Přikład:

Slědowacy přikład nowu prózdnu tabelu z mjenom "SheetX" zasadźuje a placěruje ju před "SheetY":

##### W Basic

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

##### W Python

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

## Intersect

Wróći znamješkowy rjećazk, kotryž rězne mnóstwo mjez dwěmaj zapodawanskimaj wobłukomaj reprezentuje abo znamješkowy rjećazk z dołhosću nul, hdyž rězne mnóstwo je prózdne.

### Syntaksa:

svc.Intersect(range1:str, range2: str): str

### Parametry:

range1: Adresowy znamješkowy rjećazk wobłuka 1.

range2: Adresowy znamješkowy rjećazk wobłuka 2.

### Přikład:

Slědowacy přikład dwaj wobłukaj přerězuje a wróći zwučeny wobłuk mjez woběmaj:

##### W Basic

        Dim commonrange As String
        commonrange = oDoc.Intersect("A1:D8", "C3:F4")
        Print commonrange ' pokazuje "$Sheet1.$C$3:$D$4"

##### W Python

        common_range = myDoc.Intersect("A1:D8", "C3:F4")
        print(common_range) # wudawa '$Sheet1.$C$3:$D$4' do shell Python

## MoveRange

Přesuwa podaty žórłowy wobłuk do ciloweho celoweho wobłuka. Metoda znamješkowy rjećazk wróći, kotryž změnjeny celowy wobłuk reprezentuje. Wotměra změnjeneho wobłuka so dospołnje přez wulkosć žórłoweho wobłuka postaja.

### Syntaksa:

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

### Parametry:

source: Žórłowy celowy wobłuk, jako znamješkowy rjećazk.

destination: Cilowa cela, jako znamješkowy rjećazk. Jeli wobłuk je daty, so cela horjeka nalěwo jako cil wobkedźbuje.

### Přikład:

##### W Basic

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

##### W Python

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

## MoveSheet

Přesuwa eksistowacu tabelu a placěruje ju před podatej tabelu abo na kóncu lisćiny tabelow.

### Syntaksa:

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

### Parametry:

sheetname: Mjeno tabela, kotraž so ma přesunyć. Tabela dyrbi eksistować, abo wuwzaće so wuwabja.

beforesheet: Mjeno (znamješkowy rjećazk) abo indeks (numeriski, započinajo z 1) tabele, před kotrejž so originalna tabela placěruje. Tutón argument je opcionalny a standardne zadźerženje je přesuwanje tabele do poslednjeje pozicije.

### Přikład:

Slědowacy přikład eksistowacu tabelu "SheetX" přesuwa a placěruje ju před "SheetY":

##### W Basic

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

##### W Python

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

## Offset

Wróći wotchilenje noweho wobłuka (jako znamješkowy rjećazk) wo wěstu ličbu linkow a špaltow z dateho wobłuka.

Tuta metoda ma samsne zadźerženje kaž funkcija PŘESUNJENJE Calc ze samsnym mjenom.

### Syntaksa:

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

### Parametry:

reference: Wobłuk jako znamješkowy rjećazk, kotryž metoda jako referencu wužiwa, zo by operaciju offset wuwjedła.

rows: Ličba linkow, wo kotrež spočatny wobłuk so horje (negatiwna hódnota) abo dele (pozitiwna hódnota) wotchila. Wužiwajće 0 (standard), zo byšće w samsnej lince wostał.

columns: Ličba špaltow, wo kotrež spočatny wobłuk so nalěwo (negatiwna hódnota) abo naprawo (pozitiwna hódnota) wotchila. Wužiwajće 0 (standard), zo byšće w samsnej špalće wostał.

height: Wertikalna wysokosć za wobłuk, kotryž so na poziciji noweho wobłuka započina. Wuwostajće tutón argument, hdyž wertikalne změnjenje wulkosće trěbne njeje.

width: Horicontalna wysokosć za wobłuk, kotryž so na poziciji noweho wobłuka započina. Wuwostajće tutón argument, hdyž horicontalne změnjenje wulkosće trěbne njeje.

Argumentaj rows a columns njesmětej k nuli abo negatiwnej spočatnej lince abo špalće wjesć.

Argumentaj height a width njesmětej k nuli abo negatiwnej ličbje linkow abo špaltow wjesć.

### Přikład:

##### W Basic

        oDoc.Offset("A1", 2, 2)
        'SheetX.$C$3 (A1 wo dwě lince a dwě špalće dele přesunjenej)
        oDoc.Offset("A1", 2, 2, 5, 6)
        ' SheetX.$C$3:$H$7 (A1 wo dwě lince a dwě špalće ze šěrokosću 5 linkow a 6 špaltow wotchileny)

##### W Python

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

## OpenRangeSelector

Wočinja njemodalny dialog, kotryž da so wužiwać, zo by wobłuk w dokumenće wubrał a znamješkowy rjećazk wróći, kotryž wubrany wobłuk wobsahuje.

Tuta metoda samsny dialog wočinja, kotryž so přez LibreOfficeDev wužiwa, hdyž so tłóčatko Pomjeńšić tłóči. Dialog Nastroje – Cilowu hódnotu pytać… ma tłóčatko Pomjeńšić naprawo pódla pola Formlowa cela.

Tuta metoda aktualny wuběr njezměni.

### Syntaksa:

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

### Parametry:

title: Titul dialoga jako znamješkowy rjećazk.

selection: Opcionalny wobłuk, kotryž je so spočatnje wubrał, hdyž so dialog pokazuje.

singlecell: Hdyž hódnota je True (standard), je jenož wuběranje jednotliwych celow dowolene. Hdyž hódnota je False je wuběranje wobłukow dowolene.

closeafterselect: Hdyž hódnota je True (standard), so dialog hnydom po wuběranju začini. Hdyž hódnota je False, móže wužiwar wuběr tak husto změnić kaž je trjeba a potom dialog manuelnje začinić.

### Přikład:

##### W Basic

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

##### W Python

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

## Printf

Wróći zapodawanski znamješkowy rjećazk, po tym zo běchu so jeho „tokeny“ w datym wobłuku z jich hódnotami wuměnili.

Tuta metoda aktualny wuběr njezměni.

Tuta metoda da so wužiwać, zo by spěšnje wěste dźěle mjena wobłuka ekstrahowała, na přikład mjeno tabele abo prěnja celowa špalta a linka a je wužiwała, zo by nowu wobłukowu adresu wutworiła.

### Syntaksa:

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

### Parametry:

inputstr: Znamješkowy rjećazk, kotryž tokeny wobsahuje, kotrež so z wotpowědnymi hódnotami w range wuměnjeja.

range: Wobłukowe mjeno RangeName z kotrehož so hódnoty ekstrahuja. Jeli mjeno tabele wobsahuje, dyrbi tabela eksistować.

tokencharacter: Znamješko, kotrež so wužiwa, zo by tokeny identifikowało. Po standardźe je "%" znamješko za token. Slědowace tokeny so akceptuja:

- %S – Tabelowe mjeno, kotrež wobłuk wobsahuje, inkluziwnje jednore pazorki, jeli trjeba.

- %R1 – Linkowe čisło w celi horjeka nalěwo we wobłuku.

- %C1 – Špaltowy pismik cele horjeka nalěwo we wobłuku.

- %R2 – Linkowe čisło cele deleka naprawo we wobłuku.

- %C2 – Špaltowy pismik cele deleka naprawo we wobłuku.

### Přikład:

##### W Basic

Slědowacy přikład kóždy element z RangeName ekstrahuje, kotryž w sRange definowany a wužiwa je, zo by powěsć wutworił.

        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)

Metoda Printf da so z SetFormula kombinować, zo bychu so formle přez wjacore cele wutworili. Předstajće sej na přikład tabelu z numeriskimi hódnotami we wobłuku "A1:E10", z kotrejež so maja formle wutworić, kotrež maja hódnoty w kóždej lince suměrować a wuslědki we wobłuku "F1:F10" placěrować:

        Dim sFormula as String, sRange as String
        sRange = "A1:E10"
        ' Dźiwajće na wužiwanje znamješka "$"
        sFormula = "=SUM($%C1%R1:$%C2%R1)"
        oDoc.SetFormula("F1:F10", oDoc.Printf(sFormula, sRange))

##### W Python

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

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

## PrintOut

Tuta metoda wobsah dateje tabele na standardny ćišćak sćele, abo na ćišćak, kotryž je so přez metodu SetPrinter słužby Document definował.

Wróći True, jeli tabela je so wuspěšnje wućišćała.

### Syntaksa:

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

### Parametry:

sheetname: Tabela, kotraž so ma ćišćeć, standard je aktiwna tabela.

pages: Strony, kotrež so maja ćišćeć, jako znamješkowy rjećazk, kaž we wužiwarskim powjerchu. Přikład: "1-4;10;15-18". Standard je wšě strony.

copies: Ličba kopijow. Standard je 1.

### Přikład:

##### W Basic

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

##### W Python

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

## RemoveDuplicates

Wotstronja dwójne linki z podateho wobłuka. Přirunanje za zwěsćenje, hač data linka je dwójna, so na zakładźe podsadźby špaltow we wobłuku čini.

Tuta metoda znamješkowy rjećazk wróći, kotryž rezultowacy wobłuk wobsahuje.

Wotstronjenje dwójnych linkow so z prěnjej linku započina a pohibuje so dele, to rěka, zo so jenož prěnja linka wobchowa, hdyž dwě lince abo wjace su dwójne.

### Syntaksa:

svc.RemoveDuplicates(range: str, opt columns: int[0..*], header: bool = False, casesensitive: bool = False, mode: str = "COMPACT"): str

### Parametry:

range: Wobłuk, z kotrehož so duplikaty wotstronjeja, jako znamješkowy rjećazk.

columns: Matriks, kotraž špaltowe čisła wobsahuje, kotrež podawaja, kotre špalty maja so wobkedźbować, zo by postajiła, hač linka je dwójna abo nic. Jeli tutón argument je prózdny wostał, so jenož prěnja špalta wužiwa. Zapiski w tutej matriksy dyrbja w interwalu mjez 1 a šěrokosću wobłuka być.

header: Podawa, hač prěnja linka je hłowowa linka (standard = False).

casesensitive: Podawa, hač přirunanja znamješkowych rjećazkow wulkopisanje wobkedźbuja (standard = False).

mode: Podawa, što so ma z dwójnymi linkami činić. Jeli mode = "CLEAR", so duplikaty prosće z tabele wotstronjeja; cele prózdne wostawaja. Jeli mode = "COMPACT". so duplikaty wotstronjeja a prózdne linki so zhušćeja (standard = "COMPACT").

### Přikład:

##### W Basic

        ' Wotstronja dwójne linki, hdźež hódnoty w špalće A su dwójne.
        ' Dźiwajće na to, zo wšě opcionalne argumenty swoju standardnu hódnotu wužiwaja
        oDoc.RemoveDuplicates("A1:B10")
        ' Wotstronja dwójne linki dźiwajo na to, zo prěnja linka nadpisma wobsahuje
        ' Špalće A a B so wužiwatej, zo byštej zwěsćiłoj, hač linka je dwójna
        ' Cele, kotrež dwójne hódnoty wobsahuje, prózdne wostawaja
        oDoc.RemoveDuplicates("A1:D10", columns := Array(1, 2), header := True, mode := "CLEAR")

##### W Python

        myDoc.RemoveDuplicates("A1:B10")
        myDoc.RemoveDuplicates("A1:D10", columns = (1, 2), header = True, mode = "CLEAR")

## RemoveSheet

Wotstronja eksistowacu tabelu z dokumenta.

### Syntaksa:

svc.RemoveSheet(sheetname: str): bool

### Parametry:

sheetname: Mjeno tabele, kotraž so ma wotstronić.

### Přikład:

##### W Basic

        oDoc.RemoveSheet("SheetY")

##### W Python

        myDoc.RemoveSheet("SheetY")

## RenameSheet

Přemjenuje datu tabelu a wróći True, jeli wuspěšne.

### Syntaksa:

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

### Parametry:

sheetname: Mjeno tabele, kotraž so ma přemjenować.

newname: Nowe mjeno tabele. Njesmě hišće eksistować.

### Přikład:

Tutón přikład aktiwnu tabelu do "SheetY" přemjenuje.

##### W Basic

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

##### W Python

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

## SetArray

Składuje datu hódnotu započinajo z podatej cilowej celu. Zaktualizowany wobłuk so sam wot ciloweje cele abo z róžka horjeka nalěwo dateho wobłuka rozšěrjuje, zo by wulkosć zapodawanskeho argumenta value přiměrił. Wektory so přeco wertikalnje rozšěrjuja.

Metoda znamješkowy rjećazk wróći, kotryž změnjeny wobłuk jako celowy wobłuk reprezentuje.

### Syntaksa:

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

### Parametry:

targetcell: Cela abo wobłuk jako znamješkowy rjećazk, z kotrehož so ma data hódnota składować.

value: Skalar, wektor abo matriks (w Python jedno abo dwudimensionalne lisćiny a tupele) z nowymi hódnotami, kotrež so maja z ciloweje cele abo z róžka horjeka nalěwo wobłuka składować, jeli targetcell je wobłuk. Nowe hódnoty dyrbja znamješkowe rjećazki, numeriske hódnoty abo datumy być. Druhe typy k tomu wjedu, zo so wotpowědne cele prózdnja.

### Přikład:

##### W Basic

Slědowacy přikład zatwarjenu funkciju DimArray wižiwa, zo by matriks wutworił a potom ju w celi "A1" składował:

        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)

Tutón přikład metodu RangeInit słužby ScriptForge Array, zo by matriks z hódnotami wutworił, kotrež so potom wot cele "A1" a dele składuja.

        ' Prěnju špaltu z hódnotami wot 1 do 1000 pjelnić
        oDoc.SetArray("Sheet1.A1", SF_Array.RangeInit(1, 1000))

##### W Python

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

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

Zo byšće dospołny wobsah matriksy w tabeli wudał, wužiwajće SetArray. Zo byšće wobsah matriksy jenož znutřka mjezow ciloweho celoweho wobłuka wudał, wužiwajće SetValue.

## SetCellStyle

Nałožuje podatu celowu předłohu na daty cilowy wobłuk. Połny wobłuk so aktualizuje a zbytk tabele njedótknjeny wostawa. Jeli celowa předłoha njeeksistuje, so zmylk wuwabja.

Metoda znamješkowy rjećazk wróći, kotryž změnjeny wobłuk jako celowy wobłuk reprezentuje.

### Syntaksa:

svc.SetCellStyle(targetrange: str, style: str, opt filterformula: str, opt filterscope: str): str

### Parametry:

targetrange: Wobłuk, na kotryž so předłoha nałožuje, jako znamješkowy rjećazk.

style: Mjeno celoweje předłohi, kotraž so ma nałožić.

filterformula: Formla Calc, kotraž so ma na podaty wobłuk nałožić, zo by postajiła, kotre cele su potrjechene. Podata formla dyrbi True abo False wróćić. Jeli tutón argument podaty njeje, su wšě cele we wobłuku potrjechene.

filterscope: Postaja, kak so filterformula na podaty wobłuk rozšěrja. Tutón argument je obligatoriski, jeli filterformula je podaty. Slědowace hódnoty so akceptuja:

- „CELL“: Formla, kotraž je w argumenće filterformula podata, so jónkróć za kóždu celu w range rozšěrja.

- „ROW“: Formla, kotraž je w argumenće filterformula podata, so jónkróć za kóždu linku w range rozšěrja.

- „COLUMN“: Formla, kotraž je w argumenće filterformula podata, so jónkróć za kóždu špaltu w range rozšěrja.

### Přikład:

##### W Basic

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

##### W Python

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

Čitajće metodowu dokumentaciju ClearAll za přikłady, kak so argumentaj filterformula a filterscope wužiwatej.

## SetFormula

Zasadźuje datu formlu/date formle w podatym wobłuku. Wulkosć změnjeneho wobłuka je runja wulkosći wobłuka.

Metoda znamješkowy rjećazk wróći, kotryž změnjeny wobłuk jako celowy wobłuk reprezentuje.

### Syntaksa:

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

### Parametry:

targetrange: Wobłuk, do kotrehož so maja formle zasadźić, jako znamješkowy rjećazk.

formula: Znamješkowy rjećazk, wektor abo matriks znamješkowych rjećazkow z nowymi formlemi za kóždu celu w cilowym wobłuku.

Połny wobłuk so aktualizuje a zbytk tabele njezměnjeny wostawa.

Jeli data formla je znamješkowy rjećazk, so jónkróćna formla podłu cyłeho wobłuka z přiměrjenjom relatiwnych poćahow zasadźuje.

Jeli wulkosć formula je mjeńša hač wulkosć targetrange, so zbytne cele prózdnja.

Jeli wulkosć formula je wjetša hač wulkosć targetrange, so formle jenož zdźěla kopěruja, doniž wulkosć targetrange njewupjelnja.

Wektory su přeco wertikalnje rozšěrjeja, chibazo targetrange ma wysokosć dokładnje 1 linki.

Funkcije Calc, kotrež so w argumenće formula wužiwaja, dyrbja so ze swojimi jendźelskimi mjenami zwuraznić. Wopytajće wikijowu stronu Lisćina funkcijow Calc za dospołnu lisćinu funkcijow Calc jendźelsce.

### Přikład:

##### W Basic

        oDoc.SetFormula("A1", "=A2")
        ' Horicontalny wektor, zdźěla prózdny
        oDoc.SetFormula("A1:F1", Array("=A2", "=B2", "=C2+10"))
        ' D2 formlu "=H2" wobsahuje
        oDoc.SetFormula("A1:D2", "=E1")

##### W Python

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

## SetValue

Składuje datu hódnotu w podatym wobłuku. Wulkosć změnjeneho wobłuka je runja wulkosći ciloweho wobłuka.

Metoda znamješkowy rjećazk wróći, kotryž změnjeny wobłuk jako celowy wobłuk reprezentuje.

### Syntaksa:

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

### Parametry:

targetrange: Wobłuk, w kotrymž so ma data hódnota składować, jako znamješkowy rjećazk.

value: Skalar, wektor abo matriks z nowymi hódnotami za kóždu celu wobłuka. Nowe hódnoty dyrbja znamješkowe rjećazki, numeriske hódnoty abo datumy być. Druhe typy k tomu wjedu, zo so wotpowědne cele prózdnja.

Połny wobłuk so aktualizuje a zbytk tabele njezměnjeny wostawa. Jeli wulkosć value je mjeńša hač wulkosć targetrange so zbytne cele prózdnja.

Jeli wulkosć value je wjetša hač wulkosć targetrange so value jenož zdźěla kopěruje, doniž wulkosć targetrange njewupjelnja.

Wektory so wertikalnje rozšěrjeja, chibazo targetrange ma wysokosć dokładnje 1 linki.

### Přikład:

##### W Basic

        oDoc.SetValue("A1", 2)
        ' Matriks Below Value je mjeńša hač TargetRange (zbytne cele so prózdnja)
        oDoc.SetValue("A1:F1", Array(1, 2, 3))
        ' Below the Value a TargetRange matej samsnu wulkosć
        oDoc.SetValue("A1:D2", SF_Array.AppendRow(Array(1, 2, 3, 4), Array(5, 6, 7, 8)))

Jeli chceće jednotliwu linku z hódnotami pjelnić, móžeće funkciju Offset wužiwać. Dźiwajće w slědowacym přikładźe na to, zo arrData je jednodimensionalna matriks:

        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)

##### W Python

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

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

## ShiftDown

Zasadźuje prózdne linki, zo by daty celowy wobłuk dele přesunył. Aktualny wuběr potrjecheny njeje.

Wotwisujo wot hódnoty argumenta wholerow zasadźene linki móža pak šěrokosć podateho wobłuka pak wšě špalty w lince wopřijeć.

Tuta metoda znamješkowy rjećazk wróći, kotryž nowe městno spočatneho wobłuka reprezentuje.

Jeli přesunjeny wobłuk tabelowe kromy překročuje, so ničo njestawa.

### Syntaksa:

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

### Parametry:

range: Wobłuk, nad kotrymž so linki zasadźuja, jako znamješkowy rjećazk.

wholerow: Jeli to je na False stajene (standard), budźe šěrokosć zasadźenych linkow samsna kaž šěrokosć podateho range. Hewak zasadźena linka wšě špalty w tabeli wopřijima.

rows: Ličba linkow, kotrež so maja zasadźić. Standardna hódnota je wysokosć prěnjotneho range. Ličba linkow dyrbi pozitiwna ličba być.

### Přikład:

##### W Basic

        ' Přesuwa wobłuk "A2:D3" wo jednu linku dele; nastupa jenož špalty A do D
        oDoc.ShiftDown("A3:D3")
        ' Zasadźena linka wšě špalty w tabeli wopřijima
        oDoc.ShiftDown("A3:D3", WholeRow := True)
        ' Přesuwa wobłuk "A3:D3" wo pjeć linkow dele
        oDoc.ShiftDown("A3:D3", Rows := 5)
        ' Přesuwa wonłuk "A3:D10" wo dwě lince dele a pokazuje nowe městno prěnjotneho wobłuka
        Dim sNewRange as String
        sNewRange = oDoc.ShiftDown("A3:D10", Rows := 2)
        MsgBox sNewRange   ' $Sheet1.$A$5:$D$12

##### W Python

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

## ShiftLeft

Zhaša špalty dateho wobłuka cyle nalěwo a přesuwa wšě cele naprawo pódla potrjecheneho wobłuka dolěwa. Aktualny wuběr potrjecheny njeje.

Wotwisujo wot hódnoty argumenta wholecolumn móža zhašane špalty pak wysokosć podateho wobłuka pak wšě linki w špalće wopřijeć.

Tuta metoda znamješkowy rjećazk wróći, kotryž městno zbytneho dźěla spočatneho wobłuka reprezentuje. Jeli su so wšě cele w prěnjotnym wobłuku zhašeli, so prózdny znamješkowy rjećazk wróći.

### Syntaksa:

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

### Parametry:

range: Wobłuk , z kotrehož so cele zhašeja, jako znamješkowy rjećazk.

wholecolumn: Jeli to je na False stajene (standard), budźe wysokosć zhašanych špaltow samsna kaž wysokosć podateho range. Hewak zhašane špalty wšě linki w tabeli wopřijimaja.

columns: Ličba špaltow, kotrež so maja z podateho range zhašeć. Standardna hódnota je šěrokosć prěnjotneho range, kotraž je tež maksimalna hódnota tutoho argumenta.

### Přikład:

##### W Basic

        ' Zhaša wobłuk "B3:B6"; přesuwa zbytne cele doprawa
        oDoc.ShiftLeft("B3:B6")
        ' Zhaša prěnju špaltu we wobłuku "A3:D6"
        oDoc.ShiftLeft("A3:D6", Columns := 1)
        ' Zhašane špalty (A do D) wšě linki w tabeli wopřijimaja
        oDoc.ShiftLeft("A3:D6", WholeColumn := True)

##### W Python

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

## ShiftUp

Zhaša linki dateho wobłuka cyle horjeka a přesuwa wšě cele pod potrjechenym wobłuku horje. Aktualny wuběr potrjecheny njeje.

Wotwisujo wot hódnoty argumenta wholerow móža zhašane linki pak šěrokosć podateho wobłuka pak wšě špalty w lince wopřijeć.

Tuta metoda znamješkowy rjećazk wróći, kotryž městno zbytneho dźěla spočatneho wobłuka reprezentuje. Jeli su so wšě cele w prěnjotnym wobłuku zhašeli, so prózdny znamješkowy rjećazk wróći.

### Syntaksa:

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

### Parametry:

range: Wobłuk , z kotrehož so cele zhašeja, jako znamješkowy rjećazk.

wholerow: Jelo to je na False stajene (standard), budźe šěrokosć zhašanych linkow samsna kaž šěrokosć podateho range. Hewak zhašana linka wšě špalty w tabeli wopřijima.

rows: Ličba linkow, kotrež so maja z podateho range zhašeć. Standardna hódnota je wysokosć prěnjotneho range, kotraž je tež maksimalna hódnota tutoho argumenta.

### Přikład:

##### W Basic

        ' Zhaša wobłuk "A3:D3"; přesuwa wšě cele pod nim wo jednu linku horje
        oDoc.ShiftUp("A3:D3")
        ' Zhaša prěnju linku we wobłuku "A3:D6"
        oDoc.ShiftUp("A3:D6", Rows := 1)
        ' Zhašane linki wšě špalty w tabeli wopřijimaja
        oDoc.ShiftUp("A3:D6", WholeRow := True)

##### W Python

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

## ShiftRight

Zasadźuje prózdne špalty, zo by daty celowy wobłuk doprawa přesunył. Aktualny wuběr potrjecheny njeje.

Wotwisujo wot hódnoty argumenta wholecolumn, móža zasadźene špalty pak wysokosć podateho wobłuka pak wšě linki w špalće wopřijeć.

Tuta metoda znamješkowy rjećazk wróći, kotryž nowe městno spočatneho wobłuka reprezentuje.

Jeli přesunjeny wobłuk tabelowe kromy překročuje, so ničo njestawa.

### Syntaksa:

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

### Parametry:

range: Wobłuk, do kotrehož so nalěwo prózdne špalty zasadźuja, jako znamješkowy rjećazk.

wholecolumn: Jeli to je na False stajene (standard), budźe wysokosć zasadźenych špaltow samsna kaž wysokosć podateho range. Hewak zasadźene špalty wšě linki w tabeli wopřijimaja.

columns: Ličba špaltow, kotrež so maja zasadźić. Standardna hódnota je šěrokosć prěnjotneho range.

### Přikład:

##### W Basic

        ' Přesuwa wobłuk "A3:A6" wo jednu špaltu doprawa; nastupa jenož linki 3 do 6
        oDoc.ShiftRight("A3:A6")
        ' Přesuwa wobłuk "A3:A" wo pjeć špaltow doprawa
        oDoc.ShiftRight("A3:A6", Columns := 5)
        ' Zasadźena špalta wšě linki w tabeli wopřijima
        oDoc.ShiftRight("A3:A6", WholeColumn := True)

##### W Python

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

## SortRange

Sortěrujće daty wobłuk po někajkej ličbje špaltow/linkow. Sortěrowanski porjad móže po špalće/lince wariěrować. Jeli ličba sortěrowanskich klučow je > 3, so wobłuk wjacore razy sortěruje, po skupinach 3 klučowa, započinajo z poslednim klučom. Wróći znamješkowy rjećazk, kotryž změnjeny celowy wobłuk reprezentuje. Wulkosć změnjeneho wobłuka so dospołnje přez wulkosć žórłoweho wobłuka postaja.

### Syntaksa:

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

### Parametry:

range: Wobłuk, kotryž so ma sortěrować, jako znamješkowy rjećazk.

sortkeys: Skalar (jeli 1 špalta/linka) abo matriks špaltowych/linkowych čisłow, započinajo z 1.

sortorder: Skalar abo matriks znamješkowych rjećazkow, kotrejž hódnoty „ASC“ (postupowacy) a „DESC“ (spadowacy) wobsahujetej. Kóždy zapisk so z wotpowědnym zapiskom w sortkeys poruje. Jeli matriks sortorder je krótša hač sortkeys so zbytne kluče w postupowacym porjedźe sortěruja.

destinationcell: Cilowa cela sortěrowaneho celoweho wobłuka, jako znamješkowy rjećazk. Jeli wobłuk je podaty, so jenož cela horjeka nalěwo wobkedźbuje. Po standardźe so žórłowy wobłuk přepisuje.

containsheader: Hdyž to je True, so prěnja linka/špalta njesortěruje.

casesensitive: Jenož přirunanja znamješkowych rjećazkow. Standard = False

sortcolumns: Hdyž to je True, so špalty wotlěwa doprawa sortěruja. Standard = False: Linki so wot horjeka do deleka sortěruja.

### Přikład:

##### W Basic

        ' Wobłuk po špaltach A (postupowacy) a C (spadowacy) sortěrować
        oDoc.SortRange("A2:J200", Array(1, 3), Array("ASC", "DESC"), CaseSensitive := True)

##### W Python

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

Wšě rutiny Basic ScriptForge abo identifikatory, kotrež so z podsmužku „_“ započinaja, su za interne wužiwanje wuměnjene. Njejsu za to myslene, so w makrach Basic abo skriptach Python wužiwać.

Podobne temy

Słužba SFDocuments.Chart

Słužba SFDocuments.Document

ScriptForge.UI service

Prošu podpěrajće nas!