LibreOfficeDev 25.8 Βοήθεια
Η κοινόχρηστη βιβλιοθήκη SFDocuments παρέχει έναν αριθμό μεθόδων και ιδιοτήτων για τη διευκόλυνση της διαχείρισης και του χειρισμού των εγγράφων του LibreOfficeDev.
Η υπηρεσία SFDocuments.Calc είναι μια υποκατηγορία της υπηρεσίας SFDocuments.Document . Όλες οι μέθοδοι και οι ιδιότητες που ορίζονται για την υπηρεσία Document μπορούν επίσης να προσπελαστούν χρησιμοποιώντας μια παρουσία υπηρεσίας Calc.
Η υπηρεσία Calc επικεντρώνεται σε:
Χειρισμός φύλλων σε έγγραφο Calc (αντιγραφή, εισαγωγή, μετακίνηση κ.λπ.)
Ανταλλαγή δεδομένων μεταξύ δομών δεδομένων Basic και περιοχών Calc
Αντιγραφή και εισαγωγή μαζικών ποσοτήτων δεδομένων
Αυτή η σελίδα βοήθειας περιγράφει μεθόδους και ιδιότητες που ισχύουν μόνο για έγγραφα Calc.
Πριν τη χρήση της υπηρεσίας Calc, πρέπει να φορτωθεί ή να εισαχθεί η βιβλιοθήκη ScriptForge:
Η υπηρεσία Calc σχετίζεται στενά με την υπηρεσία UI της βιβλιοθήκης ScriptForge. Παρακάτω είναι μερικά παραδείγματα για το πώς μπορεί να κληθεί η υπηρεσία Calc.
Το παρακάτω απόσπασμα κώδικα δημιουργεί μια παρουσία υπηρεσίας Calc που αντιστοιχεί στο τρέχον ενεργό έγγραφο Calc.
    Set oDoc = CreateScriptService("Calc")
  Ένας άλλος τρόπος για να δημιουργήσετε μια παρουσία της υπηρεσίας Calc είναι η χρήση της υπηρεσίας UI. Στο παρακάτω παράδειγμα, δημιουργείται ένα νέο έγγραφο Calc και το oDoc είναι μια παρουσία υπηρεσίας Calc:
    Dim ui As Object, oDoc As Object
    Set ui = CreateScriptService("UI")
    Set oDoc = ui.CreateDocument("Calc")
  Ή χρησιμοποιώντας τη μέθοδο OpenDocument από την υπηρεσία UI:
    Set oDoc = ui.OpenDocument("C:\Documents\MyFile.ods")
  Είναι επίσης δυνατό να δημιουργηθεί η υπηρεσία Calc καθορίζοντας ένα όνομα παραθύρου για τη μέθοδο CreateScriptService:
    Dim oDoc As Object
    Set oDoc = CreateScriptService("SFDocuments.Calc", "MyFile.ods")
  Στο παραπάνω παράδειγμα, το "MyFile.ods" είναι το όνομα ενός ανοιχτού παραθύρου εγγράφου. Εάν αυτό το όρισμα δεν παρέχεται, εξετάζεται το ενεργό παράθυρο.
Είναι επίσης δυνατή η κλήση της υπηρεσίας Calc χρησιμοποιώντας το έγγραφο που αναφέρεται από το ThisComponent. Αυτό είναι ιδιαίτερα χρήσιμο όταν εκτελείτε μια μακροεντολή μέσα από το IDE της Basic.
    Dim oDoc As Object
    Set oDoc = CreateScriptService("Calc", ThisComponent)
  Συνιστάται η απελευθέρωση πόρων μετά τη χρήση:
    Set oDoc = oDoc.Dispose()
  Ωστόσο, εάν το έγγραφο έκλεισε χρησιμοποιώντας τη μέθοδο CloseDocument, δεν είναι απαραίτητο να απελευθερωθούν πόροι χρησιμοποιώντας την εντολή που περιγράφεται παραπάνω.
    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)
  Η χρήση του προθέματος "SFDocuments." κατά την κλήση της υπηρεσίας είναι προαιρετική.
Πολλές μέθοδοι απαιτούν ένα "Sheet" (Φύλλο) ή ένα "Range" (Εύρος) ως όρισμα. Τα μεμονωμένα κελιά θεωρούνται ειδική περίπτωση Range.
Και τα δύο μπορούν να εκφραστούν είτε ως συμβολοσειρά είτε ως αναφορά (= αντικείμενο) ανάλογα με την κατάσταση:
Μέσα σε μια συγκεκριμένη Calc περίπτωση, τα φύλλα και τα εύρη δίνονται ως συμβολοσειρές όπως "Φύλλο1" και "D2:F6".
Επιπλέον, οι ιδιότητες .Sheet και .Range επιστρέφουν μια αναφορά που μπορεί να χρησιμοποιηθεί ως όρισμα μιας μεθόδου που καλείται από άλλο στιγμιότυπο υπηρεσίας του Calc.
Το παρακάτω παράδειγμα αντιγράφει δεδομένα από το έγγραφο Α (ανοιχτό ως μόνο για ανάγνωση και κρυφό) στο έγγραφο Β.
    Dim oDocA As Object, oDocB As Object
    Set oDocA = ui.OpenDocument("C:\Documents\FileA.ods", Hidden := True, ReadOnly := True)
    Set oDocB = ui.OpenDocument("C:\Documents\FileB.ods")
    oDocB.CopyToRange(oDocA.Range("SheetX.D4:F8"), "D2:F6") 'CopyToRange(source, target)
  
    docA = ui.OpenDocument(r"C:\Documents\FileA.ods", hidden = True, readonly = True)
    docB = ui.OpenDocument(r"C:\Documents\FileB.ods")
    docB.CopyToRange(docA.Range("SheetX.D4:F8"), "D2:F6")
  Είτε το όνομα του φύλλου ως string είτε ως αντικείμενο που παράγεται από την ιδιότητα .Sheet.
Η συντόμευση "~" (tilde) αντιπροσωπεύει το τρέχον φύλλο.
Είτε μια συμβολοσειρά που δηλώνει ένα σύνολο συνεχόμενων κελιών που βρίσκονται σε ένα φύλλο της τρέχουσας παρουσίας είτε ένα object (αντικείμενο) που παράγεται από την ιδιότητα .Range.
Η συντόμευση "~" (tilde) αντιπροσωπεύει την τρέχουσα επιλογή ή το πρώτο επιλεγμένο εύρος εάν έχουν επιλεγεί πολλαπλές περιοχές.
Η συντόμευση "*" αντιπροσωπεύει όλα τα χρησιμοποιημένα κελιά.
Το όνομα του φύλλου είναι προαιρετικό όταν ορίζετε μια περιοχή. Εάν δεν παρέχεται όνομα φύλλου, τότε χρησιμοποιείται το ενεργό φύλλο. Τα γύρω μεμονωμένα εισαγωγικά και τα σημάδια $ επιτρέπονται αλλά αγνοούνται.
Κατά τον καθορισμό ενός SheetName ως συμβολοσειράς, απαιτείται η χρήση μεμονωμένων εισαγωγικών για να περικλείεται το όνομα του φύλλου, εάν το όνομα περιέχει κενά " " ή τελείες ".".
Τα παρακάτω παραδείγματα δείχνουν σε ποιες περιπτώσεις είναι υποχρεωτική η χρήση μεμονωμένων εισαγωγικών:
      ' Η χρήση μονών εισαγωγικών είναι προαιρετική
      oDoc.clearAll("SheetA.A1:B10")
      oDoc.clearAll("'SheetA'.A1:B10")
      ' Απαιτείται η χρήση μονών εισαγωγικών
      oDoc.clearAll("'Sheet.A'.A1:B10")
    Εκτός από την ιδιότητα CurrentSelection, η υπηρεσία Calc λαμβάνει υπόψη μόνο μεμονωμένες περιοχές κελιών.
| Παραδείγματα έγκυρων περιοχών | |
|---|---|
| 1) $'SheetX'.D2 | Ένα μόνο κελί | 
| 1) $'SheetX'.D2:F6 | Ενιαία περιοχή με πολλαπλά κελιά | 
| $'SheetX'.* | Όλα τα κελιά που χρησιμοποιήθηκαν στο συγκεκριμένο φύλλο | 
| 1) $'SheetX'.A:A (στήλη A) | Όλα τα κελιά σε συνεχόμενες στήλες ή σειρές μέχρι το τελευταίο κελί που χρησιμοποιήθηκε | 
| myRange (περιοχή_μου) | Μια περιοχή με το όνομα "myRange" (περιοχή_μου) σε επίπεδο υπολογιστικού φύλλου | 
| 1) ~.someRange | Ένα όνομα περιοχής σε επίπεδο φύλλου | 
| myDoc.Range("SheetX.D2:F6") | Μια περιοχή εντός του φύλλου SheetX στο αρχείο που σχετίζεται με την παρουσία myDoc Calc | 
| ~.~ ή ~ | Η τρέχουσα επιλογή στο ενεργό φύλλο | 
Όλες οι ιδιότητες που είναι γενικές σε οποιοδήποτε έγγραφο ισχύουν έμμεσα και για έγγραφα Calc. Για περισσότερες πληροφορίες, διαβάστε τη σελίδα βοήθειας της υπηρεσίας εγγράφων.
Οι ιδιότητες που είναι ειδικά διαθέσιμες για έγγραφα Calc είναι:
| Όνομα | Μόνο για ανάγνωση | Όρισμα | Τύπος επιστροφής | Περιγραφή | 
|---|---|---|---|---|
| CurrentSelection | Όχι | Καμία | Συμβολοσειρά ή πίνακας συμβολοσειρών | Η μεμονωμένη επιλεγμένη περιοχή ως συμβολοσειρά ή κατάλογος των επιλεγμένων περιοχών ως πίνακας. | 
| FirstCell | Ναι | SheetName ή RangeName ως String (συμβολοσειρά) | String | Επιστρέφει το πρώτο κελί που χρησιμοποιήθηκε σε μια δεδομένη περιοχή ή φύλλο. | 
| FirstColumn | Ναι | SheetName ή RangeName ως String (συμβολοσειρά) | Long | Επιστρέφει τον πιο αριστερό αριθμό στήλης σε μια δεδομένη περιοχή ή φύλλο. | 
| FirstRow | Ναι | SheetName ή RangeName ως String (συμβολοσειρά) | Long | Επιστρέφει τον κορυφαίο αριθμό σειράς σε μια δεδομένη περιοχή ή φύλλο. | 
| Height | Ναι | RangeName ως συμβολοσειρά | Long | Ο αριθμός των σειρών (>= 1) στη δεδομένη περιοχή. | 
| LastCell | Ναι | SheetName ή RangeName ως String (συμβολοσειρά) | String | Επιστρέφει το τελευταίο κελί που χρησιμοποιήθηκε σε μια δεδομένη περιοχή ή φύλλο. | 
| LastColumn | Ναι | SheetName ή RangeName ως String (συμβολοσειρά) | Long | Η τελευταία χρησιμοποιούμενη στήλη σε μια δεδομένη περιοχή ή φύλλο. | 
| LastRow | Ναι | SheetName ή RangeName ως String (συμβολοσειρά) | Long | Η τελευταία χρησιμοποιημένη σειρά σε μια δεδομένη περιοχή ή φύλλο. | 
| Range | Ναι | RangeName ως συμβολοσειρά | Object | Μια αναφορά περιοχής που μπορεί να χρησιμοποιηθεί ως όρισμα μεθόδων όπως CopyToRange. | 
| Region | Ναι | RangeName ως συμβολοσειρά | String | Επιστρέφει τη διεύθυνση της μικρότερης περιοχής που περιέχει την καθορισμένη περιοχή, έτσι ώστε η περιοχή να περιβάλλεται από κενά κελιά ή άκρες φύλλων. Αυτό ισοδυναμεί με την εφαρμογή της συντόμευσης Command + *Ctrl + * στη δεδομένη περιοχή. | 
| Sheet | Ναι | SheetName ως String (συμβολοσειρά) | Object | Μια αναφορά φύλλου που μπορεί να χρησιμοποιηθεί ως όρισμα μεθόδων όπως CopySheet. | 
| SheetName | Ναι | RangeName ως συμβολοσειρά | String | Επιστρέφει το όνομα φύλλου μιας δεδομένης διεύθυνσης περιοχής. | 
| Sheets | Ναι | Καμία | Πίνακας συμβολοσειρών | Ο κατάλογος με τα ονόματα όλων των υπαρχόντων φύλλων. | 
| Width | Ναι | RangeName ως συμβολοσειρά | Long | Ο αριθμός των στηλών (>= 1) στη δεδομένη περιοχή. | 
| XCellRange | Ναι | RangeName ως συμβολοσειρά | Object | Ένα αντικείμενο UNO com.sun.star.Table.XCellRange. | 
| XSheetCellCursor | Ναι | RangeName ως συμβολοσειρά | Object | Ένα αντικείμενο UNO com.sun.star.sheet.XSheetCellCursor. Μετά τη μετακίνηση του δρομέα, η προκύπτουσα διεύθυνση περιοχής μπορεί να προσπελαστεί μέσω της ιδιότητας UNO AbsoluteName του αντικειμένου του δρομέα, η οποία επιστρέφει μια τιμή συμβολοσειράς που μπορεί να χρησιμοποιηθεί ως όρισμα για ιδιότητες και μεθόδους της υπηρεσίας Calc. | 
| XSpreadsheet | Ναι | SheetName ως String (συμβολοσειρά) | Object | Ένα αντικείεμενο UNO com.sun.star.sheet.XSpreadsheet. | 
Επισκεφτείτε τον ιστότοπο της τεκμηρίωσης του API LibreOfficeDev για να μάθετε περισσότερα σχετικά με τα αντικείμενα UNO XCellRange, XSheetCellCursor and XSpreadsheet.
Επιστρέφει μια διεύθυνση περιοχής ως συμβολοσειρά με βάση τις συντεταγμένες του φύλλου, δηλαδή αριθμούς σειρών και στηλών.
Εάν δίνεται μόνο ένα ζεύγος συντεταγμένων, τότε επιστρέφεται μια διεύθυνση σε ένα μόνο κελί. Πρόσθετα ορίσματα μπορούν να καθορίσουν το κάτω δεξιό κελί μιας ορθογώνιας περιοχής.
svc.A1Style(row1: int, column1: int, row2: int = 0; column2: int = 0; sheetname: str = "~"): str
row1, column1 (σειρά1, στήλη 1): Καθορίστε τους αριθμούς σειρών και στηλών του κελιού επάνω αριστερά στην περιοχή που θα ληφθεί υπόψη. Οι αριθμοί σειρών και στηλών ξεκινούν από το 1.
row2, column2 (σειρά2, στήλη2): Καθορίστε τους αριθμούς σειρών και στηλών του κάτω δεξιού κελιού στην περιοχή που θα ληφθεί υπόψη. Εάν αυτά τα ορίσματα δεν παρέχονται ή εάν δίνονται τιμές μικρότερες από row1 και column1, τότε επιστρέφεται η διεύθυνση της περιοχής ενός κελιού που αντιπροσωπεύεται από row1 και column1.
sheetname (όνομα φύλλου): Το όνομα του φύλλου που θα προστεθεί στη διεύθυνση περιοχής που επιστρέφεται. Το φύλλο πρέπει να υπάρχει. Η προεπιλεγμένη τιμή είναι "~" που αντιστοιχεί στο τρέχον ενεργό φύλλο.
Τα παρακάτω παραδείγματα σε Basic και Python θεωρούν ότι το "Sheet1" είναι το τρέχον ενεργό φύλλο.
    Set oDoc = CreateScriptService("Calc")
    addr1 = oDoc.A1Style(1, 1) ' '$Sheet1'.$A$1
    addr2 = oDoc.A1Style(2, 2, 3, 6) ' '$Sheet1'.$B$2:$F$3
    addr3 = oDoc.A1Style(2, 2, 0, 6) ' '$Sheet1'.$B$2
    addr4 = oDoc.A1Style(3, 4, 3, 8, "Sheet2") ' '$Sheet2'.$D$3:$H$3
    addr5 = oDoc.A1Style(5, 1, SheetName := "Sheet3") ' '$Sheet3'.$A$5
  
    doc = CreateScriptService("Calc")
    addr1 = doc.A1Style(1, 1) # '$Sheet1'.$A$1
    addr2 = doc.A1Style(2, 2, 3, 6) # '$Sheet1'.$B$2:$F$3
    addr3 = doc.A1Style(2, 2, 0, 6) # '$Sheet1'.$B$2
    addr4 = doc.A1Style(3, 4, 3, 8, "Sheet2") # '$Sheet2'.$D$3:$H$3
    addr5 = doc.A1Style(5, 1, sheetname="Sheet3") # '$Sheet3'.$A$5
  Η μέθοδος A1Style μπορεί να συνδυαστεί με οποιαδήποτε από τις πολλές ιδιότητες και μεθόδους της υπηρεσίας Calc που απαιτούν μια περιοχή ως όρισμα, όπως GetValue, GetFormula, ClearAll, κ.λπ.
