Mga SFDocuments . Calc serbisyo

Ang Mga SFDocuments Ang shared library ay nagbibigay ng ilang pamamaraan at katangian upang mapadali ang pamamahala at pangangasiwa ng mga dokumento ng LibreOffice.

Ang SFDocuments.Calc ang serbisyo ay isang subclass ng SFDocuments.Document serbisyo. Ang lahat ng mga pamamaraan at katangian ay tinukoy para sa Dokumento ang serbisyo ay maaari ding ma-access gamit ang a Calc halimbawa ng serbisyo.

Ang Calc ang serbisyo ay nakatuon sa:

note

Ang pahina ng tulong na ito ay naglalarawan ng mga pamamaraan at katangian na naaangkop lamang sa mga dokumento ng Calc.


Panawagan sa serbisyo

Bago gamitin ang Calc serbisyo ang ScriptForge kailangang i-load o i-import ang library:

note

• Ang mga pangunahing macro ay kailangang mag-load ScriptForge aklatan gamit ang sumusunod na pahayag:
GlobalScope.BasicLibraries.loadLibrary("ScriptForge")

• Ang mga script ng Python ay nangangailangan ng pag-import mula sa scriptforge module:
mula sa scriptforge import CreateScriptService


Ang Calc ang serbisyo ay malapit na nauugnay sa UI serbisyo ng ScriptForge aklatan. Nasa ibaba ang ilang halimbawa kung paano ang Calc maaaring gamitin ang serbisyo.

Sa Basic

Ang code snippet sa ibaba ay lumilikha ng a Calc instance ng serbisyo na tumutugma sa kasalukuyang aktibong dokumento ng Calc.


    Set oDoc = CreateScriptService("Calc")
  

Ang isa pang paraan upang lumikha ng isang halimbawa ng Calc ang serbisyo ay gumagamit ng UI serbisyo. Sa sumusunod na halimbawa, isang bagong dokumento ng Calc ay nilikha at oDoc ay a Calc halimbawa ng serbisyo:


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

O gamit ang OpenDocument pamamaraan mula sa UI serbisyo:


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

Posible ring i-instantiate ang Calc serbisyo na tumutukoy sa pangalan ng window para sa CreateScriptService paraan:


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

Sa halimbawa sa itaas, ang "MyFile.ods" ay ang pangalan ng isang bukas na window ng dokumento. Kung hindi ibinigay ang argumentong ito, isasaalang-alang ang aktibong window.

Posible ring i-invoke ang Calc serbisyo gamit ang dokumentong tinukoy ni ThisComponent . Ito ay espesyal na kapaki-pakinabang kapag nagpapatakbo ng isang macro mula sa loob ng Basic IDE.


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

Inirerekomenda na magbakante ng mga mapagkukunan pagkatapos gamitin:


    Set oDoc = oDoc.Dispose()
  

Gayunpaman, kung ang dokumento ay isinara gamit ang Isara ang Dokumento paraan, nagiging hindi na kailangan ang mga libreng mapagkukunan gamit ang command na inilarawan sa itaas.

Sa 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

Ang paggamit ng prefix na " Mga SFDocuments. " habang ang pagtawag sa serbisyo ay opsyonal.


Mga Kahulugan

Maraming mga pamamaraan ang nangangailangan ng " Sheet "o isang" Saklaw " bilang argumento. Ang mga solong cell ay itinuturing na isang espesyal na kaso ng a Saklaw .

Parehong maaaring ipahayag alinman bilang isang string o bilang isang sanggunian (= object) depende sa sitwasyon:

Halimbawa:

Kinokopya ng halimbawa sa ibaba ang data mula sa dokumento A (binuksan bilang read-only at nakatago) patungo sa dokumento B.

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

Alinman sa pangalan ng sheet bilang a string o isang bagay ginawa ng .Sheet ari-arian.

Ang shortcut na "~" (tilde) ay kumakatawan sa kasalukuyang sheet.

RangeName

Alinman sa isang string na nagtatalaga ng isang set ng magkadikit na mga cell na matatagpuan sa isang sheet ng kasalukuyang instance o isang bagay ginawa ng .Saklaw ari-arian.

Ang shortcut na "~" (tilde) ay kumakatawan sa kasalukuyang pagpili o sa unang napiling hanay kung maraming hanay ang napili.

Ang shortcut na "*" ay kumakatawan sa lahat ng ginamit na mga cell.

Opsyonal ang pangalan ng sheet kapag tumukoy ng isang hanay. Kung walang ibinigay na pangalan ng sheet, gagamitin ang aktibong sheet. Ang nakapalibot na mga solong quote at $ sign ay pinapayagan ngunit hindi pinansin.

Kapag tinukoy ang a SheetName bilang isang string, ang paggamit ng mga solong quote upang ilakip ang pangalan ng sheet ay kinakailangan kung ang pangalan ay naglalaman ng mga blangkong puwang " " o mga tuldok ".".

Ang mga halimbawa sa ibaba ay naglalarawan kung saan ang paggamit ng mga solong panipi ay ipinag-uutos:


      ' Ang paggamit ng mga solong panipi ay opsyonal
      oDoc.clearAll("SheetA.A1:B10")
      oDoc.clearAll("'SheetA'.A1:B10")
      ' Ang paggamit ng mga solong panipi ay kinakailangan
      oDoc.clearAll("'Sheet.A'.A1:B10")
    
tip

Maliban sa Kasalukuyang Pinili ari-arian, ang Calc Iisang hanay lang ng mga cell ang isinasaalang-alang ng serbisyo.


Mga halimbawa ng wastong hanay

1) $'SheetX'.D2
2) $D$2

Isang cell

1) $'SheetX'.D2:F6
2) D2:D10

Isang hanay na may maraming mga cell

$'SheetX'.*

Lahat ng ginamit na mga cell sa ibinigay na sheet

1) $'SheetX'.A:A (column A)
2) 3:5 (hanay 3 hanggang 5)

Lahat ng cell sa magkadikit na column o row hanggang sa huling ginamit na cell

myRange

Isang hanay na pinangalanang "myRange" sa antas ng spreadsheet

1) ~.someRange
2) SheetX.someRange

Isang pangalan ng hanay sa antas ng sheet

myDoc.Range("SheetX.D2:F6")

Isang hanay sa loob ng sheet na SheetX sa file na nauugnay sa instance ng myDoc Calc

~.~ o ~

Ang kasalukuyang pagpili sa aktibong sheet


Mga Katangian

Ang lahat ng mga property na generic sa anumang dokumento ay ganap na naaangkop din sa mga dokumento ng Calc. Para sa karagdagang impormasyon, basahin ang Pahina ng Tulong sa serbisyo ng dokumento .

Ang mga katangiang partikular na magagamit para sa mga dokumento ng Calc ay:

Pangalan

Readonly

Pangangatwiran

Uri ng pagbabalik

Mga nilalaman

CurrentSelection

Hindi

Wala

String o hanay ng mga string

Ang nag-iisang napiling hanay bilang isang string o ang listahan ng mga napiling hanay bilang isang array.

FirstCell

Mayroon

SheetName o RangeName bilang String

String

Ibinabalik ang unang ginamit na cell sa isang ibinigay na hanay o sheet.

FirstColumn

Mayroon

SheetName o RangeName bilang String

Long

Ibinabalik ang pinakakaliwang numero ng column sa isang ibinigay na hanay o sheet.

FirstRow

Mayroon

SheetName o RangeName bilang String

Long

Ibinabalik ang pinakamataas na numero ng row sa isang ibinigay na hanay o sheet.

Height

Mayroon

RangeName Bilang String

Long

Ang bilang ng mga row (>= 1) sa ibinigay na hanay.

LastCell

Mayroon

SheetName o RangeName bilang String

String

Ibinabalik ang huling ginamit na cell sa isang ibinigay na hanay o sheet.

LastColumn

Mayroon

SheetName o RangeName bilang String

Long

Ang huling ginamit na column sa isang ibinigay na hanay o sheet.

LastRow

Mayroon

SheetName o RangeName bilang String

Long

Ang huling ginamit na row sa isang ibinigay na hanay o sheet.

Range

Mayroon

RangeName Bilang String

Object

Isang saklaw na sanggunian na maaaring magamit bilang argumento ng mga pamamaraan tulad ng CopyToRange .

Region

Mayroon

RangeName Bilang String

String

Ibinabalik ang address ng pinakamaliit na lugar na naglalaman ng tinukoy na hanay upang ang lugar ay napapalibutan ng mga walang laman na cell o mga gilid ng sheet. Ito ay katumbas ng paglalapat ng shortcut sa ibinigay na hanay.

Sheet

Mayroon

SheetName Bilang String

Object

Isang sanggunian sa sheet na maaaring magamit bilang argumento ng mga pamamaraan tulad ng CopySheet .

SheetName

Mayroon

RangeName Bilang String

String

Ibinabalik ang pangalan ng sheet ng isang ibinigay na address ng hanay.

Sheets

Mayroon

Wala

Array ng mga string

Ang listahan na may mga pangalan ng lahat ng umiiral na mga sheet.

Width

Mayroon

RangeName Bilang String

Long

Ang bilang ng mga column (>= 1) sa ibinigay na hanay.

XCellRange

Mayroon

RangeName Bilang String

Object

A com.sun.star.Table.XCellRange bagay ng UNO.

XSheetCellCursor

Mayroon

RangeName Bilang String

Object

