Słužba SFDocuments.Calc

Zhromadnje wužita biblioteka SFDocuments rjad metodow a kajkosćow skići, kotrež rjadowanje dokumentow LibreOffice 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:

note

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ć:

note

• 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)
  
tip

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ć:

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

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

Ž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.

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

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.


tip

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


Metody

Lisćina metodow w słužbje Calc

A1Style
Activate
Charts
ClearAll
ClearFormats
ClearValues
CompactLeft
CompactUp
CopySheet
CopySheetFromFile
CopyToCell
CopyToRange
CreateChart
CreatePivotTable
DAvg
DCount

DMax
DMin
DSum
ExportRangeToFile
Forms
GetColumnName
GetFormula
GetValue
ImportFromCSVFile
ImportFromDatabase
ImportStylesFromFile
InsertSheet
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
  
tip

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

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.


Charts

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

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.

tip

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, kotrež so ma na daty wobłuk nałožić, zo by postajił, 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 daty wobłuk rozšěrja. Tutón argument je zawjazny, jeli filterformula je podaty. Slědowace hódnoty so akceptuja:

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)>100", "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)>100", "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)>100", "ROW")
    myDoc.ClearAll("SheetX.A1:J10", "=SUM(SheetX.A1:A10)>100", "COLUMN")
  

ClearFormats

Zhaša formaty a předłohi w datym 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, kotrež so ma na daty wobłuk nałožić, zo by postajił, 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 daty wobłuk rozšěrja. Tutón argument je zawjazny, jeli filterformula je podaty. Slědowace hódnoty so akceptuja:

Přikład:

W Basic

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

    myDoc.ClearFormats("SheetX.*")
  
tip

Č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, kotrež so ma na daty wobłuk nałožić, zo by postajił, 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 daty wobłuk rozšěrja. Tutón argument je zawjazny, jeli filterformula je podaty. Slědowace hódnoty so akceptuja:

Přikład:

W Basic

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

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

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


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.

note

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.

note

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.

note

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.

note

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

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()
  
tip

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.

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

Č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)
  
tip

Zo byšće wjace wo pivotowych tabelach w LibreOffice 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")
  
note

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.


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.

note

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)
  

Forms

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

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

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.

note

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

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:

Přikład:

W Basic

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

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

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:

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

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.

note

Tuta metoda samsny dialog wočinja, kotryž so přez LibreOffice 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.

tip

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:

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.

note

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

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, kotrež so ma na daty wobłuk nałožić, zo by postajił, 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 daty wobłuk rozšěrja. Tutón argument je zawjazny, jeli filterformula je podaty. Slědowace hódnoty so akceptuja:

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

Č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.

note

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.

note

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.

note

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: When True, the columns are sorted from left to right. Default = False : rows are sorted from top to bottom.

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

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ć.


Prošu podpěrajće nas!