Εάν παρέχεται το όρισμα sheetname, το δεδομένο φύλλο ενεργοποιείται και γίνεται το τρέχον επιλεγμένο φύλλο. Εάν το όρισμα απουσιάζει, τότε ενεργοποιείται το παράθυρο του εγγράφου.
svc.Activate(sheetname: str = ""): bool
sheetname (όνομα φύλλου): Το όνομα του φύλλου που θα ενεργοποιηθεί στο έγγραφο. Η προεπιλεγμένη τιμή είναι μια κενή συμβολοσειρά, που σημαίνει ότι το παράθυρο του εγγράφου θα ενεργοποιηθεί χωρίς να αλλάξει το ενεργό φύλλο.
Το παρακάτω παράδειγμα ενεργοποιεί το φύλλο με το όνομα "Sheet4" στο τρέχον ενεργό έγγραφο.
    Dim ui as Variant, oDoc as Object
    Set ui = CreateScriptService("UI")
    Set oDoc = ui.GetDocument(ui.ActiveWindow)
    oDoc.Activate("Sheet4")
  
    ui = CreateScriptService("UI")
    myDoc = ui.GetDocument(ui.ActiveWindow)
    myDoc.Activate("Sheet4")
  Η ενεργοποίηση ενός φύλλου έχει νόημα μόνο εάν εκτελείται σε έγγραφο Calc. Για να βεβαιωθείτε ότι έχετε διαθέσιμο ένα έγγραφο Calc, μπορείτε να χρησιμοποιήσετε την ιδιότητα isCalc του αντικειμένου του εγγράφου, η οποία επιστρέφει True εάν είναι έγγραφο Calc και False αλλιώς.
Επιστρέφει είτε τον κατάλογο με τα ονόματα όλων των αντικειμένων γραφήματος σε ένα δεδομένο φύλλο είτε μια μεμονωμένη παρουσία υπηρεσίας Chart.
Εάν έχει καθοριστεί μόνο sheetname (όνομα φύλλου), επιστρέφεται ένας πίνακας συμβολοσειρών με βάση το μηδέν που περιέχει τα ονόματα όλων των γραφημάτων.
Εάν παρέχεται ένα chartname (όνομα γραφήματος), τότε επιστρέφεται ένα μεμονωμένο αντικείμενο που αντιστοιχεί στο επιθυμητό γράφημα. Το καθορισμένο γράφημα πρέπει να υπάρχει.
svc.Charts(sheetname: str, chartname: str = ""): obj
sheetname (όνομα φύλλου): Το όνομα του φύλλου από το οποίο πρόκειται να ανακτηθεί ο κατάλογος των γραφημάτων ή όπου βρίσκεται το καθορισμένο γράφημα.
chartname (όνομα γραφήματος): Το όνομα που ορίζεται από τον χρήστη του αντικειμένου του γραφήματος που θα επιστραφεί. Εάν το γράφημα δεν έχει όνομα χρήστη, τότε μπορεί να χρησιμοποιηθεί το όνομα του εσωτερικού αντικειμένου. Εάν αυτό το όρισμα απουσιάζει, τότε επιστρέφεται ο κατάλογος με τα ονόματα γραφημάτων στο καθορισμένο φύλλο.
Χρησιμοποιήστε την πλευρική γραμμή για να ελέγξετε τα ονόματα που έχουν εκχωρηθεί σε γραφήματα στην κατηγορία .
Το παρακάτω παράδειγμα δείχνει τον αριθμό των αντικειμένων γραφήματος στο "Φύλλο1".
    Dim arrNames as Object
    arrNames = oDoc.Charts("Sheet1")
    MsgBox "There are " & UBound(arrNames) + 1 & " charts in Sheet1"
  Το παρακάτω παράδειγμα έχει πρόσβαση στο γράφημα με το όνομα "MyChart" στο "Φύλλο1" και εκτυπώνει τον τύπο του.
    Dim oChart as Object
    oChart = oDoc.Charts("Sheet1", "MyChart")
    MsgBox oChart.ChartType
  
    bas = CreateScriptService("Basic")
    chart_names = doc.Charts("Sheet1")
    bas.MsgBox(f"There are {len(chart_names)} charts in Sheet1")
  
    chart = doc.Charts("Sheet1", "MyChart")
    bas.MsgBox(chart.ChartType)
  Διαγράφει όλα τα περιεχόμενα και τις μορφές της δεδομένης περιοχής.
Ένας τύπος φίλτρου μπορεί να καθοριστεί για να προσδιοριστεί ποια κελιά θα επηρεαστούν.
svc.ClearAll(range: str, opt filterformula: str, opt filterscope: str)
range: Το εύρος που θα διαγραφεί, ως συμβολοσειρά.
filterformula: Ένας τύπος Calc που θα εφαρμοστεί στο δεδομένο εύρος για να προσδιοριστεί ποια κελιά θα επηρεαστούν. Ο καθορισμένος τύπος πρέπει να επιστρέψει True, ή False. Εάν αυτό το όρισμα δεν έχει καθοριστεί, τότε επηρεάζονται όλα τα κελιά της περιοχής.
filterscope: Καθορίζει τον τρόπο επέκτασης του filterformula στο δεδομένο εύρος. Αυτό το όρισμα είναι υποχρεωτικό εάν έχει καθοριστεί ο filterformula. Γίνονται αποδεκτές οι ακόλουθες τιμές:
"CELL": Ο τύπος που καθορίζεται στο όρισμα filterformula επεκτείνεται μία φορά για κάθε κελί στο range.
"ROW": Ο τύπος που καθορίζεται στο όρισμα filterformula επεκτείνεται μία φορά για κάθε σειρά στο range.
"COLUMN": Ο τύπος που καθορίζεται στο όρισμα filterformula επεκτείνεται μία φορά για κάθε στήλη στο range.
    ' Διαγράφει όλα τα κελιά στην περιοχή SheetX.A1:J10
    oDoc.ClearAll("SheetX.A1:J10")
    ' Διαγράφει όλα τα κελιά στην περιοχή SheetX.A1:J10 που έχουν τιμή μεγαλύτερη από 100
    oDoc.ClearAll("SheetX.A1:J10", "=SheetX.A1>100", "CELL")
    ' Διαγράφει όλες τις σειρές στην περιοχή SheetX.A1:J10 των οποίων το άθροισμα είναι μεγαλύτερο από 500
    oDoc.ClearAll("SheetX.A1:J10", "=SUM(SheetX.A1:J1)>100", "ROW")
    ' Διαγράφει όλες τις στήλες στην περιοχή SheetX.A1:J10 των οποίων το άθροισμα είναι μεγαλύτερο από 500
    oDoc.ClearAll("SheetX.A1:J10", "=SUM(SheetX.A1:A10)>100", "COLUMN")
  
    myDoc.ClearAll("SheetX.A1:F10")
    myDoc.ClearAll("SheetX.A1:J10", "=SheetX.A1>100", "CELL")
    myDoc.ClearAll("SheetX.A1:J10", "=SUM(SheetX.A1:J1)>100", "ROW")
    myDoc.ClearAll("SheetX.A1:J10", "=SUM(SheetX.A1:A10)>100", "COLUMN")
  Διαγράφει τις μορφές και τις τεχνοτροπίες στη δεδομένη περιοχή.