A com.sun.star.sheet.XSheetCellCursor bagay ng UNO. Pagkatapos ilipat ang cursor, maa-access ang resultang address ng hanay sa pamamagitan ng AbsoluteName UNO property ng cursor object, na nagbabalik ng string value na maaaring magamit bilang argumento para sa mga katangian at pamamaraan ng serbisyo ng Calc.

XSpreadsheet

Mayroon

SheetName Bilang String

Object

A com.sun.star.sheet.XSpreadsheet bagay ng UNO.


tip

Bisitahin ang website ng LibreOffice API Documentation upang matuto nang higit pa tungkol sa XCellRange , XSheetCellCursor at XSpreadsheet mga bagay ng UNO.


Pamamaraan

Listahan ng Mga Paraan sa Serbisyo ng 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

Nagbabalik ng address ng hanay bilang isang string batay sa mga coordinate ng sheet, ibig sabihin, mga numero ng row at column.

Kung isang pares ng mga coordinate lamang ang ibinigay, pagkatapos ay ibabalik ang isang address sa isang cell. Maaaring tukuyin ng mga karagdagang argumento ang ibabang kanang cell ng isang hugis-parihaba na hanay.

Syntax:

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

Mga Parameter:

row1, column1 : Tukuyin ang mga numero ng row at column ng tuktok na kaliwang cell sa hanay na isasaalang-alang. Ang mga numero ng row at column ay nagsisimula sa 1.

row2, column2 : Tukuyin ang mga numero ng row at column ng ibabang kanang cell sa hanay na isasaalang-alang. Kung ang mga argumentong ito ay hindi ibinigay, o kung ang mga halaga ay mas maliit sa hilera1 at hanay1 ay ibinigay, pagkatapos ay ang address ng solong hanay ng cell na kinakatawan ng hilera1 at hanay1 ay ibinalik.

sheetname : Ang pangalan ng sheet na idaragdag sa ibinalik na address ng hanay. Ang sheet ay dapat na umiiral. Ang default na halaga ay "~" na tumutugma sa kasalukuyang aktibong sheet.

Halimbawa:

Itinuturing ng mga halimbawa sa ibaba sa Basic at Python na ang "Sheet1" ay ang kasalukuyang aktibong sheet.

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

Ang pamamaraan A1Style maaaring isama sa alinman sa maraming katangian at pamamaraan ng serbisyo ng Calc na nangangailangan ng hanay bilang argumento, gaya ng GetValue , GetFormula , ClearAll , atbp.


Activate

Kung ang argumento sheetname ay ibinigay, ang ibinigay na sheet ay isinaaktibo at ito ay nagiging kasalukuyang napiling sheet. Kung wala ang argumento, ang window ng dokumento ay isinaaktibo.

Syntax:

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

Mga Parameter:

sheetname : Ang pangalan ng sheet na isaaktibo sa dokumento. Ang default na halaga ay isang walang laman na string, ibig sabihin ay maa-activate ang window ng dokumento nang hindi binabago ang aktibong sheet.

Halimbawa:

Ina-activate ng halimbawa sa ibaba ang sheet na pinangalanang "Sheet4" sa kasalukuyang aktibong dokumento.

Sa Basic

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

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

Ang pag-activate ng sheet ay may katuturan lamang kung ito ay isinagawa sa isang dokumento ng Calc. Upang matiyak na mayroon kang dokumentong Calc, maaari mong gamitin ang isCalc pag-aari ng object ng dokumento, na nagbabalik totoo kung ito ay isang dokumentong Calc at Mali kung hindi.


Charts

Ibinabalik ang alinman sa listahan na may mga pangalan ng lahat ng mga bagay sa tsart sa isang ibinigay na sheet o isang solong Tsart halimbawa ng serbisyo.

Syntax:

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

Mga Parameter:

sheetname : Ang pangalan ng sheet kung saan kukunin ang listahan ng mga chart o kung saan matatagpuan ang tinukoy na chart.

chartname : Ang tinukoy ng gumagamit na pangalan ng bagay na tsart na ibabalik. Kung ang tsart ay walang pangalan na tinukoy ng gumagamit, maaaring gamitin ang pangalan ng panloob na bagay. Kung wala ang argumentong ito, ibabalik ang listahan ng mga pangalan ng tsart sa tinukoy na sheet.

tip

Gamitin ang Navigator sidebar upang suriin ang mga pangalan na itinalaga sa mga chart sa ilalim ng Mga bagay na OLE kategorya.


Halimbawa:

Sa Basic

Ipinapakita ng halimbawa sa ibaba ang bilang ng mga bagay sa tsart sa "Sheet1".


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

Ina-access ng sumusunod na halimbawa ang chart na pinangalanang "MyChart" sa "Sheet1" at ini-print ang uri nito.


    Dim oChart as Object
    oChart = oDoc.Charts("Sheet1", "MyChart")
    MsgBox oChart.ChartType
  
Sa 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

Tinatanggal ang lahat ng nilalaman at mga format ng ibinigay na hanay.

Maaaring tukuyin ang formula ng filter upang matukoy kung aling mga cell ang maaapektuhan.

Syntax:

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

Mga Parameter:

saklaw: Ang hanay na tatanggalin, bilang isang string.

filterformula: Isang Calc formula na dapat ilapat sa ibinigay na hanay upang matukoy kung aling mga cell ang maaapektuhan. Dapat bumalik ang tinukoy na formula totoo o Mali . Kung hindi tinukoy ang argumentong ito, maaapektuhan ang lahat ng mga cell sa hanay.

filterscope: Tinutukoy kung paano filterformula ay pinalawak sa ibinigay na hanay. Ang argumentong ito ay sapilitan kung a filterformula ay tinukoy. Ang mga sumusunod na halaga ay tinatanggap:

Halimbawa:

Sa Basic

    ' Kini-clear ang lahat ng mga cell sa hanay ng SheetX.A1:J10
    oDoc.ClearAll("SheetX.A1:J10")
    ' Tinatanggal ang lahat ng mga cell sa hanay ng SheetX.A1:J10 na may halagang higit sa 100
    oDoc.ClearAll("SheetX.A1:J10", "=SheetX.A1>100", "CELL")
    ' Tinatanggal ang lahat ng mga hilera sa hanay na SheetX.A1:J10 na ang kabuuan ay higit sa 500
    oDoc.ClearAll("SheetX.A1:J10", "=SUM(SheetX.A1:J1)>100", "ROW")
    ' Tinatanggal ang lahat ng column sa hanay na SheetX.A1:J10 na ang kabuuan ay higit sa 500
    oDoc.ClearAll("SheetX.A1:J10", "=SUM(SheetX.A1:A10)>100", "COLUMN")
  
Sa 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

Nililinis ang mga format at istilo sa ibinigay na hanay.

Maaaring tukuyin ang formula ng filter upang matukoy kung aling mga cell ang maaapektuhan.

Syntax:

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

Mga Parameter:

saklaw : Ang hanay kung saan ang mga format at istilo ay dapat i-clear, bilang isang string.

filterformula: Isang Calc formula na dapat ilapat sa ibinigay na hanay upang matukoy kung aling mga cell ang maaapektuhan. Dapat bumalik ang tinukoy na formula totoo o Mali . Kung hindi tinukoy ang argumentong ito, maaapektuhan ang lahat ng mga cell sa hanay.

filterscope: Tinutukoy kung paano filterformula ay pinalawak sa ibinigay na hanay. Ang argumentong ito ay sapilitan kung a filterformula ay tinukoy. Ang mga sumusunod na halaga ay tinatanggap:

Halimbawa:

Sa Basic

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

    myDoc.ClearFormats("SheetX.*")
  
tip

Sumangguni sa ClearAll dokumentasyon ng pamamaraan para sa mga halimbawa kung paano gamitin ang mga argumento filterformula at filterscope .


ClearValues

I-clear ang mga value at formula sa ibinigay na hanay.

Maaaring tukuyin ang formula ng filter upang matukoy kung aling mga cell ang maaapektuhan.

Syntax:

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

Mga Parameter:

saklaw : Ang hanay kung saan ang mga halaga at formula ay dapat i-clear, bilang isang string.

filterformula: Isang Calc formula na dapat ilapat sa ibinigay na hanay upang matukoy kung aling mga cell ang maaapektuhan. Dapat bumalik ang tinukoy na formula totoo o Mali . Kung hindi tinukoy ang argumentong ito, maaapektuhan ang lahat ng mga cell sa hanay.

filterscope: Tinutukoy kung paano filterformula ay pinalawak sa ibinigay na hanay. Ang argumentong ito ay sapilitan kung a filterformula ay tinukoy. Ang mga sumusunod na halaga ay tinatanggap:

Halimbawa:

Sa Basic

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

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

Sumangguni sa ClearAll dokumentasyon ng pamamaraan para sa mga halimbawa kung paano gamitin ang mga argumento filterformula at filterscope .


CompactLeft

Tinatanggal ang mga column ng isang tinukoy na hanay na tumutugma sa isang filter na ipinahayag bilang isang Calc formula. Inilapat ang filter sa bawat column upang magpasya kung tatanggalin ito o hindi.

Ang tinanggal na column ay maaaring limitahan sa taas ng tinukoy na hanay o span sa taas ng buong sheet, kaya tinatanggal ang buong column.

Ang pamamaraang ito ay nagbabalik ng isang string na may address ng hanay ng nakasiksik na hanay. Kung tatanggalin ang lahat ng column, ibabalik ang isang walang laman na string.