Ένας τύπος φίλτρου μπορεί να καθοριστεί για να προσδιοριστεί ποια κελιά θα επηρεαστούν.
svc.ClearFormats(range: str, opt filterformula: str, opt filterscope: str)
range (περιοχή0: η περιοχή της οποίας οι μορφές και οι τεχνοτροπίες πρέπει να διαγραφούν, ως συμβολοσειρά.
      oDoc.ClearFormats("SheetX.*")
  
    myDoc.ClearFormats("SheetX.*")
  Ανατρέξτε στην τεκμηρίωση της μεθόδου ClearAll για παραδείγματα σχετικά με τον τρόπο χρήσης των ορισμάτων filterformula και filterscope.
Διαγράφει τις τιμές και τους τύπους στη δεδομένη περιοχή.
Ένας τύπος φίλτρου μπορεί να καθοριστεί για να προσδιοριστεί ποια κελιά θα επηρεαστούν.
svc.ClearValues(range: str, opt filterformula: str, opt filterscope: str)
range (περιοχή): Η περιοχή της οποίας οι τιμές και οι τύποι πρέπει να διαγραφούν, ως συμβολοσειρά.
      oDoc.ClearValues("SheetX.A1:F10")
  
    myDoc.ClearValues("SheetX.A1:F10")
  Ανατρέξτε στην τεκμηρίωση της μεθόδου ClearAll για παραδείγματα σχετικά με τον τρόπο χρήσης των ορισμάτων filterformula και filterscope.
Διαγράφει τις στήλες μιας καθορισμένης περιοχής που ταιριάζουν με ένα φίλτρο που εκφράζεται ως τύπος Calc. Το φίλτρο εφαρμόζεται σε κάθε στήλη για να αποφασίσει εάν θα διαγραφεί ή όχι.
Η διαγραμμένη στήλη μπορεί να περιοριστεί στο ύψος του καθορισμένου εύρους ή να εκτείνεται στο ύψος ολόκληρου του φύλλου, διαγράφοντας έτσι ολόκληρες στήλες.
Αυτή η μέθοδος επιστρέφει μια συμβολοσειρά με τη διεύθυνση εύρους της συμπυκνωμένης περιοχής. Εάν διαγραφούν όλες οι στήλες, τότε επιστρέφεται μια κενή συμβολοσειρά.
Εάν επιλεγεί μια περιοχή κελιών, η κλήση αυτής της μεθόδου δεν θα επηρεάσει την επιλογή.
svc.CompactLeft(range: str, wholecolumn: bool = False, opt filterformula: str): str
range (περιοχή): Η περιοχή από την οποία θα διαγραφούν οι στήλες, ως συμβολοσειρές.
(ολόκληρη στήλη): Εάν αυτή η επιλογή οριστεί σε True ολόκληρη η στήλη θα διαγραφεί από το φύλλο. Η προεπιλεγμένη τιμή είναι False, που σημαίνει ότι η διαγραμμένη στήλη θα περιοριστεί στο ύψος της καθορισμένης range (περιοχής).
filterformula: Το φίλτρο που θα εφαρμοστεί σε κάθε στήλη για να καθοριστεί εάν θα διαγραφεί ή όχι. Το φίλτρο εκφράζεται ως τύπος Calc που πρέπει να εφαρμοστεί στην πρώτη στήλη. Όταν ο τύπος επιστρέψει True για μια στήλη, αυτή η στήλη θα διαγραφεί. Το προεπιλεγμένο φίλτρο διαγράφει όλες τις κενές στήλες.
Για παράδειγμα, ας υποθέσουμε ότι έχει επιλεγεί η περιοχή A1:J200 (ύψος = 200), επομένως ο προεπιλεγμένος τύπος είναι =(COUNTBLANK(A1:A200)=200). Αυτό σημαίνει ότι εάν και τα 200 κελιά είναι κενά στην πρώτη στήλη (Στήλη Α), τότε η στήλη διαγράφεται. Σημειώστε ότι ο τύπος εκφράζεται μόνο σε σχέση με την πρώτη στήλη. Εσωτερικά, η μέθοδος CompactLeft θα γενικεύσει αυτόν τον τύπο για όλες τις υπόλοιπες στήλες.
Οι συναρτήσεις του Calc που χρησιμοποιούνται στο όρισμα filterformula πρέπει να εκφράζονται χρησιμοποιώντας τα αγγλικά τους ονόματα. Επισκεφτείτε τη σελίδα Wiki List of Calc Functions για έναν πλήρη κατάλογο συναρτήσεων Calc στα Αγγλικά.
    ' Διαγραφή όλων των κενών στηλών στην περιοχή G1:L10 από το Φύλλο1
    newrange = oDoc.CompactLeft("Sheet1.G1:L10")
    ' Το παρακάτω παράδειγμα είναι παρόμοιο, αλλά ολόκληρη η στήλη διαγράφεται από το φύλλο
    newrange = oDoc.CompactLeft("Sheet1.G1:L10", WholeColumn := True)
    ' Διαγράφει όλες τις στήλες όπου η πρώτη γραμμή σημειώνεται με "Χ"
    newrange = oDoc.CompactLeft("Sheet1.G1:L10", FilterFormula := "=(G1=""X"")")
    ' Διαγράφει όλες τις στήλες όπου το άθροισμα των τιμών στη στήλη είναι περιττό
    newrange = oDoc.CompactLeft("Sheet1.G1:L10", FilterFormula := "=(MOD(SUM(G1:G10);2)=1)")
  
    newrange = myDoc.CompactLeft("Sheet1.G1:L10")
    newrange = myDoc.CompactLeft("Sheet1.G1:L10", wholecolumn = True)
    newrange = myDoc.CompactLeft("Sheet1.G1:L10", filterformula = '=(G1="X")')
    newrange = myDoc.CompactLeft("Sheet1.G1:L10", filterformula = '=(MOD(SUM(G1:G10);2)=1)')
  Διαγράφει τις σειρές μιας καθορισμένης περιοχής που ταιριάζουν με ένα φίλτρο που εκφράζεται ως τύπος Calc. Το φίλτρο εφαρμόζεται σε κάθε σειρά για να αποφασίσει αν θα διαγραφεί ή όχι.
Οι διαγραμμένες σειρές μπορούν να περιοριστούν στο πλάτος της καθορισμένης περιοχής, ή να εκτείνονται στο πλάτος ολόκληρου του φύλλου, διαγράφοντας έτσι ολόκληρες σειρές.
Αυτή η μέθοδος επιστρέφει μια συμβολοσειρά με τη διεύθυνση περιοχής της συμπυκνωμένης περιοχής. Εάν διαγραφούν όλες οι σειρές, τότε επιστρέφεται μια κενή συμβολοσειρά.
Εάν επιλεγεί μια περιοχή κελιών, η κλήση αυτής της μεθόδου δεν θα επηρεάσει την επιλογή.
svc.CompactUp(range: str, wholerow: bool = False, opt filterformula: str): str
range (περιοχή): Το εύρος από το οποίο θα διαγραφούν οι σειρές, ως συμβολοσειρά.
wholerow: Εάν αυτή η επιλογή οριστεί σε True ολόκληρη η σειρά θα διαγραφεί από το φύλλο. Η προεπιλεγμένη τιμή είναι False, που σημαίνει ότι η διαγραμμένη σειρά θα περιοριστεί στο πλάτος της καθορισμένης range (περιοχής).
filterformula: Το φίλτρο που θα εφαρμοστεί σε κάθε σειρά για να καθοριστεί εάν θα διαγραφεί ή όχι. Το φίλτρο εκφράζεται ως τύπος Calc που πρέπει να εφαρμοστεί στην πρώτη σειρά. Όταν ο τύπος επιστρέψει True για μια σειρά, αυτή η σειρά θα διαγραφεί. Το προεπιλεγμένο φίλτρο διαγράφει όλες τις κενές σειρές.
Για παράδειγμα, ας υποθέσουμε ότι έχει επιλεγεί η περιοχή A1:J200 (πλάτος = 10), οπότε ο προεπιλεγμένος τύπος είναι =(COUNTBLANK(A1:J1)=10). Αυτό σημαίνει ότι εάν και τα 10 κελιά είναι κενά στην πρώτη σειρά (Σειρά 1), τότε η σειρά διαγράφεται. Σημειώστε ότι ο τύπος εκφράζεται μόνο σε σχέση με την πρώτη σειρά. Εσωτερικά, η μέθοδος CompactUp θα γενικεύσει αυτόν τον τύπο για όλες τις υπόλοιπες σειρές.
Οι συναρτήσεις Calc που χρησιμοποιούνται στον τύπο που καθορίζεται στο όρισμα filterformula πρέπει να εκφράζονται χρησιμοποιώντας τα αγγλικά τους ονόματα. Επισκεφτείτε τη σελίδα Wiki List of Calc Functions για έναν πλήρη κατάλογο συναρτήσεων Calc στα Αγγλικά.
    ' Διαγραφή όλων των κενών σειρών στην περιοχή G1:L10 από το Φύλλο1
    newrange = oDoc.CompactUp("Sheet1.G1:L10")
    ' Το παρακάτω παράδειγμα είναι παρόμοιο, αλλά ολόκληρη η σειρά διαγράφεται από το φύλλο
    newrange = oDoc.CompactUp("Sheet1.G1:L10", WholeRow := True)
    ' Διαγράφει όλες τις σειρές όπου η πρώτη στήλη σημειώνεται με "Χ"
    newrange = oDoc.CompactUp("Sheet1.G1:L10", FilterFormula := "=(G1=""X"")")
    ' Διαγράφει όλες τις σειρές όπου το άθροισμα των τιμών στη σειρά είναι περιττό
    newrange = oDoc.CompactUp("Sheet1.G1:L10", FilterFormula := "=(MOD(SUM(G1:L1);2)=1)")
  
    newrange = myDoc.CompactUp("Sheet1.G1:L10")
    newrange = myDoc.CompactUp("Sheet1.G1:L10", wholerow = True)
    newrange = myDoc.CompactUp("Sheet1.G1:L10", filterformula = '=(G1="X")')
    newrange = myDoc.CompactUp("Sheet1.G1:L10", filterformula = '=(MOD(SUM(G1:L1);2)=1)')
  Αντιγράφει ένα καθορισμένο φύλλο πριν από ένα υπάρχον φύλλο ή στο τέλος του καταλόγου των φύλλων. Το φύλλο που πρόκειται να αντιγραφεί μπορεί να περιέχεται σε οποιοδήποτε ανοιχτό έγγραφο Calc. Επιστρέφει True εάν είναι επιτυχής.
svc.CopySheet(sheetname: any, newname: str, [beforesheet: any]): bool
sheetname (όνομα φύλλου): Το όνομα του φύλλου που θα αντιγραφεί ως συμβολοσειρά ή η αναφορά του ως αντικείμενο.
newname (νέο όνομα): Το όνομα του φύλλου που θέλετε να εισαγάγετε. Το όνομα δεν πρέπει να χρησιμοποιείται στο έγγραφο.
beforesheet (πριν από το φύλλο): Το όνομα (συμβολοσειρά) ή το ευρετήριο (αριθμητικό, ξεκινώντας από το 1) του φύλλου πριν από το οποίο θα εισαχθεί το αντιγραμμένο φύλλο. Αυτό το όρισμα είναι προαιρετικό και η προεπιλεγμένη συμπεριφορά είναι η προσθήκη του αντιγραμμένου φύλλου στην τελευταία θέση.
Το ακόλουθο παράδειγμα δημιουργεί ένα αντίγραφο του φύλλου "SheetX" και το τοποθετεί ως το τελευταίο φύλλο στο τρέχον έγγραφο. Το όνομα του αντιγραμμένου φύλλου είναι "SheetY".
    Dim oDoc as Object
    ' Λαμβάνει το αντικείμενο του εγγράφου του ενεργού παραθύρου
    Set oDoc = CreateScriptService("Calc")
    oDoc.CopySheet("SheetX", "SheetY")
  Το παρακάτω παράδειγμα αντιγράφει το "SheetX" από το "FileA.ods" και το επικολλά στην τελευταία θέση του "FileB.ods" με το όνομα "SheetY":
      Dim oDocA As Object : Set oDocA = ui.OpenDocument("C:\Documents\FileA.ods", Hidden := True, ReadOnly := True)
      Dim oDocB As Object : Set oDocB = ui.OpenDocument("C:\Documents\FileB.ods")
      oDocB.CopySheet(oDocA.Sheet("SheetX"), "SheetY")
  
    myDoc.CopySheet("SheetX", "SheetY")
  
    docA = ui.OpenDocument(r"C:\Documents\FileA.ods", hidden = True, readonly = True)
    docB = ui.OpenDocument(r"C:\Documents\FileB.ods")
    docB.CopySheet(docA.Sheet("SheetX"), "SheetY")
  Για να αντιγράψετε φύλλα μεταξύ ανοιχτών εγγράφων, χρησιμοποιήστε το CopySheet. Για να αντιγράψετε φύλλα από έγγραφα που είναι κλειστά, χρησιμοποιήστε το CopySheetFromFile.
Αντιγράφει ένα καθορισμένο φύλλο από ένα έγγραφο κλειστό Calc και το επικολλά πριν από ένα υπάρχον φύλλο ή στο τέλος του καταλόγου των φύλλων του αρχείου που αναφέρεται από ένα αντικείμενο Document.
Εάν το αρχείο δεν υπάρχει, δημιουργείται σφάλμα. Εάν το αρχείο δεν είναι έγκυρο αρχείο Calc, εισάγεται ένα κενό φύλλο. Εάν το φύλλο προέλευσης δεν υπάρχει στο αρχείο εισόδου, εισάγεται ένα μήνυμα σφάλματος στο επάνω μέρος του φύλλου που μόλις επικολλήθηκε.
svc.CopySheetFromFile(filename: str, sheetname: str, newname: str, [beforesheet: any]): bool
filename (όνομα αρχείου): Προσδιορίζει το αρχείο που θα ανοίξει. Πρέπει να ακολουθεί η σημειογραφία SF_FileSystem.FileNaming. Το αρχείο δεν πρέπει να προστατεύεται με κωδικό πρόσβασης.
sheetname: Το όνομα του φύλλου που θα αντιγραφεί ως συμβολοσειρά.
newname (νέο όνομα): Το όνομα του αντιγραμμένου φύλλου που θα εισαχθεί στο έγγραφο. Το όνομα δεν πρέπει να χρησιμοποιείται στο έγγραφο.
beforesheet: (πριν από το φύλλο): Το όνομα (συμβολοσειρά) ή το ευρετήριο (αριθμητικό, ξεκινώντας από το 1) του φύλλου πριν από το οποίο θα εισαχθεί το αντιγραμμένο φύλλο. Αυτό το όρισμα είναι προαιρετικό και η προεπιλεγμένη συμπεριφορά είναι η προσθήκη του αντιγραμμένου φύλλου στην τελευταία θέση.
Το ακόλουθο παράδειγμα αντιγράφει το "SheetX" από το "myFile.ods" και το επικολλά στο έγγραφο που αναφέρεται στο "oDoc" ως "SheetY" στην πρώτη θέση.
    oDoc.CopySheetFromFile("C:\Documents\myFile.ods", "SheetX", "SheetY", 1)
  
    myDoc.CopySheetFromFile(r"C:\Documents\myFile.ods", "SheetX", "SheetY", 1)
  Αντιγράφει μια καθορισμένη περιοχή προέλευσης (τιμές, τύπους και μορφές) σε μια περιοχή ή κελί προορισμού. Η μέθοδος αναπαράγει τη συμπεριφορά μιας λειτουργίας Αντιγραφής/Επικόλλησης από μια περιοχή σε ένα μεμονωμένο κελί.
Επιστρέφει μια συμβολοσειρά που αντιπροσωπεύει την τροποποιημένη περιοχή κελιών. Το μέγεθος της τροποποιημένης περιοχής καθορίζεται πλήρως από το μέγεθος της περιοχής προέλευσης.
Η περιοχή προέλευσης μπορεί να ανήκει σε άλλο ανοιχτό έγγραφο.
svc.CopyToCell(sourcerange: any, destinationcell: str): str
source range: Η περιοχή προέλευσης ως συμβολοσειρά όταν ανήκει στο ίδιο έγγραφο ή ως αναφορά όταν ανήκει σε άλλο ανοιχτό έγγραφο Calc.
destinationcell: Το κελί προορισμού όπου θα επικολληθεί η αντιγραμμένη περιοχή κελιών, ως συμβολοσειρά. Εάν δοθεί ένα εύρος, λαμβάνεται υπόψη μόνο το επάνω αριστερό κελί του.
Ακολουθεί ένα παράδειγμα όπου η προέλευση και ο προορισμός βρίσκονται στο ίδιο αρχείο:
      oDoc.CopyToCell("SheetX.A1:F10", "SheetY.C5")
  Το παρακάτω παράδειγμα επεξηγεί τον τρόπο αντιγραφής μιας περιοχής από άλλο ανοιχτό έγγραφο Calc:
    Dim ui as Variant : ui = CreateScriptService("UI")
    Dim oDocSource As Object, oDocDestination As Object
    'Άνοιγμα του εγγράφου προέλευσης στο παρασκήνιο (κρυφό)
    Set oDocSource = ui.OpenDocument("C:\SourceFile.ods", Hidden := True, ReadOnly := True)
    Set oDocDestination = CreateScriptService("Calc")
    oDocDestination.CopyToCell(oDocSource.Range("Sheet1.C2:C4"), "SheetT.A5")
    ' Μην ξεχάσετε να κλείσετε το έγγραφο προέλευσης γιατί ανοίχτηκε ως κρυφό
    oDocSource.CloseDocument()
  
    docSource = ui.OpenDocument(r"C:\Documents\SourceFile.ods", hidden = True, readonly = True)
    docDestination = CreateScriptService("Calc")
    docDestination.CopyToCell(docSource.Range("Sheet1.C2:C4"), "SheetT.A5")
    docSource.CloseDocument()
  Για να προσομοιώσετε μια Αντιγραφή/Επικόλληση από μια περιοχή σε ένα μεμονωμένο κελί, χρησιμοποιήστε το CopyToCell. Για να προσομοιώσετε μια Αντιγραφή/Επικόλληση από μια περιοχή σε μια μεγαλύτερη περιοχή (με τα ίδια κελιά να αναπαράγονται πολλές φορές), χρησιμοποιήστε το CopyToRange.
Αντιγράφει προς τα κάτω ή/και προς τα δεξιά μια καθορισμένη περιοχή προέλευσης (τιμές, τύπους και μορφές) σε μια περιοχή προορισμού. Η μέθοδος μιμείται τη συμπεριφορά μιας λειτουργίας Αντιγραφής/Επικόλλησης από μια περιοχή πηγής σε μια μεγαλύτερη περιοχή προορισμού.
Εάν το ύψος (ή το πλάτος) της περιοχής προορισμού είναι > 1 γραμμή (ή στήλη), τότε το ύψος (ή το πλάτος) της προέλευσης πρέπει να είναι <= του ύψους (ή του πλάτους) του προορισμού. Αλλιώς δεν γίνεται τίποτα.
Εάν το ύψος (ή το πλάτος) του προορισμού είναι = 1, τότε ο προορισμός επεκτείνεται προς τα κάτω (ή προς τα δεξιά) μέχρι το ύψος (ή το πλάτος) της περιοχής προέλευσης.
Η μέθοδος επιστρέφει μια συμβολοσειρά που αντιπροσωπεύει την τροποποιημένη περιοχή κελιών.
Η περιοχή προέλευσης μπορεί να ανήκει σε άλλο ανοιχτό έγγραφο.
svc.CopyToRange(sourcerange: any, destinationrange: str): str
source range: Η περιοχή προέλευσης ως συμβολοσειρά όταν ανήκει στο ίδιο έγγραφο ή ως αναφορά όταν ανήκει σε άλλο ανοιχτό έγγραφο Calc.
destinationrange (περιοχή προορισμού): Ο προορισμός της αντιγραμμένης περιοχής κελιών, ως συμβολοσειράς.
Αντιγραφή στο ίδιο έγγραφο:
    oDoc.CopyToRange("SheetX.A1:F10", "SheetY.C5:J5")
    ' Επιστρέφει μια συμβολοσειρά περιοχής: "$SheetY.$C$5:$J$14"
  Αντιγραφή από ένα αρχείο σε άλλο:
    Dim oDocA As Object : Set oDocA = ui.OpenDocument("C:\Documents\FileA.ods", Hidden := True, ReadOnly := True)
    Dim oDocB As Object : Set oDocB = ui.OpenDocument("C:\Documents\FileB.ods")
    oDocB.CopyToRange(oDocA.Range("SheetX.A1:F10"), "SheetY.C5:J5")
  
    doc.CopyToRange("SheetX.A1:F10", "SheetY.C5:J5")
  
    docA = ui.OpenDocument(r"C:\Documents\FileA.ods", hidden = True, readonly = True)
    docB = ui.OpenDocument(r"C:\Documents\FileB.ods")
    docB.CopyToRange(docA.Range("SheetX.A1:F10"), "SheetY.C5:J5")
  Δημιουργεί ένα νέο αντικείμενο γραφήματος που εμφανίζει τα δεδομένα στην καθορισμένη περιοχή. Το επιστρεφόμενο αντικείμενο γραφήματος μπορεί να τροποποιηθεί περαιτέρω χρησιμοποιώντας την υπηρεσία Chart (γράφημα).
svc.CreateChart(chartname: str, sheetname: str, range: str, columnheader: bool = False, rowheader: bool = False): obj
chartname: Το όνομα του γραφήματος από τον χρήστη που θα δημιουργηθεί. Το όνομα πρέπει να είναι μοναδικό στο ίδιο φύλλο.
sheetname: Το όνομα του φύλλου όπου θα τοποθετηθεί το γράφημα.
range: Η περιοχή που θα χρησιμοποιηθεί ως πηγή δεδομένων για το γράφημα. Η περιοχή μπορεί να αναφέρεται σε οποιοδήποτε φύλλο του εγγράφου Calc.
columnheader: (κεφαλίδα στήλης:) Όταν είναι True, η ανώτερη σειρά της περιοχής χρησιμοποιείται ως ετικέτες για τον άξονα κατηγορίας ή το υπόμνημα (Προεπιλογή = False).
rowheader: (κεφαλίδα σειράς:) Όταν είναι True, η πιο αριστερή στήλη της περιοχής χρησιμοποιείται ως ετικέτες για τον άξονα κατηγορίας ή το υπόμνημα. (Προεπιλογή = False).
Τα παρακάτω παραδείγματα σε Basic και Python δημιουργούν ένα γράφημα χρησιμοποιώντας τα δεδομένα που περιέχονται στην περιοχή "A1:B5" του "Sheet1" και τοποθετούν το γράφημα στο "Sheet2".
    Set oChart = oDoc.CreateChart("MyChart", "Sheet2", "Sheet1.A1:B5", RowHeader := True)
    oChart.ChartType = "Donut"
  
    chart = doc.CreateChart("MyChart", "Sheet2", "Sheet1.A1:B5", rowheader=True)
    chart.ChartType = "Donut"
  Ανατρέξτε στη σελίδα βοήθειας σχετικά με την υπηρεσία γραφήματος του ScriptForge για να μάθετε περισσότερα πώς μπορείτε να χειριστείτε περαιτέρω τα αντικείμενα γραφήματος. Είναι δυνατή η αλλαγή ιδιοτήτων όπως ο τύπος του γραφήματος, οι τίτλοι του γραφήματος και των αξόνων και η θέση του γραφήματος.
Δημιουργεί έναν νέο συγκεντρωτικό πίνακα με τις ιδιότητες που ορίζονται από τα ορίσματα που μεταβιβάζονται στη μέθοδο.
Πρέπει να δοθεί ένα όνομα για τον συγκεντρωτικό πίνακα. Εάν υπάρχει ήδη ένας συγκεντρωτικός πίνακας με το ίδιο όνομα στο στοχευμένο φύλλο, θα αντικατασταθεί χωρίς προειδοποίηση.
Αυτή η μέθοδος επιστρέφει μια συμβολοσειρά που περιέχει την περιοχή όπου τοποθετήθηκε ο νέος συγκεντρωτικός πίνακας.
svc.CreatePivotTable(pivottablename: str, sourcerange: str, targetcell: str, datafields: str[0..*], rowfields: str[0..*], columnfields: str[0..*], filterbutton: bool = true, rowtotals: bool = true, columntotals: bool = true): str
pivottablename: (όνομα συγκεντρωτικού πίνακα) Το όνομα του νέου συγκεντρωτικού πίνακα που ορίζεται από τον χρήστη.
sourcerange: (περτιοχή προέλευσης) Η περιοχή που περιέχει τα ακατέργαστα δεδομένα, ως συμβολοσειρά. Θεωρείται ότι η πρώτη σειρά περιέχει τα ονόματα πεδίων που χρησιμοποιούνται από τον συγκεντρωτικό πίνακα.
targetcell: (κελί προορισμού) Το επάνω αριστερό κελί όπου θα τοποθετηθεί ο νέος συγκεντρωτικός πίνακας. Εάν έχει καθοριστεί μια περιοχή, λαμβάνεται υπόψη μόνο το επάνω αριστερό κελί της.
datafields: (πεδία δεδομένων) Μπορεί να είναι είτε μια μεμονωμένη συμβολοσειρά, είτε ένας πίνακας που περιέχει συμβολοσειρές που ορίζουν ονόματα πεδίων και συναρτήσεις που θα εφαρμοστούν. Όταν καθορίζεται ένας πίνακας, πρέπει να ακολουθεί τη σύνταξη Array("FieldName[;Function]", ...).
Οι επιτρεπόμενες συναρτήσεις είναι: Sum, Count, Average, Max, Min, Product, CountNums, StDev, StDevP, Var, VarP and Median. Τα ονόματα των συναρτήσεων πρέπει να παρέχονται στα Αγγλικά. Όταν όλες οι τιμές είναι αριθμητικές, η Sum είναι η προεπιλεγμένη συνάρτηση, διαφορετικά η προεπιλεγμένη συνάρτηση είναι Count.
rowfields: (πεδία γραμμών)Μια μεμονωμένη συμβολοσειρά ή ένας πίνακας με τα ονόματα των πεδίων που θα χρησιμοποιηθούν ως γραμμές συγκεντρωτικού πίνακα.
columnfields: (πεδία στήλης) Μια μεμονωμένη συμβολοσειρά ή ένας πίνακας με τα ονόματα των πεδίων που θα χρησιμοποιηθούν ως στήλες του συγκεντρωτικού πίνακα.
filterbutton: (πλήκτρο φίλτρου) Καθορίζει εάν ένα πλήκτυρο φίλτρου θα εμφανίζεται πάνω από τον συγκεντρωτικό πίνακα (Προεπιλογή = True).
rowtotals: (αθροίσματα γραμμών) Καθορίζει εάν μια ξεχωριστή στήλη για τα σύνολα των γραμμών θα προστεθεί στον συγκεντρωτικό πίνακα (Προεπιλογή = True).
columntotals (αθροίσματα στηλών) Καθορίζει εάν θα προστεθεί μια ξεχωριστή γραμμή για τα σύνολα στηλών στον συγκεντρωτικό πίνακα (Προεπιλογή = True)
    Dim vData As Variant, oDoc As Object, ui As Object, sTable As String, sPivot As String
    Set ui = CreateScriptService("UI")
    Set oDoc = ui.CreateDocument("Calc")
    vData = Array(Array("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"), _ ' Τρία πεδία δεδομένων
        "Item", _ ' Ένα μοναδικό πεδίο μίας γραμμής
        Array("State", "Team"), False) ' Δύο πεδία στηλών
  
    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)
  Για να μάθετε περισσότερα σχετικά με τους Συγκεντρωτικούς Πίνακες στο LibreOfficeDev Calc, διαβάστε τη σελίδα βοήθειας Συγκεντρωτικός πίνακας.