note

Kung pinili ang isang hanay ng mga cell, ang pagtawag sa paraang ito ay hindi makakaapekto sa pagpili.


Syntax:

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

Mga Parameter:

saklaw : Ang hanay kung saan ang mga column ay tatanggalin, bilang isang string.

buong hanay : Kung nakatakda ang opsyong ito sa totoo ang buong column ay tatanggalin mula sa sheet. Ang default na halaga ay Mali , na nangangahulugan na ang tinanggal na column ay limitado sa taas ng tinukoy saklaw .

filterformula : Ang filter na ilalapat sa bawat column upang matukoy kung tatanggalin ito o hindi. Ang filter ay ipinahayag bilang isang Calc formula na dapat ilapat sa unang column. Kapag bumalik ang formula totoo para sa isang column, tatanggalin ang column na iyon. Tinatanggal ng default na filter ang lahat ng walang laman na column.

Halimbawa, ipagpalagay na saklaw A1:J200 ay pinili (taas = 200), kaya ang default na formula ay =(COUNTBLANK(A1:A200)=200) . Nangangahulugan ito na kung ang lahat ng 200 cell ay walang laman sa unang column (Column A), pagkatapos ay tatanggalin ang column. Tandaan na ang formula ay ipinahayag na may kinalaman sa unang hanay lamang. Sa panloob ang CompactLeft paraan ay gawing pangkalahatan ang formula na ito para sa lahat ng natitirang mga haligi.

note

Mga function ng Calc na ginagamit sa filterformula dapat ipahayag ang argumento gamit ang kanilang mga pangalan sa Ingles. Bisitahin ang pahina ng Wiki Listahan ng Mga Pag-andar ng Calc para sa kumpletong listahan ng mga function ng Calc sa English.


Halimbawa:

Sa Basic

    ' Tanggalin ang lahat ng walang laman na column sa hanay na G1:L10 mula sa Sheet1
    newrange = oDoc.CompactLeft("Sheet1.G1:L10")
    ' Ang halimbawa sa ibaba ay magkatulad, ngunit ang buong column ay tinanggal mula sa sheet
    newrange = oDoc.CompactLeft("Sheet1.G1:L10", WholeColumn := True)
    ' Tinatanggal ang lahat ng mga hanay kung saan ang unang hilera ay minarkahan ng "X"
    newrange = oDoc.CompactLeft("Sheet1.G1:L10", FilterFormula := "=(G1=""X"")")
    ' Tinatanggal ang lahat ng column kung saan kakaiba ang kabuuan ng mga value sa column
    newrange = oDoc.CompactLeft("Sheet1.G1:L10", FilterFormula := "=(MOD(SUM(G1:G10);2)=1)")
  
Sa 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

Tinatanggal ang mga row ng isang tinukoy na hanay na tumutugma sa isang filter na ipinahayag bilang isang Calc formula. Ang filter ay inilalapat sa bawat hilera upang magpasya kung ito ay tatanggalin o hindi.

Ang mga tinanggal na row ay maaaring limitahan sa lapad ng tinukoy na range o span sa lapad ng buong sheet, kaya tinatanggal ang buong row.

Ang pamamaraang ito ay nagbabalik ng isang string na may address ng hanay ng nakasiksik na hanay. Kung ang lahat ng mga hilera ay tinanggal, pagkatapos ay isang walang laman na string ang ibabalik.

note

Kung pinili ang isang hanay ng mga cell, ang pagtawag sa paraang ito ay hindi makakaapekto sa pagpili.


Syntax:

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

Mga Parameter:

saklaw : Ang hanay kung saan matatanggal ang mga hilera, bilang isang string.

wholerow : Kung nakatakda ang opsyong ito sa totoo ang buong row ay tatanggalin mula sa sheet. Ang default na halaga ay Mali , na nangangahulugan na ang tinanggal na hilera ay limitado sa lapad ng tinukoy saklaw .

filterformula : Ang filter na ilalapat sa bawat row upang matukoy kung tatanggalin ito o hindi. Ang filter ay ipinahayag bilang isang Calc formula na dapat ilapat sa unang hilera. Kapag bumalik ang formula totoo para sa isang hilera, ang row na iyon ay tatanggalin. Tinatanggal ng default na filter ang lahat ng walang laman na row.

Halimbawa, ipagpalagay na saklaw A1:J200 ay pinili (lapad = 10), kaya ang default na formula ay =(COUNTBLANK(A1:J1)=10) . Nangangahulugan ito na kung ang lahat ng 10 cell ay walang laman sa unang hilera (Row 1), ang row ay tatanggalin. Tandaan na ang formula ay ipinahayag na may kinalaman sa unang hilera lamang. Sa panloob ang CompactUp paraan ay gawing pangkalahatan ang formula na ito para sa lahat ng natitirang mga hilera.

note

Ang mga function ng Calc na ginamit sa formula na tinukoy sa filterformula dapat ipahayag ang argumento gamit ang kanilang mga pangalan sa Ingles. Bisitahin ang pahina ng Wiki Listahan ng Mga Pag-andar ng Calc para sa kumpletong listahan ng mga function ng Calc sa English.


Halimbawa:

Sa Basic

    ' Tanggalin ang lahat ng walang laman na row sa hanay na G1:L10 mula sa Sheet1
    newrange = oDoc.CompactUp("Sheet1.G1:L10")
    ' Ang halimbawa sa ibaba ay magkatulad, ngunit ang buong row ay tinanggal mula sa sheet
    newrange = oDoc.CompactUp("Sheet1.G1:L10", WholeRow := True)
    ' Tinatanggal ang lahat ng mga hilera kung saan ang unang hanay ay minarkahan ng "X"
    newrange = oDoc.CompactUp("Sheet1.G1:L10", FilterFormula := "=(G1=""X"")")
    ' Tinatanggal ang lahat ng mga row kung saan kakaiba ang kabuuan ng mga value sa row
    newrange = oDoc.CompactUp("Sheet1.G1:L10", FilterFormula := "=(MOD(SUM(G1:L1);2)=1)")
  
Sa 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

Kinokopya ang isang tinukoy na sheet bago ang isang umiiral na sheet o sa dulo ng listahan ng mga sheet. Ang sheet na kokopyahin ay maaaring nasa loob ng alinman bukas Calc na dokumento. Nagbabalik totoo kung matagumpay.

Syntax:

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

Mga Parameter:

sheetname : Ang pangalan ng sheet na kokopyahin bilang isang string o ang reference nito bilang isang bagay.

bagong pangalan : Ang pangalan ng sheet na ilalagay. Hindi dapat ginagamit ang pangalan sa dokumento.

beforesheet : Ang pangalan (string) o index (numeric, simula sa 1) ng sheet bago ipasok ang kinopyang sheet. Opsyonal ang argumentong ito at ang default na gawi ay idagdag ang nakopyang sheet sa huling posisyon.

Halimbawa:

Sa Basic

Ang sumusunod na halimbawa ay gumagawa ng kopya ng sheet na "SheetX" at inilalagay ito bilang huling sheet sa kasalukuyang dokumento. Ang pangalan ng kinopyang sheet ay "SheetY".


    Dim oDoc as Object
    'Nakukuha ang Document object ng aktibong window
    Set oDoc = CreateScriptService("Calc")
    oDoc.CopySheet("SheetX", "SheetY")
  

Ang halimbawa sa ibaba ay kinokopya ang "SheetX" mula sa "FileA.ods" at i-paste ito sa huling posisyon ng "FileB.ods" na may pangalang "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")
  
Sa 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

Upang kopyahin ang mga sheet sa pagitan bukas mga dokumento, gamitin CopySheet . Upang kopyahin ang mga sheet mula sa mga dokumento na sarado , gamitin CopySheetFromFile .


CopySheetFromFile

Kinokopya ang isang tinukoy na sheet mula sa a sarado Calc dokumento at i-paste ito bago ang isang umiiral na sheet o sa dulo ng listahan ng mga sheet ng file na tinutukoy ng isang Dokumento bagay.

Kung ang file ay hindi umiiral, ang isang error ay nakataas. Kung ang file ay hindi isang wastong Calc file, isang blangkong sheet ang ipinapasok. Kung wala ang source sheet sa input file, may ilalagay na mensahe ng error sa tuktok ng bagong paste na sheet.

Syntax:

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

Mga Parameter:

filename : Tinutukoy ang file na bubuksan. Dapat itong sundin ang SF_FileSystem.FileNaming notasyon. Ang file ay hindi dapat protektado ng isang password.

sheetname : Ang pangalan ng sheet na kokopyahin bilang isang string.

bagong pangalan : Ang pangalan ng kinopyang sheet na ilalagay sa dokumento. Hindi dapat ginagamit ang pangalan sa dokumento.

beforesheet : Ang pangalan (string) o index (numeric, simula sa 1) ng sheet bago ipasok ang kinopyang sheet. Opsyonal ang argumentong ito at ang default na gawi ay idagdag ang nakopyang sheet sa huling posisyon.

Halimbawa:

Ang sumusunod na halimbawa ay kinokopya ang "SheetX" mula sa "myFile.ods" at i-paste ito sa dokumentong tinutukoy ng "oDoc" bilang "SheetY" sa unang posisyon.

Sa Basic

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

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

CopyToCell