Εφαρμόστε τις συναρτήσεις Average, Count, Max, Min και Sum, αντίστοιχα, σε όλα τα κελιά που περιέχουν αριθμητικές τιμές σε μια δεδομένη περιοχή, εξαιρουμένων των τιμών από φιλτραρισμένες και κρυφές σειρές και κρυφές στήλες, όπως και για τις συναρτήσεις της γραμμής κατάστασης.
svc.DAvg(range: str): float
svc.DCount(range: str): float
svc.DMax(range: str): float
svc.DMin(range: str): float
svc.DSum(range: str): float
range: Η περιοχή στην οποία θα εφαρμοστεί η συνάρτηση, ως συμβολοσειρά.
Το παρακάτω παράδειγμα εφαρμόζει τη συνάρτηση Sum στην περιοχή "A1:A1000" του τρέχοντος επιλεγμένου φύλλου:
      result = oDoc.DSum("~.A1:A1000")
  
    result = myDoc.DSum("~.A1:A1000")
  Τα κελιά στη δεδομένη περιοχή που περιέχουν κείμενο θα αγνοηθούν από όλες αυτές τις συναρτήσεις. Για παράδειγμα, η μέθοδος DCount δεν θα μετρήσει κελιά με κείμενο, αλλά μόνο αριθμητικά κελιά.
Εξάγει την καθορισμένη περιοχή ως αρχείο εικόνας ή PDF.
Αυτή η μέθοδος επιστρέφει True εάν το αρχείο προορισμού αποθηκεύτηκε με επιτυχία.
Οι κρυφές σειρές ή στήλες στην καθορισμένη περιοχή δεν εξάγονται στο αρχείο προορισμού.
svc.ExportRangeToFile(range: str, filename: str, imagetype: str = "pdf", overwrite: bool = False): bool
range (περιοχή): Ένα όνομα φύλλου ή μια περιοχή κελιών προς εξαγωγή, ως συμβολοσειρά.
filename (όνομα αρχείου): Το όνομα του αρχείου που θα αποθηκευτεί. Πρέπει να ακολουθεί τη σημειογραφία SF_FileSystem.FileNaming.
imagetype (τύπος εικόνας): Προσδιορίζει τον τύπο του αρχείου προορισμού. Πιθανές τιμές είναι "jpeg", "pdf" (προεπιλογή) και "png".
overwrite (αντικατάσταση): Όταν έχει οριστεί σε True, το αρχείο προορισμού ενδέχεται να αντικατασταθεί (Προεπιλογή = False).
    ' Εξάγει ολόκληρο το φύλλο ως αρχείο PDF
    oDoc.ExportRangeToFile("SheetX", "C:\Temp\image.pdf")
    Εξάγει την περιοχή ως αρχείο PNG και αντικαθιστά το αρχείο προορισμού εάν υπάρχει
    oDoc.ExportRangeToFile("SheetX.A1:D10", "C:\Temp\image.png", "png", Overwrite := True)
  
    doc.ExportRangeToFile("SheetX", r"C:\Temp\image.pdf")
    doc.ExportRangeToFile("SheetX.A1:D10", r"C:\Temp\image.png", "png", overwrite = True)
  Ανάλογα με τις παραμέτρους που παρέχονται, αυτή η μέθοδος θα επιστρέψει:
Ένας πίνακας μηδενικής βάσης (ή μια πλειάδα στην Python) με τα ονόματα όλων των μορφών που περιέχονται σε ένα δεδομένο φύλλο (εάν το όρισμα form απουσιάζει)
Ένα στιγμιότυπο υπηρεσίας SFDocuments.Form που αντιπροσωπεύει τη φόρμα που έχει καθοριστεί ως όρισμα.
svc.Forms(sheetname: str): str[0..*]
svc.Forms(sheetname: str, form: str = ''): svc
svc.Forms(sheetname: str, form: int): svc
sheetname: Το όνομα του φύλλου, ως συμβολοσειρά, από το οποίο θα ανακτηθεί η φόρμα.
form (φόρμα): Το όνομα ή το ευρετήριο που αντιστοιχεί σε μια φόρμα που είναι αποθηκευμένη στο καθορισμένο φύλλο. Εάν αυτό το όρισμα απουσιάζει, η μέθοδος θα επιστρέψει έναν κατάλογο με τα ονόματα όλων των μορφών που είναι διαθέσιμες στο φύλλο.
Στα ακόλουθα παραδείγματα, η πρώτη γραμμή λαμβάνει τα ονόματα όλων των φορμών που είναι αποθηκευμένες στο "Sheet1" και η δεύτερη γραμμή ανακτά το αντικείμενο Form της φόρμας με το όνομα "Form_A" που είναι αποθηκευμένο στο "Sheet1".
    Set FormNames = oDoc.Forms("Sheet1")
    Set FormA = oDoc.Forms("Sheet1", "Form_A")
  
    form_names = doc.Forms("Sheet1")
    form_A = doc.Forms("Sheet1", "Form_A")
  Μετατρέπει έναν αριθμό στήλης που κυμαίνεται μεταξύ 1 και 1024 στο αντίστοιχο γράμμα (στήλη 'A', 'B', ..., 'AMJ'). Εάν ο δεδομένος αριθμός στήλης βρίσκεται εκτός του επιτρεπόμενου εύρους, επιστρέφεται μια συμβολοσειρά μηδενικού μήκους.
svc.GetColumnName(columnnumber: int): str
columnnumber: The column number as an integer value in the interval 1 ... 16384.
Εμφανίζει ένα πλαίσιο μηνύματος με το όνομα της τρίτης στήλης, το οποίο από προεπιλογή είναι "C".
    MsgBox oDoc.GetColumnName(3)
  
    bas = CreateScriptService("Basic")
    bas.MsgBox(myDoc.GetColumnName(3))
  The maximum number of columns allowed on a Calc sheet is 16384.
Λάβετε τους τύπους που είναι αποθηκευμένοι στη δεδομένη περιοχή κελιών ως μια μονή συμβολοσειρά, μια 1Δ ή μια 2Δ σειρά συμβολοσειρών.
Τα ονόματα των συναρτήσεων Calc που χρησιμοποιούνται στους επιστρεφόμενους τύπους εκφράζονται στα Αγγλικά. Επισκεφτείτε τη σελίδα Wiki List of Calc Functions για έναν πλήρη κατάλογο συναρτήσεων Calc στα Αγγλικά.
svc.GetFormula(range: str): any
range: Η περιοχή από την οποία μπορείτε να λάβετε τους τύπους, ως συμβολοσειρά.
Το ακόλουθο παράδειγμα επιστρέφει έναν πίνακα 3 επί 2 με τους τύπους στην περιοχή "A1:B3" (3 σειρές ανά 2 στήλες):
    arrFormula = oDoc.GetFormula("~.A1:B3")
  
    arrFormula = myDoc.GetFormula("~.A1:B3")
  Λάβετε τις τιμές που είναι αποθηκευμένες στη δεδομένη περιοχή κελιών ως μοναδική τιμή, πίνακα 1Δ ή πίνακα 2Δ. Όλες οι τιμές είναι είτε doubles (διπλές) είτε συμβολοσειρές.
svc.GetValue(range: str): any
range: Η περιοχή από την οποία μπορείτε να λάβετε τις τιμές, ως συμβολοσειρά.
      arrValues = oDoc.GetValue("~.B1:C100")
  
    arrValues = myDoc.GetValue("~.B1:C100")
  Εάν ένα κελί περιέχει μια ημερομηνία, ο αριθμός που αντιστοιχεί σε αυτήν την ημερομηνία θα επιστραφεί. Για να μετατρέψετε αριθμητικές τιμές σε ημερομηνίες στα σενάρια Basic, χρησιμοποιήστε την ενσωματωμένη συνάρτηση Basic CDate. Στα σενάρια Python, χρησιμοποιήστε τη συνάρτηση CDate από την υπηρεσία Basic.