Kinokopya ang isang tinukoy na hanay ng pinagmulan (mga halaga, formula at format) sa isang hanay ng patutunguhan o cell. Ang pamamaraan ay nagre-reproduce ng gawi ng isang Copy/Paste na operasyon mula sa isang range hanggang sa isang cell.

Nagbabalik ito ng string na kumakatawan sa binagong hanay ng mga cell. Ang laki ng binagong lugar ay ganap na tinutukoy ng laki ng lugar ng pinagmulan.

Maaaring kabilang sa iba ang source range bukas dokumento.

Syntax:

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

Mga Parameter:

sourcerange : Ang source range bilang string kapag kabilang ito sa parehong dokumento o bilang reference kapag kabilang ito sa isa pang bukas na dokumento ng Calc.

destinationcell : Ang patutunguhang cell kung saan ipe-paste ang kinopyang hanay ng mga cell, bilang isang string. Kung may ibinigay na hanay, tanging ang tuktok na kaliwang cell nito ang isasaalang-alang.

Halimbawa:

Sa Basic

Susunod ay isang halimbawa kung saan ang pinagmulan at patutunguhan ay nasa parehong file:


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

Ang halimbawa sa ibaba ay naglalarawan kung paano kopyahin ang isang hanay mula sa isa pang bukas na dokumento ng Calc:


    Dim ui as Variant : ui = CreateScriptService("UI")
    Dim oDocSource As Object, oDocDestination As Object
    'Buksan ang pinagmulang dokumento sa background (nakatago)
    Set oDocSource = ui.OpenDocument("C:\SourceFile.ods", Hidden := True, ReadOnly := True)
    Set oDocDestination = CreateScriptService("Calc")
    oDocDestination.CopyToCell(oDocSource.Range("Sheet1.C2:C4"), "SheetT.A5")
    'Huwag kalimutang isara ang pinagmulang dokumento dahil ito ay binuksan bilang nakatago
    oDocSource.CloseDocument()
  
Sa 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

Upang gayahin ang isang Kopyahin/I-paste mula sa isang hanay patungo sa isang cell, gamitin CopyToCell . Upang gayahin ang isang Kopyahin/I-paste mula sa isang hanay patungo sa isang mas malaking hanay (na may parehong mga cell na ginagaya nang maraming beses), gamitin CopyToRange .


CopyToRange

Kinokopya pababa at/o pakanan ang isang tinukoy na hanay ng pinagmulan (mga halaga, formula at format) sa isang hanay ng patutunguhan. Ginagaya ng pamamaraan ang pag-uugali ng isang operasyong Kopyahin/I-paste mula sa hanay ng pinagmulan patungo sa mas malaking hanay ng patutunguhan.

Ang pamamaraan ay nagbabalik ng isang string na kumakatawan sa binagong hanay ng mga cell.

Maaaring kabilang sa iba ang source range bukas dokumento.

Syntax:

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

Mga Parameter:

sourcerange : Ang source range bilang string kapag kabilang ito sa parehong dokumento o bilang reference kapag kabilang ito sa isa pang bukas na dokumento ng Calc.

destinationrange : Ang destinasyon ng kinopyang hanay ng mga cell, bilang isang string.

Halimbawa:

Sa Basic

Kopyahin sa loob ng parehong dokumento:


    oDoc.CopyToRange("SheetX.A1:F10", "SheetY.C5:J5")
    ' Nagbabalik ng string ng hanay: "$SheetY.$C$5:$J$14"
  

Kopyahin mula sa isang file patungo sa isa pa:


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

Lumilikha ng bagong bagay sa tsart na nagpapakita ng data sa tinukoy na hanay. Ang ibinalik na bagay sa tsart ay maaaring higit pang manipulahin gamit ang Tsart serbisyo.

Syntax:

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

Mga Parameter:

chartname: Ang pangalan na tinukoy ng gumagamit ng chart na gagawin. Ang pangalan ay dapat na natatangi sa parehong sheet.

sheetname: Ang pangalan ng sheet kung saan ilalagay ang tsart.

saklaw: Ang saklaw na gagamitin bilang data source para sa chart. Ang saklaw ay maaaring sumangguni sa anumang sheet ng dokumentong Calc.

columnheader: kailan totoo , ang pinakamataas na hilera ng hanay ay ginagamit bilang mga label para sa axis ng kategorya o ang alamat (Default = Mali ).

rowheader: kailan totoo , ang pinakakaliwang column ng hanay ay ginagamit bilang mga label para sa axis ng kategorya o ang alamat. (Default = Mali ).

Halimbawa:

Ang mga halimbawa sa ibaba sa Basic at Python ay gumagawa ng chart gamit ang data na nasa hanay na "A1:B5" ng "Sheet1" at ilagay ang chart sa "Sheet2".

Sa Basic

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

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

Sumangguni sa pahina ng tulong tungkol sa ScriptForge's Serbisyo ng tsart upang matuto nang higit pa kung paano higit pang manipulahin ang mga bagay sa tsart. Posibleng baguhin ang mga katangian bilang uri ng tsart, mga pamagat ng tsart at mga palakol at posisyon ng tsart.


CreatePivotTable

Lumilikha ng bagong pivot table na may mga katangian na tinukoy ng mga argumentong ipinasa sa pamamaraan.

Dapat magbigay ng pangalan para sa pivot table. Kung mayroon nang pivot table na may parehong pangalan sa targeted sheet, ito ay papalitan nang walang babala.

Ang pamamaraang ito ay nagbabalik ng isang string na naglalaman ng hanay kung saan inilagay ang bagong pivot table.

Syntax:

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

Mga Parameter:

pivottablename: Ang pangalan na tinukoy ng user ng bagong pivot table.

sourcerange: Ang hanay na naglalaman ng raw data, bilang isang string. Ipinapalagay na ang unang hilera ay naglalaman ng mga pangalan ng field na ginagamit ng pivot table.

targetcell: Ang itaas na kaliwang cell kung saan ilalagay ang bagong pivot table. Kung may tinukoy na hanay, tanging ang tuktok na kaliwang cell nito ang isasaalang-alang.

mga datafield: Maaari itong maging isang string o array na naglalaman ng mga string na tumutukoy sa mga pangalan ng field at function na ilalapat. Kapag tinukoy ang isang array, dapat itong sundin ang syntax Array("FieldName[;Function]", ...) .

Ang mga pinahihintulutang function ay: Sum , Bilangin , Katamtaman , Max , Min , produkto , CountNums , StDev , StDevP , Var , VarP at Median . Ang mga pangalan ng function ay dapat ibigay sa English. Kapag ang lahat ng mga halaga ay numerical, Sum ay ang default na function, kung hindi, ang default na function ay Bilangin .

mga rowfield: Isang string o array na may mga pangalan ng field na gagamitin bilang mga row ng pivot table.

columnfields: Isang string o array na may mga pangalan ng field na gagamitin bilang mga column ng pivot table.

pindutan ng filter: Tinutukoy kung ang isang pindutan ng filter ay ipapakita sa itaas ng pivot table (Default = totoo ).

rowtotal: Tinutukoy kung ang isang hiwalay na column para sa mga kabuuan ng row ay idadagdag sa pivot table (Default = totoo ).

columntotals Tinutukoy kung ang isang hiwalay na row para sa mga kabuuan ng column ay idadagdag sa pivot table (Default = totoo )

Halimbawa:

Sa 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("Mga Aklat", "Michigan", "Jean", 14788, 30222, 23490), _
        Array("Candy", "Michigan", "Jean", 26388, 15641, 32849), _
        Array("Mga Panulat", "Michigan", "Jean", 16569, 32675, 25396), _
        Array("Mga Aklat", "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"), _ ' Tatlong patlang ng data
        "Item", _ ' Isang solong row na field
        Array("State", "Team"), False) ' Dalawang column na field
  
Sa Python

    ui = CreateScriptService("UI")
    doc = ui.CreateDocument("Calc")
    vData = [["Item", "State", "Team", "2002", "2003", "2004"],
             ["Mga Aklat", "Michigan", "Jean", 14788, 30222, 23490],
             ["Candy", "Michigan", "Jean", 26388, 15641, 32849],
             ["Mga Panulat", "Michigan", "Jean", 16569, 32675, 25396)],
             ["Mga Aklat", "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",
                                  ["Estado", "Koponan"], Mali)
  
tip

Upang matuto nang higit pa tungkol sa Mga Pivot Table sa LibreOffice Calc, basahin ang Pivot Table pahina ng tulong.


DAvg, DCount, DMax, DMin and DSum

Ilapat ang mga function na Average, Count, Max, Min at Sum, ayon sa pagkakabanggit, sa lahat ng mga cell na naglalaman ng mga numeric na halaga sa isang partikular na hanay, hindi kasama ang mga halaga mula sa mga na-filter at nakatagong mga row at nakatagong mga column, katulad ng para sa mga function ng status bar.

Syntax:

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

Mga Parameter:

saklaw : Ang hanay kung saan ilalapat ang function, bilang isang string.

Halimbawa:

Inilalapat ng halimbawa sa ibaba ang Sum function sa hanay na "A1:A1000" ng kasalukuyang napiling sheet:

Sa Basic

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

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

Ang mga cell sa ibinigay na hanay na naglalaman ng teksto ay hindi papansinin ng lahat ng mga function na ito. Halimbawa, ang DCcount ang pamamaraan ay hindi magbibilang ng mga cell na may teksto, mga numerical na cell lamang.


ExportRangeToFile

Ini-export ang tinukoy na hanay bilang isang imahe o PDF file.