Εισάγει τα περιεχόμενα ενός αρχείου κειμένου με μορφή CSV και το τοποθετεί σε ένα δεδομένο κελί προορισμού.
Η περιοχή προορισμού διαγράφεται από όλα τα περιεχόμενα και τις μορφές πριν από την εισαγωγή των περιεχομένων του αρχείου CSV. Το μέγεθος της τροποποιημένης περιοχής καθορίζεται πλήρως από τα περιεχόμενα του αρχείου εισόδου.
Η μέθοδος επιστρέφει μια συμβολοσειρά που αντιπροσωπεύει την τροποποιημένη περιοχή κελιών.
svc.ImportFromCSVFile(filename: str, destinationcell: str, [filteroptions: str]): str
filename (όνομα αρχείου): Προσδιορίζει το αρχείο που θα ανοίξει. Πρέπει να ακολουθεί τη σημειογραφία SF_FileSystem.FileNaming.
destinationcell: Το κελί προορισμού για την εισαγωγή των εισαγόμενων δεδομένων, ως συμβολοσειρά. Εάν αντ' αυτού δοθεί μια περιοχή, λαμβάνεται υπόψη μόνο το επάνω αριστερό κελί της.
filteroptions (επιλογές αρχείου): Τα ορίσματα για το φίλτρο εισαγωγής CSV. Το προεπιλεγμένο φίλτρο κάνει τις ακόλουθες υποθέσεις:
Η κωδικοποίηση του αρχείου εισόδου είναι UTF8.
Το διαχωριστικό πεδίου είναι ένα κόμμα, ένα ερωτηματικό (semi-colon) ή ένας χαρακτήρας στηλοθέτη.
Ο οριοθέτης συμβολοσειράς είναι το διπλό εισαγωγικό (").
Περιλαμβάνονται όλες οι γραμμές.
Οι συμβολοσειρές σε εισαγωγικά μορφοποιούνται ως κείμενο.
Εντοπίζονται οι ειδικοί αριθμοί.
Όλες οι στήλες θεωρούνται κείμενα, εκτός εάν αναγνωρίζονται ως έγκυροι αριθμοί.
Η γλώσσα είναι Αγγλικά/Η.Π.Α., πράγμα που σημαίνει ότι το δεκαδικό διαχωριστικό είναι "." και το διαχωριστικό χιλιάδων είναι ",".
    oDoc.ImportFromCSVFile("C:\Temp\myCSVFile.csv", "SheetY.C5")
  
    myDoc.ImportFromCSVFile(r"C:\Temp\myCSVFile.csv", "SheetY.C5")
  Για να μάθετε περισσότερα σχετικά με τις Επιλογές φίλτρου CSV, ανατρέξτε στη σελίδα βοήθειας Επιλογές φίλτρου CSV.
Εισάγει τα περιεχόμενα ενός πίνακα βάσης δεδομένων, ενός ερωτήματος ή ενός συνόλου αποτελεσμάτων, δηλαδή το αποτέλεσμα μιας εντολής SELECT SQL, εισάγοντάς το σε ένα κελί προορισμού.
Η περιοχή προορισμού εκκαθαρίζεται από όλα τα περιεχόμενα και τις μορφές πριν από την εισαγωγή των εισαγόμενων περιεχομένων. Το μέγεθος της τροποποιημένης περιοχής καθορίζεται πλήρως από τα περιεχόμενα του πίνακα ή του ερωτήματος.
Η μέθοδος επιστρέφει True όταν η εισαγωγή ήταν επιτυχής.
svc.ImportFromDatabase(filename: str = "", registrationname: str = "", destinationcell: str = "", sqlcommand: str = "", directsql: bool): bool
filename (όνομα αρχείου): Προσδιορίζει το αρχείο που θα ανοίξει. Πρέπει να ακολουθεί τη σημειογραφία SF_FileSystem.FileNaming.
registrationname (όνομα μητρώου): Το όνομα που θα χρησιμοποιηθεί για την εύρεση της βάσης δεδομένων στο μητρώο βάσεων δεδομένων. Αυτό το όρισμα αγνοείται εάν παρέχεται ένα filename.
destinationcell (κελί προορισμού): Ο προορισμός των εισαγόμενων δεδομένων, ως συμβολοσειρά. Εάν δοθεί μια περιοχή, λαμβάνεται υπόψη μόνο το επάνω αριστερό κελί της.
sqlcommand: Ένα όνομα πίνακα ή ερωτήματος (χωρίς τα περιβάλλοντα εισαγωγικά ή αγκύλες) ή μια πρόταση SELECT SQL στην οποία τα ονόματα πινάκων και πεδίων μπορούν να περιβάλλονται από αγκύλες ή εισαγωγικά για να βελτιωθεί η αναγνωσιμότητά του.
directsql: Όταν True, η εντολή SQL αποστέλλεται στη μηχανή βάσης δεδομένων χωρίς προανάλυση. Η προεπιλογή είναι False. Το όρισμα αγνοείται για πίνακες. Για τα ερωτήματα, η επιλογή που εφαρμόστηκε είναι αυτή που ορίστηκε όταν δημιουργήθηκε το ερώτημα.
    oDoc.ImportFromDatabase("C:\Temp\myDbFile.odb", , "SheetY.C5", "SELECT * FROM [Employees] ORDER BY [LastName]")
  
    myDoc.ImportFromDatabase(r"C:\Temp\myDbFile.odb", , "SheetY.C5", "SELECT * FROM [Employees] ORDER BY [LastName]")
  Εισάγει ένα νέο κενό φύλλο πριν από ένα υπάρχον φύλλο ή στο τέλος του καταλόγου των φύλλων.
svc.InsertSheet(sheetname: str, [beforesheet: any]): bool
sheetname (όνομα φύλλου): Το όνομα του νέου φύλλου.
beforesheet (προηγούμενο φύλλο): Το όνομα (συμβολοσειρά) ή το ευρετήριο (αριθμητικό, ξεκινώντας από το 1) του φύλλου πριν από το οποίο θα εισαχθεί το νέο φύλλο. Αυτό το όρισμα είναι προαιρετικό και η προεπιλεγμένη συμπεριφορά είναι η εισαγωγή του φύλλου στην τελευταία θέση.
Το ακόλουθο παράδειγμα εισάγει ένα νέο κενό φύλλο με το όνομα "SheetX" και το τοποθετεί πριν από το "SheetY":
    oDoc.InsertSheet("SheetX", "SheetY")
  
    myDoc.InsertSheet("SheetX", "SheetY")
  Μετακινεί μια καθορισμένη περιοχή προέλευσης σε μια περιοχή προορισμού κελιών. Η μέθοδος επιστρέφει μια συμβολοσειρά που αντιπροσωπεύει την τροποποιημένη περιοχή κελιών. Η διάσταση της τροποποιημένης περιοχής καθορίζεται πλήρως από το μέγεθος της περιοχής προέλευσης.
svc.MoveRange(source: str, destination: str): str
source (προέλευση): Η περιοχή προέλευσης των κελιών, ως συμβολοσειρά.
destination (προορισμός): Το κελί προορισμού, ως συμβολοσειρά. Εάν δοθεί περιοχή, το επάνω αριστερό κελί του θεωρείται ως προορισμός.
    oDoc.MoveRange("SheetX.A1:F10", "SheetY.C5")
  
    myDoc.MoveRange("SheetX.A1:F10", "SheetY.C5")
  Μετακινεί ένα υπάρχον φύλλο και το τοποθετεί πριν από ένα καθορισμένο φύλλο ή στο τέλος του καταλόγου φύλλων.
svc.MoveSheet(sheetname: str, [beforesheet: any]): bool
sheetname: Το όνομα του φύλλου προς μετακίνηση. Το φύλλο πρέπει να υπάρχει ή εμφανίζεται εξαίρεση.
beforesheet (προηγούμενο φύλλο): Το όνομα (συμβολοσειρά) ή το ευρετήριο (αριθμητικό, ξεκινώντας από το 1) του φύλλου πριν από το οποίο θα τοποθετηθεί το αρχικό φύλλο. Αυτό το όρισμα είναι προαιρετικό και η προεπιλεγμένη συμπεριφορά είναι να μετακινήσετε το φύλλο στην τελευταία θέση.
Το παρακάτω παράδειγμα μετακινεί το υπάρχον φύλλο "SheetS" και το τοποθετεί πριν από το "ShettY":
    oDoc.MoveSheet("SheetX", "SheetY")
  
    myDoc.MoveSheet("SheetX", "SheetY")
  Επιστρέφει μια νέα περιοχή (ως συμβολοσειρά) μετατοπισμένο από έναν ορισμένο αριθμό σειρών και στηλών από μια δεδομένη περιοχή.
Αυτή η μέθοδος έχει την ίδια συμπεριφορά με την ομώνυμη συνάρτηση Offset του Calc.
svc.Offset(reference: str, rows: int = 0, columns: int = 0, [height: int], [width: int]): str
reference (αναφορά): Η περιοχή, ως συμβολοσειρά, που θα χρησιμοποιήσει η μέθοδος ως αναφορά για την εκτέλεση της λειτουργίας μετατόπισης.
rows (σειρές): Ο αριθμός των σειρών με τις οποίες η αρχική περιοχή μετατοπίζεται προς τα πάνω (αρνητική τιμή) ή προς τα κάτω (θετική τιμή). Χρησιμοποιήστε το 0 (προεπιλογή) για να παραμείνετε στην ίδια σειρά.
columns (στήλες): Ο αριθμός των στηλών με τις οποίες η αρχική περιοχή μετατοπίζεται προς τα αριστερά (αρνητική τιμή) ή προς τα δεξιά (θετική τιμή). Χρησιμοποιήστε το 0 (προεπιλογή) για να παραμείνετε στην ίδια στήλη.
height (ύψος): Το κατακόρυφο ύψος για μια περιοχή που ξεκινά από τη νέα θέση περιοχής. Παραλείψτε αυτό το όρισμα όταν δεν απαιτείται κατακόρυφη αλλαγή μεγέθους.
width (πλάτος): Το οριζόντιο πλάτος για μια περιοχή που ξεκινά από τη νέα θέση περιοχής. Παραλείψτε αυτό το όρισμα όταν δεν απαιτείται οριζόντια αλλαγή μεγέθους.
Τα ορίσματα rows και columns δεν πρέπει να οδηγούν σε μηδενική ή αρνητική σειρά ή στήλη έναρξης.
Τα ορίσματα height και width δεν πρέπει να οδηγούν σε μηδενικό ή αρνητικό πλήθος σειρών ή στηλών.
    oDoc.Offset("A1", 2, 2)
    'SheetX.$C$3 (Το A1 μετακινήθηκε κατά δύο σειρές και δύο στήλες προς τα κάτω)
    oDoc.Offset("A1", 2, 2, 5, 6)
    'SheetX.$C$3:$H$7 (Το A1 μετατοπίζεται κατά δύο σειρές και στήλες με πλάτος 5 σειρών και 6 στηλών)
  
    myDoc.Offset("A1", 2, 2)
    myDoc.Offset("A1", 2, 2, 5, 6)
  Ανοίγει έναν μη αναγκαστικό διάλογο που μπορεί να χρησιμοποιηθεί για την επιλογή μιας περιοχής στο έγγραφο και επιστρέφει μια συμβολοσειρά που περιέχει την επιλεγμένη περιοχή.
Αυτή η μέθοδος ανοίγει το ίδιο παράθυρο διαλόγου που χρησιμοποιείται από το LibreOfficeDev όταν πατηθεί το πλήκτρο Συρρίκνωση. Για παράδειγμα, το παράθυρο διαλόγου έχει ένα πλήκτρο Συρρίκνωση στα δεξιά του πεδίου .
Αυτή η μέθοδος δεν αλλάζει την τρέχουσα επιλογή.
svc.OpenRangeSelector(opt title: str, opt selection: str, singlecell: bool = False, closeafterselect: bool = True): str
title: Ο τίτλος του διαλόγου, ως συμβολοσειρά.
selection (επιλογή): Μια προαιρετική περιοχή που επιλέγεται αρχικά όταν εμφανίζεται το παράθυρο διαλόγου.
singlecell (μεμονωμένο κελί): Όταν True (προεπιλογή) επιτρέπεται η επιλογή ενός μόνο κελιού. Όταν είναι False επιτρέπεται η επιλογή περιοχής.
closeafterselect: Όταν True (προεπιλογή) το παράθυρο διαλόγου κλείνει αμέσως μετά την επιλογή. Όταν False, ο χρήστης μπορεί να αλλάξει την επιλογή όσες φορές χρειάζεται και στη συνέχεια να κλείσει χειροκίνητα το παράθυρο διαλόγου.
    Dim sRange as String
    sRange = oDoc.OpenRangeSelector(Title := "Select a range")
  
    sRange = myDoc.OpenRangeSelector(title = "Select a range")
  Επιστρέφει τη συμβολοσειρά εισόδου αφού αντικαταστήσει τους χαρακτήρες διακριτικού της με τις τιμές τους σε μια δεδομένη περιοχή.
Αυτή η μέθοδος δεν αλλάζει την τρέχουσα επιλογή.
Αυτή η μέθοδος μπορεί να χρησιμοποιηθεί για την γρήγορη εξαγωγή συγκεκριμένων τμημάτων ενός ονόματος περιοχής, όπως το όνομα φύλλου ή τη στήλη και τη σειρά του πρώτου κελιού, και τη χρήση τους για τη σύνταξη μιας νέας διεύθυνσης περιοχής.
svc.Printf(inputstr: str, range: str, tokencharacter: str = "%"): str
inputstr: Η συμβολοσειρά που περιέχει τα διακριτικά που θα αντικατασταθούν από τις αντίστοιχες τιμές στο range.
range: Ένα RangeName από το οποίο θα εξαχθούν τιμές. Εάν περιέχει ένα όνομα φύλλου, το φύλλο πρέπει να υπάρχει.
tokencharacter: Χαρακτήρας που χρησιμοποιείται για την αναγνώριση διακριτικών. Από προεπιλογή το "%" είναι ο χαρακτήρας διακριτικών. Τα ακόλουθα διακριτικά γίνονται δεκτά:
%S - Το όνομα του φύλλου που περιέχει την περιοχή, συμπεριλαμβανομένων απλών εισαγωγικών όταν είναι απαραίτητο.
%R1 - Ο αριθμός σειράς του επάνω αριστερού κελιού της περιοχής.
%C1 - Το γράμμα στήλης του επάνω αριστερού κελιού της περιοχής.
%R2 - Ο αριθμός σειράς του κάτω δεξιού κελιού της περιοχής.
%C2 - Το γράμμα της στήλης του κάτω δεξιού κελιού της περιοχής.
Το παρακάτω παράδειγμα εξάγει κάθε στοιχείο του RangeName που ορίζεται στο sRange και τα χρησιμοποιεί για να συνθέσει ένα μήνυμα.
    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)
  Η μέθοδος Printf μπορεί να συνδυαστεί με τη SetFormula για τη δημιουργία τύπων σε πολλά κελιά. Για παράδειγμα, θεωρήστε έναν πίνακα με αριθμητικές τιμές στην περιοχή "A1:E10" από τον οποίο θα δημιουργηθούν τύποι για να αθροιστούν οι τιμές σε κάθε σειρά και τοποθετήστε τα αποτελέσματα στην περιοχή "F1:F10":
    Dim sFormula as String, sRange as String
    sRange = "A1:E10"
    ' Σημειώστε τη χρήση του χαρακτήρα "$".
    sFormula = "=SUM($%C1%R1:$%C2%R1)"
    oDoc.SetFormula("F1:F10", oDoc.Printf(sFormula, sRange))
  
    sRange = "Sheet1.A1:E10"
    sInputStr = "Sheet name: %S\n" \
                "First row: %R1\n" \
                "First column %C1\n" \
                "Last row %R2\n" \
                "Last column %C2"
    bas = CreateScriptService("Basic")
    bas.MsgBox(myDoc.Printf(sInputStr, sRange))
  
    sRange = "A1:E10
    sFormula = "=SUM($%C1%R1:$%C2%R1)"
    myDoc.SetFormula("F1:F10", myDoc.Printf(sFormula, sRange))
  Αυτή η μέθοδος στέλνει τα περιεχόμενα του δεδομένου φύλλου στον προεπιλεγμένο εκτυπωτή ή στον εκτυπωτή που ορίζεται από τη μέθοδο SetPrinter της υπηρεσίας Document.
Επιστρέφει True εάν το φύλλο εκτυπώθηκε με επιτυχία.
svc.PrintOut(opt sheetname: str, pages: str = "", copies: num = 1): bool
sheetname (όνομα φύλλου): Το φύλλο προς εκτύπωση, προεπιλογή είναι το ενεργό φύλλο.
pages (σελίδες): Οι σελίδες που θα εκτυπωθούν ως συμβολοσειρά, όπως στη διεπαφή χρήστη. Παράδειγμα: "1-4;10;15-18". Η προεπιλογή είναι όλες οι σελίδες.
copies (αντίγραφα): Ο αριθμός των αντιγράφων. Η προεπιλογή είναι 1.
    If oDoc.PrintOut("SheetX", "1-4;10;15-18", Copies := 2) Then
        ' ...
    End If
  
    if doc.PrintOut('SheetX', copies=3, pages='45-88'):
        # ...
  Αφαιρεί τις διπλότυπες σειρές από μια καθορισμένη περιοχή. Η σύγκριση για να προσδιοριστεί εάν μια δεδομένη σειρά είναι διπλότυπη γίνεται με βάση ένα υποσύνολο στηλών στην περιοχή.
Αυτή η μέθοδος επιστρέφει μια συμβολοσειρά που περιέχει το εύρος που προκύπτει.
Η αφαίρεση των διπλότυπων σειρών γίνεται ξεκινώντας από την πρώτη σειρά του εύρους που κινείται προς τα κάτω, πράγμα που σημαίνει ότι εάν δύο ή περισσότερες σειρές είναι διπλότυπες, τότε διατηρείται μόνο η πρώτη.
svc.RemoveDuplicates(range: str, opt columns: int[0..*], header: bool = False, casesensitive: bool = False, mode: str = "COMPACT"): str
range: Το εύρος από το οποίο θα αφαιρεθούν τα διπλότυπα, ως συμβολοσειρά.
columns: Ένας πίνακας που περιέχει αριθμούς στηλών που υποδεικνύει ποιες στήλες θα ληφθούν υπόψη για να καθοριστεί εάν μια σειρά είναι διπλότυπη ή όχι. Εάν αυτό το όρισμα μείνει κενό, τότε χρησιμοποιείται μόνο η πρώτη στήλη. Τα στοιχεία σε αυτόν τον πίνακα πρέπει να βρίσκονται στο διάστημα μεταξύ 1 και του πλάτους του εύρους.
header: Καθορίζει εάν η πρώτη σειρά είναι γραμμή κεφαλίδας (Προεπιλογή = False).
casesensitive: Καθορίζει εάν οι συγκρίσεις συμβολοσειρών έχουν διάκριση πεζών-κεφαλαίων (Προεπιλογή = False).
mode: Καθορίζει τι να κάνετε με τις διπλότυπες σειρές. Εάν mode = "CLEAR" τότε τα διπλότυπα απλώς αφαιρούνται από το φύλλο αφήνοντας τα κελιά κενά. Εάν mode = "COMPACT" τότε τα διπλότυπα αφαιρούνται και οι κενές σειρές συμπυκνώνονται (Προεπιλογή = "COMPACT").
    ' Καταργεί τις διπλότυπες σειρές όπου οι τιμές στη στήλη Α είναι διπλότυπες
    ' Σημειώστε ότι όλα τα προαιρετικά ορίσματα χρησιμοποιούν την προεπιλεγμένη τιμή τους
    oDoc.RemoveDuplicates("A1:B10")
    ' Καταργεί τις διπλότυπες σειρές δεδομένου ότι η πρώτη σειρά περιέχει κεφαλίδες
    ' Οι στήλες Α και Β χρησιμοποιούνται για να προσδιοριστεί εάν μια σειρά είναι διπλότυπη
    ' Τα κελιά που περιέχουν διπλότυπες τιμές παραμένουν κενά
    oDoc.RemoveDuplicates("A1:D10", columns := Array(1, 2), header := True, mode := "CLEAR")
  
    myDoc.RemoveDuplicates("A1:B10")
    myDoc.RemoveDuplicates("A1:D10", columns = (1, 2), header = True, mode = "CLEAR")
  Αφαιρεί ένα υπάρχον φύλλο από το έγγραφο.
svc.RemoveSheet(sheetname: str): bool
sheetname: Το όνομα του φύλλου προς κατάργηση.
    oDoc.RemoveSheet("SheetY")
  
    myDoc.RemoveSheet("SheetY")
  Μετονομάζει το δεδομένο φύλλο και επιστρέφει True εάν είναι επιτυχές.
svc.RenameSheet(sheetname: str, newname: str): bool
sheetname: Το όνομα του φύλλου προς μετονομασία.
newname: το νέο όνομα του φύλλου. Δεν πρέπει να υπάρχει ακόμα.
Αυτό το παράδειγμα μετονομάζει το ενεργό φύλλο σε "SheetY":
    oDoc.RenameSheet("~", "SheetY")
  
    mydoc.RenameSheet("~", "SheetY")
  Αποθηκεύει τη δεδομένη τιμή ξεκινώντας από ένα καθορισμένο κελί-στόχο. Η ενημερωμένη περιοχή επεκτείνεται από το κελί προορισμού ή από την επάνω αριστερή γωνία της δεδομένης περιοχής για να προσαρμόσει το μέγεθος του ορίσματος εισόδου value. Τα διανύσματα επεκτείνονται πάντα κατακόρυφα.
Η μέθοδος επιστρέφει μια συμβολοσειρά που αντιπροσωπεύει την τροποποιημένη περιοχή ως περιοχή κελιών.
svc.SetArray(targetcell: str, value: any): str
targetcell (κελί προορισμού): Το κελί ή μια περιοχή ως συμβολοσειρά από το σημείο έναρξης για την αποθήκευση της δεδομένης τιμής.
value (τιμή): Ένα βαθμωτό, διάνυσμα ή πίνακας (στην Python, μονοδιάστατοι ή δισδιάστατοι κατάλογοι και πλειάδες) με τις νέες τιμές που θα αποθηκευτούν από το κελί προορισμού ή από την επάνω αριστερή γωνία της περιοχής εάν το targetcell (κελί προορισμού) είναι περιοχή. Οι νέες τιμές πρέπει να είναι συμβολοσειρές, αριθμητικές τιμές ή ημερομηνίες. Άλλοι τύποι θα προκαλέσουν το άδειασμα των αντίστοιχων κελιών.
Το παρακάτω παράδειγμα χρησιμοποιεί την ενσωματωμένη συνάρτηση DimArray για να δημιουργήσει έναν πίνακα και, στη συνέχεια, να τον αποθηκεύσει στο κελί "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)
  Αυτό το παράδειγμα χρησιμοποιεί τη μέθοδο RangeInit της υπηρεσίας ScriptForge Array για να δημιουργήσει έναν πίνακα με τιμές που στη συνέχεια αποθηκεύονται από το κελί "A1" και προς τα κάτω.
    ' Συμπληρώστε την 1η στήλη με τιμές από 1 έως 1000
    oDoc.SetArray("Sheet1.A1", SF_Array.RangeInit(1, 1000))
  
    arrData = ((1, "One"), (2, "Two"), (3, "Three"))
    myDoc.SetArray("Sheet1.A1", arrData)
  
    myDoc.SetArray("Sheet1.A1", tuple(i + 1 for i in range(1000)))
  Για να απορρίψετε τα πλήρη περιεχόμενα ενός πίνακα σε ένα φύλλο, χρησιμοποιήστε το SetArray. Για να απορρίψετε τα περιεχόμενα ενός πίνακα μόνο εντός των ορίων της περιοχής προορισμού κελιών, χρησιμοποιήστε το SetValue.
Εφαρμόζει την καθορισμένη τεχνοτροπία κελιού στη δεδομένη περιοχή προορισμού. Η πλήρης περιοχή ενημερώνεται και το υπόλοιπο του φύλλου παραμένει ανέγγιχτο. Εάν η τεχνοτροπία κελιού δεν υπάρχει, δημιουργείται σφάλμα.
Η μέθοδος επιστρέφει μια συμβολοσειρά που αντιπροσωπεύει την τροποποιημένη περιοχή ως περιοχή κελιών.
svc.SetCellStyle(targetrange: str, style: str, opt filterformula: str, opt filterscope: str): str
targettrange: Η περιοχή στην οποία θα εφαρμοστεί η τεχνοτροπία, ως συμβολοσειρά.
style (τεχνοτροπία): Το όνομα της τεχνοτροπίας κελιού που θα εφαρμοστεί.
    oDoc.SetCellStyle("A1:J1", "Heading 1")
    oDoc.SetCellStyle("A2:J100", "Neutral")
  
    myDoc.SetCellStyle("A1:J1", "Heading 1")
    myDoc.SetCellStyle("A2:J100", "Neutral")
  Ανατρέξτε στην τεκμηρίωση της μεθόδου ClearAll για παραδείγματα σχετικά με τον τρόπο χρήσης των ορισμάτων filterformula και filterscope.
Εισάγει τους δεδομένους τύπους (πίνακα) στην καθορισμένη περιοχή. Το μέγεθος της τροποποιημένης περιοχής είναι ίσο με το μέγεθος της περιοχής.
Η μέθοδος επιστρέφει μια συμβολοσειρά που αντιπροσωπεύει την τροποποιημένη περιοχή ως περιοχή κελιών.
svc.SetFormula(targetrange: str, formula: any): str
targettrange (περιοχή προορισμού): Η περιοχή για την εισαγωγή των τύπων, ως συμβολοσειράς.
formula (τύπος): Μια συμβολοσειρά, ένα διάνυσμα ή ένας πίνακας συμβολοσειρών με τους νέους τύπους για κάθε κελί στην περιοχή προορισμού.
Η πλήρης περιοχή ενημερώνεται και το υπόλοιπο φύλλο παραμένει αμετάβλητο.
Εάν ο δεδομένος τύπος είναι συμβολοσειρά, ο μοναδικός τύπος επικολλάται σε όλη την περιοχή με προσαρμογή των σχετικών αναφορών.
Εάν το μέγεθος του formula (τύπου) είναι μικρότερο από το μέγεθος του targettrange, τότε τα υπόλοιπα κελιά αδειάζονται.
Εάν το μέγεθος του formula (τύπου) είναι μεγαλύτερο από το μέγεθος της targettrange (περιοχής προορισμού), τότε οι τύποι αντιγράφονται μόνο εν μέρει μέχρι να συμπληρώσει το μέγεθος του targettrange.
Τα διανύσματα επεκτείνονται πάντα κατακόρυφα, εκτός εάν το targettrange έχει ύψος ακριβώς 1 σειρά.
Οι συναρτήσεις Calc που χρησιμοποιούνται στο όρισμα formula πρέπει να εκφράζονται χρησιμοποιώντας τα αγγλικά τους ονόματα. Επισκεφτείτε τη σελίδα Wiki List of Calc Functions για έναν πλήρη κατάλογο συναρτήσεων Calc στα Αγγλικά.
    oDoc.SetFormula("A1", "=A2")
    ' Οριζόντιο διάνυσμα, μερικώς κενό
    oDoc.SetFormula("A1:F1", Array("=A2", "=B2", "=C2+10"))
    ' Το D2 περιέχει τον τύπο "=H2"
    oDoc.SetFormula("A1:D2", "=E1")
  
    myDoc.SetFormula("A1", "=A2")
    myDoc.SetFormula("A1:F1", ("=A2", "=B2", "=C2+10"))
    myDoc.SetFormula("A1:D2", "=E1")
  Αποθηκεύει τη δεδομένη τιμή στην καθορισμένη περιοχή. Το μέγεθος της τροποποιημένης περιοχής είναι ίσο με το μέγεθος του περιοχής προορισμού.
Η μέθοδος επιστρέφει μια συμβολοσειρά που αντιπροσωπεύει την τροποποιημένη περιοχή ως περιοχή κελιών.
svc.SetValue(targetrange: str, value: any): str
targettrange (περιοχή προορισμού): Η περιοχή όπου αποθηκεύεται η δεδομένη τιμή, ως συμβολοσειρά.
value (τιμή): Μια βαθμωτή, ένα διάνυσμα ή ένας πίνακας με τις νέες τιμές για κάθε κελί της περιοχής. Οι νέες τιμές πρέπει να είναι συμβολοσειρές, αριθμητικές τιμές ή ημερομηνίες. Άλλοι τύποι θα προκαλέσουν το άδειασμα των αντίστοιχων κελιών.
Η πλήρης περιοχή ενημερώνεται και το υπόλοιπο φύλλο παραμένει αμετάβλητο. Εάν το μέγεθος του value (τιμής) είναι μικρότερο από το μέγεθος του targettrange, τότε τα υπόλοιπα κελιά θα αδειάσουν.
Εάν το μέγεθος του value είναι μεγαλύτερο από το μέγεθος του targettrange, τότε η value αντιγράφεται μόνο εν μέρει μέχρι να συμπληρώσει το μέγεθος του targettrange .
Τα διανύσματα επεκτείνονται κατακόρυφα, εκτός εάν το targettrange έχει ύψος ακριβώς 1 σειρά.
    oDoc.SetValue("A1", 2)
    ' Πιο κάτω ο πίνακας Value είναι μικρότερος από το TargetRange (τα υπόλοιπα κελιά αδειάζονται)
    oDoc.SetValue("A1:F1", Array(1, 2, 3))
    ' Κάτω από την Value και το TargetRange έχουν το ίδιο μέγεθος
    oDoc.SetValue("A1:D2", SF_Array.AppendRow(Array(1, 2, 3, 4), Array(5, 6, 7, 8)))
  Εάν θέλετε να γεμίσετε μια μεμονωμένη σειρά με τιμές, μπορείτε να χρησιμοποιήσετε τη συνάρτηση Offset. Στο παρακάτω παράδειγμα, θεωρήστε ότι το arrData είναι ένας μονοδιάστατος πίνακας:
    Dim firstCell As String : firstCell = "A1"
    Dim lenArray As Integer : lenArray = UBound(arrData) - LBound(arrData) + 1
    Dim newRange As String : newRange = oDoc.Offset(firstCell, width = lenArray)
    oDoc.SetValue(newRange, arrData)
  
    myDoc.SetValue("A1", 2)
    myDoc.SetValue("A1:F1", (1, 2, 3))
    myDoc.SetValue("A1:D2", ((1, 2, 3, 4), (5, 6, 7, 8)))
  
    firstCell = "A1"
    newRange = doc.Offset(firstCell, width = len(arrData))
    doc.SetValue(newRange, arrData)
  Μετακινεί μια δεδομένη περιοχή κελιών προς τα κάτω εισάγοντας κενές σειρές. Η τρέχουσα επιλογή δεν επηρεάζεται.