Nagbabalik ang pamamaraang ito totoo kung matagumpay na nai-save ang patutunguhang file.

note

Ang mga nakatagong row o column sa tinukoy na hanay ay hindi na-export sa patutunguhang file.


Syntax:

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

Mga Parameter:

saklaw : Isang pangalan ng sheet o hanay ng cell na ie-export, bilang isang string.

filename : Ang pangalan ng file na ise-save. Dapat itong sundin ang SF_FileSystem.FileNaming notasyon.

imagetype : Tinutukoy ang uri ng patutunguhan ng file. Ang mga posibleng value ay "jpeg", "pdf" (default) at "png".

overwrite : Kapag nakatakda sa totoo , ang patutunguhang file ay maaaring ma-overwrite (Default = Mali ).

Halimbawa:

Sa Basic

    ' Ini-export ang buong sheet bilang isang PDF file
    oDoc.ExportRangeToFile("SheetX", "C:\Temp\image.pdf")
    ' Ine-export ang hanay bilang PNG file at ino-overwrite ang patutunguhang file kung mayroon ito
    oDoc.ExportRangeToFile("SheetX.A1:D10", "C:\Temp\image.png", "png", Overwrite := True)
  
Sa Python

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

Forms

Depende sa mga parameter na ibinigay, babalik ang pamamaraang ito:

Syntax:

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

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

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

Mga Parameter:

sheetname : Ang pangalan ng sheet, bilang isang string, kung saan kukunin ang form.

anyo : Ang pangalan o index na naaayon sa isang form na nakaimbak sa tinukoy na sheet. Kung wala ang argumentong ito, magbabalik ang pamamaraan ng isang listahan na may mga pangalan ng lahat ng mga form na magagamit sa sheet.

Halimbawa:

Sa mga sumusunod na halimbawa, nakukuha ng unang linya ang mga pangalan ng lahat ng mga form na nakaimbak sa "Sheet1" at kinukuha ng pangalawang linya ang Form object ng form na pinangalanang "Form_A" na nakaimbak sa "Sheet1".

Sa Basic

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

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

GetColumnName

Kino-convert ang numero ng column na nasa pagitan ng 1 at 1024 sa katumbas nitong titik (column 'A', 'B', ..., 'AMJ'). Kung ang ibinigay na numero ng column ay nasa labas ng pinapayagang hanay, ibabalik ang isang zero-length na string.

Syntax:

svc.GetColumnName(columnnumber: int): str

Mga Parameter:

columnnumber : Ang numero ng column bilang isang integer na halaga sa pagitan 1 ... 16384.

Halimbawa:

Sa Basic

Nagpapakita ng message box na may pangalan ng ikatlong column, na bilang default ay "C".


    MsgBox oDoc.GetColumnName(3)
  
Sa Python

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

Ang maximum na bilang ng mga column na pinapayagan sa isang Calc sheet ay 16384.


GetFormula

Kunin ang (mga) formula na nakaimbak sa ibinigay na hanay ng mga cell bilang isang string, isang 1D o isang 2D na hanay ng mga string.

note

Ang mga pangalan ng mga function ng Calc na ginamit sa mga ibinalik na formula ay ipinahayag sa Ingles. Bisitahin ang pahina ng Wiki Listahan ng Mga Pag-andar ng Calc para sa kumpletong listahan ng mga function ng Calc sa English.


Syntax:

svc.GetFormula(range: str): any

Mga Parameter:

saklaw : Ang hanay kung saan kukunin ang mga formula, bilang isang string.

Halimbawa:

Sa Basic

Ang sumusunod na halimbawa ay nagbabalik ng 3 by 2 array na may mga formula sa hanay na "A1:B3" (3 row by 2 column):


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

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

GetValue

Kunin ang (mga) value na nakaimbak sa ibinigay na hanay ng mga cell bilang isang value, isang 1D array o isang 2D array. Ang lahat ng mga halaga ay maaaring doble o mga string.

Syntax:

svc.GetValue(range: str): any

Mga Parameter:

saklaw : Ang hanay kung saan kukunin ang mga halaga, bilang isang string.

Halimbawa:

Sa Basic

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

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

Kung ang isang cell ay naglalaman ng isang petsa, ang numero na naaayon sa petsang iyon ay ibabalik. Upang i-convert ang mga numeric na halaga sa mga petsa sa mga Basic na script, gamitin ang Basic CDate builtin function . Sa mga script ng Python, gamitin ang CDate function mula sa Basic serbisyo.


ImportFromCSVFile

Ini-import ang mga nilalaman ng isang CSV-formatted na text file at inilalagay ito sa isang ibinigay na patutunguhang cell.

Ang lugar na patutunguhan ay na-clear sa lahat ng nilalaman at mga format bago ipasok ang mga nilalaman ng CSV file. Ang laki ng binagong lugar ay ganap na tinutukoy ng mga nilalaman ng input file.

Ang pamamaraan ay nagbabalik ng isang string na kumakatawan sa binagong hanay ng mga cell.

Syntax:

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

Mga Parameter:

filename : Tinutukoy ang file na bubuksan. Dapat itong sundin ang SF_FileSystem.FileNaming notasyon.

destinationcell : Ang patutunguhang cell upang ipasok ang na-import na data, bilang isang string. Kung sa halip ay isang hanay ang ibibigay, tanging ang tuktok na kaliwang cell nito ang isasaalang-alang.

mga pagpipilian sa filter : Ang mga argumento para sa CSV input filter. Ang default na filter ay gumagawa ng mga sumusunod na pagpapalagay:

Halimbawa:

Sa Basic

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

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

Upang matuto nang higit pa tungkol sa CSV Filter Options, sumangguni sa page ng tulong sa Mga Opsyon sa Filter ng CSV .


ImportFromDatabase

Ini-import ang mga nilalaman ng isang database table, query o resultset, ibig sabihin, ang resulta ng isang SELECT SQL command, na inilalagay ito sa isang destination cell.

Ang lugar na patutunguhan ay na-clear sa lahat ng nilalaman at mga format bago ipasok ang mga na-import na nilalaman. Ang laki ng binagong lugar ay ganap na tinutukoy ng mga nilalaman sa talahanayan o query.

Ang pamamaraan ay nagbabalik totoo kapag naging matagumpay ang pag-import.

Syntax:

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

Mga Parameter:

filename : Tinutukoy ang file na bubuksan. Dapat itong sundin ang SF_FileSystem.FileNaming notasyon.

pangalan ng pagpaparehistro : Ang pangalan na gagamitin upang mahanap ang database sa rehistro ng mga database. Ang argumentong ito ay binabalewala kung a filename ay ibinigay.

destinationcell : Ang patutunguhan ng na-import na data, bilang isang string. Kung may ibinigay na hanay, tanging ang tuktok na kaliwang cell nito ang isasaalang-alang.

sqlcommand : Isang talahanayan o pangalan ng query (nang walang nakapalibot na mga quote o square bracket) o isang SELECT SQL statement kung saan ang mga pangalan ng talahanayan at field ay maaaring napapalibutan ng mga square bracket o quote upang mapabuti ang pagiging madaling mabasa nito.

directsql : Kailan totoo , ang SQL command ay ipinadala sa database engine nang walang pre-analysis. Default ay Mali . Ang argumento ay hindi pinapansin para sa mga talahanayan. Para sa mga query, ang inilapat na opsyon ay ang itinakda noong tinukoy ang query.

Halimbawa:

Sa Basic

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

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

ImportStylesFromFile

Ang pamamaraang ito ay naglo-load ng lahat ng mga istilo na kabilang sa isa o higit pang mga pamilya ng istilo mula sa isang saradong file papunta sa aktwal na dokumento. Ang aktwal na dokumento ay dapat na a Calc o a Manunulat dokumento.

Palaging ini-import nang magkasama:

Nagbabalik totoo kung matagumpay na na-import ang mga istilo.

Syntax:

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

Mga Parameter:

filename : Ang file kung saan ilo-load ang mga istilo sa FileSystem notasyon. Ang file ay ipinapalagay na kapareho ng uri ng dokumento gaya ng aktwal na dokumento.

mga pamilya : Isa sa mga istilong pamilya na nasa aktwal na dokumento, bilang isang case-sensitive na string o isang hanay ng mga naturang string. Iwanang blangko ang argumentong ito para ma-import ang lahat ng pamilya.

overwrite : Kailan totoo , maaaring ma-overwrite ang mga aktwal na istilo. Default ay Mali .

Halimbawa:

Sa Basic

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

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

InsertSheet

Naglalagay ng bagong walang laman na sheet bago ang isang umiiral na sheet o sa dulo ng listahan ng mga sheet.

Syntax:

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

Mga Parameter:

sheetname : Ang pangalan ng bagong sheet.

beforesheet : Ang pangalan (string) o index (numeric, simula sa 1) ng sheet bago ipasok ang bagong sheet. Opsyonal ang argumentong ito at ang default na gawi ay ipasok ang sheet sa huling posisyon.

Halimbawa:

Ang sumusunod na halimbawa ay naglalagay ng bagong walang laman na sheet na pinangalanang "SheetX" at inilalagay ito bago ang "SheetY":

Sa Basic

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

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

MoveRange

Inilipat ang isang tinukoy na hanay ng pinagmulan sa isang hanay ng patutunguhan ng mga cell. Ang pamamaraan ay nagbabalik ng isang string na kumakatawan sa binagong hanay ng mga cell. Ang dimensyon ng binagong lugar ay ganap na tinutukoy ng laki ng lugar ng pinagmulan.

Syntax:

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

Mga Parameter:

pinagmulan : Ang pinagmulang hanay ng mga cell, bilang isang string.

patutunguhan : Ang patutunguhang cell, bilang isang string. Kung may ibinigay na hanay, ang cell sa kaliwang itaas nito ay ituturing na destinasyon.

Halimbawa:

Sa Basic

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

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

MoveSheet

Inilipat ang isang umiiral na sheet at inilalagay ito bago ang isang tinukoy na sheet o sa dulo ng listahan ng mga sheet.

Syntax:

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

Mga Parameter:

sheetname : Ang pangalan ng sheet na ililipat. Ang sheet ay dapat na umiiral o isang exception ay nakataas.

beforesheet : Ang pangalan (string) o index (numeric, simula sa 1) ng sheet bago ilalagay ang orihinal na sheet. Opsyonal ang argumentong ito at ang default na gawi ay ilipat ang sheet sa huling posisyon.

Halimbawa:

Inililipat ng halimbawa sa ibaba ang umiiral na sheet na "SheetX" at inilalagay ito bago ang "SheetY":

Sa Basic

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

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

Offset

Nagbabalik ng bagong hanay (bilang isang string) na na-offset ng isang tiyak na bilang ng mga row at column mula sa isang ibinigay na hanay.

Ang pamamaraang ito ay may parehong pag-uugali tulad ng magkatulad na Calc's Offset function .

Syntax:

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

Mga Parameter:

sanggunian : Ang hanay, bilang isang string, na gagamitin ng pamamaraan bilang reference upang maisagawa ang offset na operasyon.

mga hilera : Ang bilang ng mga row kung saan ang paunang hanay ay na-offset pataas (negatibong halaga) o pababa (positibong halaga). Gamitin ang 0 (default) upang manatili sa parehong row.

mga hanay : Ang bilang ng mga column kung saan ang paunang hanay ay na-offset sa kaliwa (negatibong halaga) o sa kanan (positibong halaga). Gamitin ang 0 (default) upang manatili sa parehong column.

taas : Ang patayong taas para sa isang lugar na nagsisimula sa bagong posisyon ng hanay. Alisin ang argumentong ito kapag walang kinakailangang pagbabago ng vertical.

lapad : Ang pahalang na lapad para sa isang lugar na nagsisimula sa bagong posisyon ng hanay. Alisin ang argumentong ito kapag walang pahalang na pagbabago ang kailangan.

Mga argumento mga hilera at mga hanay hindi dapat humantong sa zero o negatibong panimulang row o column.

Mga argumento taas at lapad hindi dapat humantong sa zero o negatibong bilang ng mga row o column.

Halimbawa:

Sa Basic

    oDoc.Offset("A1", 2, 2)
    'SheetX.$C$3 (Ang A1 ay inilipat ng dalawang row at dalawang column pababa)
    oDoc.Offset("A1", 2, 2, 5, 6)
    'SheetX.$C$3:$H$7 (A1 offset ng dalawang row at column na may lapad na 5 row at 6 column)
  
Sa Python

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

OpenRangeSelector

Nagbubukas ng di-modal na dialog na maaaring magamit upang pumili ng hanay sa dokumento at nagbabalik ng string na naglalaman ng napiling hanay.

note

Binubuksan ng paraang ito ang parehong dialog na ginagamit ng LibreOffice kapag pinindot ang Shrink button. Halimbawa, ang Mga Tool - Paghahanap ng Layunin ang dialog ay may button na Paliitin sa kanan ng Formula cell patlang.


Hindi binabago ng pamamaraang ito ang kasalukuyang pagpili.

Syntax:

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

Mga Parameter:

pamagat : Ang pamagat ng dialog, bilang isang string.

pagpili : Isang opsyonal na hanay na unang pinili kapag ang dialog ay ipinapakita.

singlecell : Kailan totoo (default) single-cell selection lang ang pinapayagan. kailan Mali pinapayagan ang pagpili ng hanay.

closeafterselect : Kailan totoo (default) ang dialog ay sarado kaagad pagkatapos na gawin ang pagpili. kailan Mali maaaring baguhin ng user ang pagpili nang maraming beses kung kinakailangan at pagkatapos ay manu-manong isara ang dialog.

Halimbawa:

Sa Basic

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

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

Printf

Ibinabalik ang input string pagkatapos palitan ang mga token character nito sa pamamagitan ng kanilang mga value sa isang partikular na hanay.

Hindi binabago ng pamamaraang ito ang kasalukuyang pagpili.

tip

Maaaring gamitin ang paraang ito upang mabilis na mag-extract ng mga partikular na bahagi ng isang pangalan ng hanay, gaya ng pangalan ng sheet o unang cell column at row, at gamitin ang mga ito upang bumuo ng bagong address ng hanay.


Syntax:

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

Mga Parameter:

inputstr : Ang string na naglalaman ng mga token na papalitan ng mga katumbas na halaga sa saklaw .

saklaw : A RangeName kung saan kukunin ang mga halaga. Kung naglalaman ito ng pangalan ng sheet, dapat na umiiral ang sheet.

tokencharacter : Character na ginamit upang matukoy ang mga token. Bilang default, ang "%" ay ang token na character. Ang mga sumusunod na token ay tinatanggap:

Halimbawa:

Sa Basic

Kinukuha ng halimbawa sa ibaba ang bawat elemento ng RangeName tinukoy sa sRange at ginagamit ang mga ito upang bumuo ng isang mensahe.


    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)
  

Ang Printf paraan ay maaaring pagsamahin sa SetFormula upang lumikha ng mga formula sa maraming mga cell. Halimbawa, isaalang-alang ang isang talahanayan na may mga numeric na halaga sa hanay na "A1:E10" kung saan dapat likhain ang mga formula upang mabuo ang mga halaga sa bawat hilera at ilagay ang mga resulta sa hanay na "F1:F10":


    Dim sFormula as String, sRange as String
    sRange = "A1:E10"
    ' Pansinin ang paggamit ng karakter na "$".
    sFormula = "=SUM($%C1%R1:$%C2%R1)"
    oDoc.SetFormula("F1:F10", oDoc.Printf(sFormula, sRange))
  
Sa 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

Ang pamamaraang ito ay nagpapadala ng mga nilalaman ng ibinigay na sheet sa default na printer o sa printer na tinukoy ng SetPrinter paraan ng Dokumento serbisyo.

Nagbabalik totoo kung matagumpay na nai-print ang sheet.

Syntax:

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

Mga Parameter:

sheetname : Ang sheet na ipi-print, ang default ay ang aktibong sheet.

mga pahina : Ang mga pahinang ipi-print bilang isang string, tulad ng sa user interface. Halimbawa: "1-4;10;15-18". Default ay lahat ng mga pahina.

mga kopya : Ang bilang ng mga kopya. Ang default ay 1.

Halimbawa:

Sa Basic

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

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

RemoveDuplicates

Tinatanggal ang mga duplicate na row mula sa isang tinukoy na hanay. Ang paghahambing upang matukoy kung ang isang ibinigay na row ay isang duplicate ay ginagawa batay sa isang subset ng mga column sa hanay.

Ang pamamaraang ito ay nagbabalik ng isang string na naglalaman ng resultang hanay.

note

Ang pag-alis ng mga duplicate na row ay ginagawa simula sa unang row sa range na lumilipat pababa, ibig sabihin, kung dalawa o higit pang row ang duplicate, ang una lang ang itatago.


Syntax:

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

Mga Parameter:

saklaw : Ang hanay kung saan aalisin ang mga duplicate, bilang isang string.

mga hanay : Isang array na naglalaman ng mga numero ng column na nagsasaad kung aling mga column ang isasaalang-alang upang matukoy kung ang isang row ay duplicate o hindi. Kung ang argumentong ito ay iwanang blangko, ang unang column lang ang gagamitin. Ang mga item sa array na ito ay dapat nasa pagitan ng 1 at ang lapad ng hanay.

header : Tinutukoy kung ang unang hilera ay isang hilera ng header (Default = Mali ).

casesensitive : Tinutukoy kung case-sensitive ang mga paghahambing ng string (Default = Mali ).

mode : Tinutukoy kung ano ang gagawin sa mga duplicate na row. Kung mode = "MALINAW" pagkatapos ay ang mga duplicate ay aalisin lamang mula sa sheet na iniiwan ang mga cell na blangko. Kung mode = "COMPACT" pagkatapos ay ang mga duplicate ay aalisin at ang mga walang laman na hanay ay siksikin (Default = "COMPACT" ).

Halimbawa:

Sa Basic

    ' Tinatanggal ang mga duplicate na row kung saan duplicate ang mga value sa column A
    ' Tandaan na ang lahat ng opsyonal na argumento ay gumagamit ng kanilang default na halaga
    oDoc.RemoveDuplicates("A1:B10")
    ' Tinatanggal ang mga duplicate na row kung isasaalang-alang na ang unang row ay naglalaman ng mga header
    ' Ang mga Column A at B ay ginagamit upang matukoy kung ang isang row ay isang duplicate
    ' Ang mga cell na naglalaman ng mga duplicate na halaga ay iniwang blangko
    oDoc.RemoveDuplicates("A1:D10", columns := Array(1, 2), header := True, mode := "CLEAR")
  
Sa Python

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