Ανάλογα με την τιμή του ορίσματος wholerow (πλήρης σειρά), οι σειρές που εισάγονται μπορούν είτε να εκτείνονται στο πλάτος του καθορισμένου εύρους είτε σε όλες τις στήλες της σειράς.
Αυτή η μέθοδος επιστρέφει μια συμβολοσειρά που αντιπροσωπεύει τη νέα θέση της αρχικής περιοχής.
Εάν η μετατοπισμένη περιοχή υπερβαίνει τις άκρες του φύλλου, τότε δεν συμβαίνει τίποτα.
svc.ShiftDown(range: str, wholerow: bool = False, opt rows: int): str
range: Η περιοχή πάνω από την οποία θα εισαχθούν οι σειρές, ως συμβολοσειρές.
wholerow: Εάν οριστεί σε False (προεπιλογή), τότε το πλάτος των εισαγόμενων σειρών θα είναι το ίδιο με το πλάτος της καθορισμένης range. Διαφορετικά, η σειρά που εισάγεται θα εκτείνεται σε όλες τις στήλες του φύλλου.
rows (σειρές): Ο αριθμός των σειρών που θα εισαχθούν. Η προεπιλεγμένη τιμή είναι το ύψος της αρχικής range (περιοχής). Ο αριθμός των σειρών πρέπει να είναι θετικός αριθμός.
    ' Μετακινεί το εύρος "A3:D3" προς τα κάτω κατά μία σειρά. Επηρεάζει μόνο τις στήλες Α έως Δ
    oDoc.ShiftDown("A3:D3")
    ' Η σειρά που έχει εισαχθεί καλύπτει όλες τις στήλες του φύλλου
    oDoc.ShiftDown("A3:D3", WholeRow := True)
    ' Μετακινεί την περιοχή "A3:D3" προς τα κάτω κατά πέντε σειρές
    oDoc.ShiftDown("A3:D3", Rows := 5)
    ' Μετακινεί την περιοχή "A3:D10" προς τα κάτω κατά δύο σειρές και εμφανίζει τη νέα θέση της αρχικής περιοχής
    Dim sNewRange as String
    sNewRange = oDoc.ShiftDown("A3:D10", Rows := 2)
    MsgBox sNewRange   ' $Sheet1.$A$5:$D$12
  
    myDoc.ShiftDown("A3:D3")
    myDoc.ShiftDown("A3:D3", wholerow = True)
    myDoc.ShiftDown("A3:D3", rows = 5)
    sNewRange = myDoc.ShiftDown("A3:D10", rows = 2)
    bas = CreateScriptService("Basic")
    bas.MsgBox(sNewRange)
  Διαγράφει τις πιο αριστερές στήλες μιας δεδομένης περιοχής και μετακινεί προς τα αριστερά όλα τα κελιά στα δεξιά της επηρεαζόμενης περιοχής. Η τρέχουσα επιλογή δεν επηρεάζεται.
Ανάλογα με την τιμή του ορίσματος wholecolumn (πλήρης στήλη), οι διαγραμμένες στήλες μπορούν είτε να καλύπτουν το ύψος της καθορισμένης περιοχής, είτε να εκτείνονται σε όλες τις σειρές της στήλης.
Αυτή η μέθοδος επιστρέφει μια συμβολοσειρά που αντιπροσωπεύει τη θέση του υπόλοιπου τμήματος της αρχικής περιοχής. Εάν όλα τα κελιά στην αρχική περιοχή έχουν διαγραφεί, τότε επιστρέφεται μια κενή συμβολοσειρά.
svc.ShiftLeft(range: str, wholecolumn: bool = False, opt columns: int): str
range: Η περιοχή από την οποία θα διαγραφούν τα κελιά, ως συμβολοσειρά.
wholecolumn (ολόκληρη στήλη): Εάν οριστεί σε False (προεπιλογή), τότε το ύψος των διαγραμμένων στηλών θα είναι το ίδιο με το ύψος της καθορισμένης range. Διαφορετικά, οι διαγραμμένες στήλες θα εκτείνονται σε όλες τις σειρές του φύλλου.
columns (στήλες): Ο αριθμός των στηλών που θα διαγραφούν από την καθορισμένη range. Η προεπιλεγμένη τιμή είναι το πλάτος της αρχικής range (περιοχής), το οποίο είναι επίσης η μέγιστη τιμή αυτού του ορίσματος.
    ' Διαγράφει την περιοχή "B3:B6"; μετακινεί αριστερά όλα τα κελιά προς τα δεξιά
    oDoc.ShiftLeft("B3:B6")
    ' Διαγράφει την πρώτη στήλη στην περιοχή "A3:D6"
    oDoc.ShiftLeft("A3:D6", Columns := 1)
    ' Οι διαγραμμένες στήλες (Α έως D) εκτείνονται σε όλες τις σειρές του φύλλου
    oDoc.ShiftLeft("A3:D6", WholeColumn := True)
  
    myDoc.ShiftLeft("B3:B6")
    myDoc.ShiftLeft("A3:D6", Columns = 1)
    myDoc.ShiftLeft("A3:D6", WholeColumn = True)
  Διαγράφει τις κορυφαίες σειρές μιας δεδομένης περιοχής και μετακινεί προς τα πάνω όλα τα κελιά κάτω από την επηρεαζόμενη περιοχή. Η τρέχουσα επιλογή δεν επηρεάζεται.
Ανάλογα με την τιμή του ορίσματος wholerow (πλήρης σειρά), οι διαγραμμένες σειρές μπορούν είτε να καλύπτουν το πλάτος της καθορισμένης περιοχής, είτε να εκτείνονται σε όλες τις στήλες της σειράς.
Αυτή η μέθοδος επιστρέφει μια συμβολοσειρά που αντιπροσωπεύει τη θέση του υπόλοιπου τμήματος της αρχικής περιοχής. Εάν όλα τα κελιά στην αρχική περιοχή έχουν διαγραφεί, τότε επιστρέφεται μια κενή συμβολοσειρά.
svc.ShiftUp(range: str, wholerow: bool = False, opt rows: int): str
range: Η περιοχή από την οποία θα διαγραφούν τα κελιά, ως συμβολοσειρά.
wholerow: Εάν οριστεί σε False (προεπιλογή), τότε το πλάτος των διαγραμμένων σειρών θα είναι το ίδιο με το πλάτος της καθορισμένης range. Διαφορετικά, η διαγραμμένη σειρά θα εκτείνεται σε όλες τις στήλες του φύλλου.
rows (σειρές): Ο αριθμός των σειρών που θα διαγραφούν από την καθορισμένη range (περιοχή). Η προεπιλεγμένη τιμή είναι το ύψος της αρχικής range, το οποίο είναι επίσης η μέγιστη τιμή αυτού του ορίσματος.
    ' Διαγράφει την περιοχή "A3:D3"; μετακινεί όλα τα κελιά κάτω από αυτό κατά μία σειρά προς τα πάνω
    oDoc.ShiftUp("A3:D3")
    ' Διαγράφει την πρώτη σειρά στην περιοχή "A3:D6"
    oDoc.ShiftUp("A3:D6", Rows := 1)
    ' Οι διαγραμμένες σειρές εκτείνονται σε όλες τις στήλες του φύλλου
    oDoc.ShiftUp("A3:D6", WholeRow := True)
  
    myDoc.ShiftUp("A3:D3")
    myDoc.ShiftUp("A3:D6", rows = 1)
    myDoc.ShiftUp("A3:D6", wholerow = True)
  Μετακινεί μια δεδομένη περιοχή κελιών προς τα δεξιά εισάγοντας κενές στήλες. Η τρέχουσα επιλογή δεν επηρεάζεται.
Ανάλογα με την τιμή του ορίσματος wholecolumn (πλήρης στήλη), οι στήλες που εισάγονται μπορούν είτε να εκτείνονται στο ύψος της καθορισμένης περιοχής, είτε να εκτείνονται σε όλες τις σειρές της στήλης.
Αυτή η μέθοδος επιστρέφει μια συμβολοσειρά που αντιπροσωπεύει τη νέα θέση της αρχικής περιοχής.
Εάν η μετατοπισμένη περιοχή υπερβαίνει τις άκρες του φύλλου, τότε δεν συμβαίνει τίποτα.
svc.ShiftRight(range: str, wholecolumn: bool = False, opt columns: int): str
range: Η περιοχή στην οποία θα έχουν εισαχθεί κενές στήλες στα αριστερά της, ως συμβολοσειρές.
wholecolumn (ολόκληρη στήλη): Εάν οριστεί σε False (προεπιλογή), τότε το ύψος των στηλών που εισάγονται θα είναι το ίδιο με το ύψος της καθορισμένης range (περιοχής). Διαφορετικά, οι στήλες που έχουν εισαχθεί θα εκτείνονται σε όλες τις σειρές του φύλλου.
columns: Ο αριθμός των στηλών που θα εισαχθούν. Η προεπιλεγμένη τιμή είναι το πλάτος της αρχικής range.
    ' Μετακινεί την περιοχή "A3:A6" δεξιά κατά μία στήλη. Επηρεάζει μόνο τις σειρές 3 έως 6
    oDoc.ShiftRight("A3:A6")
    ' Μετακινεί την περιοχή "A3:A6" δεξιά κατά πέντε στήλες
    oDoc.ShiftRight("A3:A6", Columns := 5)
    ' Η στήλη που έχει εισαχθεί καλύπτει όλες τις σειρές του φύλλου
    oDoc.ShiftRight("A3:A6", WholeColumn := True)
  
    myDoc.ShiftRight("A3:A6")
    myDoc.ShiftRight("A3:A6", columns = 5)
    myDoc.ShiftRight("A3:A6", wholecolumn = True)
  Ταξινομήστε τη δεδομένη περιοχή σε οποιονδήποτε αριθμό στηλών/γραμμών. Η σειρά ταξινόμησης μπορεί να διαφέρει ανά στήλη/σειρά. Εάν ο αριθμός των κλειδιών ταξινόμησης είναι > 3, τότε το εύρος ταξινομείται πολλές φορές, ανά ομάδες των 3 κλειδιών, ξεκινώντας από το τελευταίο κλειδί. Επιστρέφει μια συμβολοσειρά που αντιπροσωπεύει την τροποποιημένη περιοχή κελιών. Το μέγεθος της τροποποιημένης περιοχής καθορίζεται πλήρως από το μέγεθος της περιοχής προέλευσης.
svc.SortRange(range: str, sortkeys: any, sortorder: any = "ASC", destinationcell: str = "", containsheader: bool = False, casesensitive: bool = False, sortcolumns: bool = False): str
range: Η περιοχή που θα ταξινομηθεί, ως συμβολοσειρά.
sortkeys: Μια βαθμωτή (εάν είναι 1 στήλη/γραμμή) ή ένας πίνακας αριθμών στηλών/σειρών που ξεκινούν από το 1.
sortorder: Ένας βαθμωτός ή ένας πίνακας συμβολοσειρών που περιέχει τις τιμές "ASC" (αύξουσα), "DESC" (φθίνουσα). Κάθε στοιχείο ζευγαρώνεται με το αντίστοιχο στοιχείο στα sortkeys. Εάν ο πίνακας sortorder είναι μικρότερος από τα sortkeys, τα υπόλοιπα κλειδιά ταξινομούνται με αύξουσα σειρά.
destinationcell (κελί προορισμού): Το κελί προορισμού της ταξινομημένης περιοχής κελιών, ως συμβολοσειρά. Εάν δοθεί μια περιοχή, λαμβάνεται υπόψη μόνο το επάνω αριστερό κελί του. Από προεπιλογή, η περιοχή προέλευσης αντικαθίσταται.
containsheader (περιέχει κεφαλίδα): Όταν είναι True, η πρώτη σειρά/στήλη δεν ταξινομείται.
casesensitive (διάκριση πεζών-κεφαλαίων): Μόνο για συγκρίσεις συμβολοσειρών. Προεπιλογή = False
sortcolumns (ταξινόμηση στηλών): Όταν True, οι στήλες ταξινομούνται από αριστερά προς τα δεξιά. Προεπιλογή = False : οι σειρές ταξινομούνται από πάνω προς τα κάτω.
    'Ταξινόμηση περιοχής με βάση τις στήλες A (αύξουσα) και C (φθίνουσα)
    oDoc.SortRange("A2:J200", Array(1, 3), Array("ASC", "DESC"), CaseSensitive := True)
  
    myDoc.SortRange("A2:J200", (1, 3), ("ASC", "DESC"), casesensitive = True)