RemoveSheet

Inaalis ang isang umiiral na sheet mula sa dokumento.

Syntax:

svc.RemoveSheet(sheetname: str): bool

Mga Parameter:

sheetname : Ang pangalan ng sheet na aalisin.

Halimbawa:

Sa Basic

    oDoc.RemoveSheet("SheetY")
  
Sa Python

    myDoc.RemoveSheet("SheetY")
  

RenameSheet

Pinapalitan ang pangalan ng ibinigay na sheet at ibinabalik totoo kung matagumpay.

Syntax:

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

Mga Parameter:

sheetname : Ang pangalan ng sheet na papalitan ng pangalan.

bagong pangalan : ang bagong pangalan ng sheet. Dapat hindi pa ito umiiral.

Halimbawa:

Pinalitan ng halimbawang ito ang aktibong sheet sa "SheetY":

Sa Basic

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

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

SetArray

Iniimbak ang ibinigay na halaga simula sa isang tinukoy na target na cell. Pinapalawak ng na-update na lugar ang sarili nito mula sa target na cell o mula sa kaliwang sulok sa itaas ng ibinigay na hanay upang ma-accommodate ang laki ng input halaga argumento. Ang mga vector ay palaging pinalawak nang patayo.

Ang pamamaraan ay nagbabalik ng isang string na kumakatawan sa binagong lugar bilang isang hanay ng mga cell.

Syntax:

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

Mga Parameter:

targetcell : Ang cell o isang hanay bilang isang string mula sa kung saan magsisimulang iimbak ang ibinigay na halaga.

halaga : Isang scalar, vector o array (sa Python, isa o dalawang-dimensional na listahan at tuple) na may mga bagong value na iimbak mula sa target na cell o mula sa kaliwang sulok sa itaas ng range kung targetcell ay isang saklaw. Ang mga bagong value ay dapat na mga string, numeric na halaga o petsa. Iba pang mga uri ay magiging sanhi ng mga kaukulang mga cell na mawalan ng laman.

Halimbawa:

Sa Basic

Ang sumusunod na halimbawa ay gumagamit ng builtin DimArray function upang lumikha ng isang array at pagkatapos ay iimbak ito sa cell "A1":


    Dim arrData as Variant
    arrData = DimArray(2, 1)
    arrData(0, 0) = 1 : arrData(1, 0) = 2 : arrData(2, 0) = 3
    arrData(0, 1) = "One" : arrData(1, 1) = "Two" : arrData(2, 1) = "Three"
    oDoc.SetArray("Sheet1.A1", arrData)
  

Ang halimbawang ito ay gumagamit ng RangeInit paraan ng Serbisyo ng ScriptForge Array upang lumikha ng isang array na may mga halaga na pagkatapos ay naka-imbak mula sa cell "A1" at pababa.


    'Punan ang 1st column ng mga value mula 1 hanggang 1000
    oDoc.SetArray("Sheet1.A1", SF_Array.RangeInit(1, 1000))
  
Sa 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

Upang itapon ang buong nilalaman ng isang array sa isang sheet, gamitin SetArray . Upang itapon ang mga nilalaman ng isang array sa loob lamang ng mga hangganan ng naka-target na hanay ng mga cell, gamitin SetValue .


SetCellStyle

Inilalapat ang tinukoy na istilo ng cell sa ibinigay na hanay ng target. Ang buong saklaw ay ina-update at ang natitira sa sheet ay hindi ginalaw. Kung ang estilo ng cell ay hindi umiiral, ang isang error ay nakataas.

Ang pamamaraan ay nagbabalik ng isang string na kumakatawan sa binagong lugar bilang isang hanay ng mga cell.

Syntax:

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

Mga Parameter:

target range : Ang hanay kung saan ilalapat ang istilo, bilang isang string.

istilo : Ang pangalan ng istilo ng cell na ilalapat.

filterformula: Isang Calc formula na dapat ilapat sa ibinigay na hanay upang matukoy kung aling mga cell ang maaapektuhan. Dapat bumalik ang tinukoy na formula totoo o Mali . Kung hindi tinukoy ang argumentong ito, maaapektuhan ang lahat ng mga cell sa hanay.

filterscope: Tinutukoy kung paano filterformula ay pinalawak sa ibinigay na hanay. Ang argumentong ito ay sapilitan kung a filterformula ay tinukoy. Ang mga sumusunod na halaga ay tinatanggap:

Halimbawa:

Sa Basic

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

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

Sumangguni sa ClearAll dokumentasyon ng pamamaraan para sa mga halimbawa kung paano gamitin ang mga argumento filterformula at filterscope .


SetFormula

Ipinapasok ang ibinigay na (array ng) (mga) formula sa tinukoy na hanay. Ang laki ng binagong lugar ay katumbas ng laki ng hanay.

Ang pamamaraan ay nagbabalik ng isang string na kumakatawan sa binagong lugar bilang isang hanay ng mga cell.

Syntax:

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

Mga Parameter:

target range : Ang hanay upang ipasok ang mga formula, bilang isang string.

pormula : Isang string, vector o hanay ng mga string na may mga bagong formula para sa bawat cell sa target na hanay.

Ang buong saklaw ay ina-update at ang natitira sa sheet ay hindi nababago.

Kung ang ibinigay na formula ay isang string, ang natatanging formula ay ipapadikit sa buong hanay na may pagsasaayos ng mga kaugnay na sanggunian.

Kung ang laki ng pormula ay mas maliit kaysa sa sukat ng target range , pagkatapos ay ang natitirang mga cell ay walang laman.

Kung ang laki ng pormula ay mas malaki kaysa sa sukat ng target range , pagkatapos ay bahagyang kinopya lamang ang mga formula hanggang sa mapunan nito ang laki ng target range .

Ang mga vector ay palaging pinalawak nang patayo, maliban kung target range may eksaktong 1 row ang taas.

note

Mga function ng Calc na ginagamit sa pormula dapat ipahayag ang argumento gamit ang kanilang mga pangalan sa Ingles. Bisitahin ang pahina ng Wiki Listahan ng Mga Pag-andar ng Calc para sa kumpletong listahan ng mga function ng Calc sa English.


Halimbawa:

Sa Basic

    oDoc.SetFormula("A1", "=A2")
    'Pahalang na vector, bahagyang walang laman
    oDoc.SetFormula("A1:F1", Array("=A2", "=B2", "=C2+10"))
    Ang 'D2 ay naglalaman ng formula na "=H2"
    oDoc.SetFormula("A1:D2", "=E1")
  
Sa Python

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

SetValue

Iniimbak ang ibinigay na halaga sa tinukoy na hanay. Ang laki ng binagong lugar ay katumbas ng laki ng target na hanay.

Ang pamamaraan ay nagbabalik ng isang string na kumakatawan sa binagong lugar bilang isang hanay ng mga cell.

Syntax:

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

Mga Parameter:

target range : Ang hanay kung saan iimbak ang ibinigay na halaga, bilang isang string.

halaga : Isang scalar, vector o array na may mga bagong value para sa bawat cell ng range. Ang mga bagong value ay dapat na mga string, numeric value o petsa. Iba pang mga uri ay magiging sanhi ng mga kaukulang mga cell na mawalan ng laman.

Ang buong saklaw ay ina-update at ang natitira sa sheet ay hindi nababago. Kung ang laki ng halaga ay mas maliit kaysa sa sukat ng target range , pagkatapos ay mawawalan ng laman ang natitirang mga cell.

Kung ang laki ng halaga ay mas malaki kaysa sa sukat ng target range , pagkatapos halaga ay bahagyang kinopya lamang hanggang sa mapunan nito ang laki ng target range .

Ang mga vector ay pinalawak nang patayo, maliban kung target range may eksaktong 1 row ang taas.

Halimbawa:

Sa Basic

    oDoc.SetValue("A1", 2)
    'Sa ibaba ng array ng Value ay mas maliit kaysa sa TargetRange (ang mga natitirang cell ay walang laman)
    oDoc.SetValue("A1:F1", Array(1, 2, 3))
    'Sa ibaba ng Halaga at TargetRange ay may parehong laki
    oDoc.SetValue("A1:D2", SF_Array.AppendRow(Array(1, 2, 3, 4), Array(5, 6, 7, 8)))
  

Kung gusto mong punan ang isang hilera ng mga halaga, maaari mong gamitin ang Offset function. Sa halimbawa sa ibaba, isaalang-alang iyon arrData ay isang one-dimensional na array:


    Dim firstCell As String : firstCell = "A1"
    Dim lenArray As Integer : lenArray = UBound(arrData) - LBound(arrData) + 1
    Dim newRange As String : newRange = oDoc.Offset(firstCell, width = lenArray)
    oDoc.SetValue(newRange, arrData)
  
Sa 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

Inililipat ang isang ibinigay na hanay ng mga cell pababa sa pamamagitan ng pagpasok ng mga walang laman na row. Ang kasalukuyang pagpili ay hindi apektado.

Depende sa halaga ng wholerow argument na ang mga ipinasok na row ay maaaring sumasaklaw sa lapad ng tinukoy na hanay o sumasaklaw sa lahat ng column sa row.

Ang pamamaraang ito ay nagbabalik ng isang string na kumakatawan sa bagong lokasyon ng paunang hanay.

note

Kung ang shifted range ay lumampas sa mga gilid ng sheet, walang mangyayari.


Syntax:

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

Mga Parameter:

saklaw : Ang hanay sa itaas kung aling mga row ang ipapasok, bilang isang string.

wholerow : Kung nakatakda sa Mali (default), kung gayon ang lapad ng ipinasok na mga hilera ay magiging kapareho ng lapad ng tinukoy saklaw . Kung hindi, ang ipinasok na row ay sasakupin ang lahat ng column sa sheet.

mga hilera : Ang bilang ng mga row na ilalagay. Ang default na halaga ay ang taas ng orihinal saklaw . Ang bilang ng mga hilera ay dapat na isang positibong numero.

Halimbawa:

Sa Basic

    ' Inililipat ang hanay na "A3:D3" pababa ng isang hilera; nakakaapekto lamang sa mga hanay A hanggang D
    oDoc.ShiftDown("A3:D3")
    ' Ang ipinasok na row ay sumasaklaw sa lahat ng column sa sheet
    oDoc.ShiftDown("A3:D3", WholeRow := True)
    ' Inililipat ang hanay na "A3:D3" pababa ng limang row
    oDoc.ShiftDown("A3:D3", Rows := 5)
    ' Inililipat ang hanay na "A3:D10" pababa ng dalawang hilera at ipinapakita ang bagong lokasyon ng orihinal na hanay
    Dim sNewRange as String
    sNewRange = oDoc.ShiftDown("A3:D10", Rows := 2)
    MsgBox sNewRange   ' $Sheet1.$A$5:$D$12
  
Sa 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

Tinatanggal ang pinakakaliwang mga column ng isang ibinigay na hanay at inililipat sa kaliwa ang lahat ng mga cell sa kanan ng apektadong hanay. Ang kasalukuyang pagpili ay hindi apektado.

Depende sa halaga ng buong hanay argument na ang mga tinanggal na column ay maaaring sumasaklaw sa taas ng tinukoy na hanay o sumasaklaw sa lahat ng row sa column.

Ang pamamaraang ito ay nagbabalik ng isang string na kumakatawan sa lokasyon ng natitirang bahagi ng paunang hanay. Kung ang lahat ng mga cell sa orihinal na hanay ay tinanggal, pagkatapos ay isang walang laman na string ang ibabalik.

Syntax:

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

Mga Parameter:

saklaw : Ang hanay kung saan ang mga cell ay tatanggalin, bilang isang string.

buong hanay : Kung nakatakda sa Mali (default), kung gayon ang taas ng mga tinanggal na column ay magiging kapareho ng taas ng tinukoy saklaw . Kung hindi, ang mga tinanggal na column ay sasakupin ang lahat ng row sa sheet.

mga hanay : Ang bilang ng mga column na tatanggalin mula sa tinukoy saklaw . Ang default na halaga ay ang lapad ng orihinal saklaw , na siya ring pinakamataas na halaga ng argumentong ito.

Halimbawa:

Sa Basic

    ' Tinatanggal ang hanay na "B3:B6"; inililipat pakaliwa ang lahat ng mga cell sa kanan
    oDoc.ShiftLeft("B3:B6")
    ' Tinatanggal ang unang column sa hanay na "A3:D6"
    oDoc.ShiftLeft("A3:D6", Columns := 1)
    ' Ang mga tinanggal na column (A hanggang D) ay sumasaklaw sa lahat ng row sa sheet
    oDoc.ShiftLeft("A3:D6", WholeColumn := True)
  
Sa Python

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

ShiftUp

Tinatanggal ang pinakamataas na mga hilera ng isang ibinigay na hanay at inililipat pataas ang lahat ng mga cell sa ibaba ng apektadong hanay. Ang kasalukuyang pagpili ay hindi apektado.

Depende sa halaga ng wholerow argument ang mga tinanggal na row ay maaaring sumasaklaw sa lapad ng tinukoy na hanay o sumasaklaw sa lahat ng column sa row.

Ang pamamaraang ito ay nagbabalik ng isang string na kumakatawan sa lokasyon ng natitirang bahagi ng paunang hanay. Kung ang lahat ng mga cell sa orihinal na hanay ay tinanggal, pagkatapos ay isang walang laman na string ang ibabalik.

Syntax:

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

Mga Parameter:

saklaw : Ang hanay kung saan ang mga cell ay tatanggalin, bilang isang string.

wholerow : Kung nakatakda sa Mali (default), kung gayon ang lapad ng mga tinanggal na hilera ay magiging kapareho ng lapad ng tinukoy na saklaw . Kung hindi, ang natanggal na row ay sasakupin ang lahat ng column sa sheet.

mga hilera : Ang bilang ng mga row na tatanggalin mula sa tinukoy saklaw . Ang default na halaga ay ang taas ng orihinal saklaw , na siya ring pinakamataas na halaga ng argumentong ito.

Halimbawa:

Sa Basic

    ' Tinatanggal ang hanay na "A3:D3"; inililipat ang lahat ng mga cell sa ibaba nito nang isang hilera pataas
    oDoc.ShiftUp("A3:D3")
    ' Tinatanggal ang unang hilera sa hanay na "A3:D6"
    oDoc.ShiftUp("A3:D6", Rows := 1)
    ' Ang mga tinanggal na row ay sumasaklaw sa lahat ng column sa sheet
    oDoc.ShiftUp("A3:D6", WholeRow := True)
  
Sa Python

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

ShiftRight

Inilipat ang isang ibinigay na hanay ng mga cell sa kanan sa pamamagitan ng pagpasok ng mga walang laman na column. Ang kasalukuyang pagpili ay hindi apektado.

Depende sa halaga ng buong hanay argument na ang mga ipinasok na column ay maaaring sumasaklaw sa taas ng tinukoy na hanay o sumasaklaw sa lahat ng row sa column.

Ang pamamaraang ito ay nagbabalik ng isang string na kumakatawan sa bagong lokasyon ng paunang hanay.

note

Kung ang shifted range ay lumampas sa mga gilid ng sheet, walang mangyayari.


Syntax:

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

Mga Parameter:

saklaw : Ang hanay na may mga bakanteng column na ipinapasok sa kaliwa nito, bilang isang string.

buong hanay : Kung nakatakda sa Mali (default), kung gayon ang taas ng mga ipinasok na column ay magiging kapareho ng taas ng tinukoy saklaw . Kung hindi, ang mga ipinasok na column ay sasakupin ang lahat ng row sa sheet.

mga hanay : Ang bilang ng mga column na ilalagay. Ang default na halaga ay ang lapad ng orihinal saklaw .

Halimbawa:

Sa Basic

    ' Inililipat ang hanay na "A3:A6" pakanan ng isang column; nakakaapekto lamang sa mga row 3 hanggang 6
    oDoc.ShiftRight("A3:A6")
    ' Inililipat ang hanay na "A3:A6" pakanan ng limang column
    oDoc.ShiftRight("A3:A6", Columns := 5)
    ' Ang ipinasok na column ay sumasaklaw sa lahat ng row sa sheet
    oDoc.ShiftRight("A3:A6", WholeColumn := True)
  
Sa Python

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

SortRange

Pagbukud-bukurin ang ibinigay na hanay sa anumang bilang ng mga column/row. Maaaring mag-iba ang pagkakasunud-sunod ng pag-uuri ayon sa column/row. Kung ang bilang ng mga key ng pag-uuri ay > 3, ang hanay ay pinagbubukod-bukod ng ilang beses, ayon sa mga pangkat ng 3 mga key, simula sa huling key. Nagbabalik ito ng string na kumakatawan sa binagong hanay ng mga cell. Ang laki ng binagong lugar ay ganap na tinutukoy ng laki ng lugar ng pinagmulan.

Syntax:

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

Mga Parameter:

saklaw : Ang hanay na pagbubukud-bukod, bilang isang string.

mga sortkey : Isang scalar (kung 1 column/row) o isang array ng column/row number na nagsisimula sa 1.

pagkakasunud-sunod : Isang scalar o hanay ng mga string na naglalaman ng mga value na "ASC" (pataas), "DESC" (pababa). Ang bawat item ay ipinares sa kaukulang item sa mga sortkey . Kung ang pagkakasunud-sunod array ay mas maikli kaysa sa mga sortkey , ang natitirang mga key ay pinagbukud-bukod sa pataas na pagkakasunud-sunod.

destinationcell : Ang patutunguhang cell ng pinagsunod-sunod na hanay ng mga cell, bilang isang string. Kung may ibinigay na hanay, tanging ang tuktok na kaliwang cell nito ang isasaalang-alang. Bilang default, na-overwrite ang Source Range.

naglalaman ngheader : Kailan totoo , ang unang row/column ay hindi pinagsunod-sunod.

casesensitive : Para lamang sa mga paghahambing ng string. Default = Mali

mga sortcolumn : Kailan totoo , pinagbukud-bukod ang mga column mula kaliwa hanggang kanan. Default = Mali : ang mga hilera ay pinagsunod-sunod mula sa itaas hanggang sa ibaba.

Halimbawa:

Sa Basic

    'Pagbukud-bukurin ang hanay batay sa mga column A (pataas) at C (pababa)
    oDoc.SortRange("A2:J200", Array(1, 3), Array("ASC", "DESC"), CaseSensitive := True)
  
Sa Python

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

Lahat ScriptForge Ang mga pangunahing gawain o identifier na may prefix na may underscore na character na "_" ay nakalaan para sa panloob na paggamit. Ang mga ito ay hindi nilalayong gamitin sa Basic macros o Python script.


Mangyaring suportahan kami!