Περιεχόμενα
Δείκτης 🔎︎

# Υπηρεσία SFDocuments.Calc

The SFDocuments library provides a number of methods and properties to facilitate the management and handling of LibreOffice Calc documents.

Some methods are generic for all types of documents and are inherited from the Document service, whereas other methods are specific for the SF_Calc module.

The SF_Calc module is focused on:

- Χειρισμός φύλλων σε έγγραφο Calc (αντιγραφή, εισαγωγή, μετακίνηση κ.λπ.)

- Ανταλλαγή δεδομένων μεταξύ δομών δεδομένων Basic και περιοχών Calc

- Αντιγραφή και εισαγωγή μαζικών ποσοτήτων δεδομένων

## Κλήση υπηρεσίας

Η υπηρεσία Calc σχετίζεται στενά με την υπηρεσία UI της βιβλιοθήκης ScriptForge. Παρακάτω είναι μερικά παραδείγματα για το πώς μπορεί να κληθεί η υπηρεσία Calc.

##### Σε Basic

Το παρακάτω απόσπασμα κώδικα δημιουργεί μια παρουσία υπηρεσίας 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" είναι το όνομα ενός ανοιχτού παραθύρου εγγράφου. Εάν αυτό το όρισμα δεν παρέχεται, εξετάζεται το ενεργό παράθυρο.

Συνιστάται η απελευθέρωση πόρων μετά τη χρήση:

        Set oDoc = oDoc.Dispose()

Ωστόσο, εάν το έγγραφο έκλεισε χρησιμοποιώντας τη μέθοδο CloseDocument, δεν είναι απαραίτητο να απελευθερωθούν πόροι χρησιμοποιώντας την εντολή που περιγράφεται παραπάνω.

##### Σε Python

        myDoc = CreateScriptService("Calc")

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

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

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

Η χρήση του προθέματος "SFDocuments." κατά την κλήση της υπηρεσίας είναι προαιρετική.

## Ορισμοί

Πολλές μέθοδοι απαιτούν ένα "Sheet" (Φύλλο) ή ένα "Range" (Εύρος) ως όρισμα. Τα μεμονωμένα κελιά θεωρούνται ειδική περίπτωση Range.

Και τα δύο μπορούν να εκφραστούν είτε ως συμβολοσειρά είτε ως αναφορά (= αντικείμενο) ανάλογα με την κατάσταση:

- Μέσα σε μια συγκεκριμένη Calc περίπτωση, τα φύλλα και τα εύρη δίνονται ως συμβολοσειρές όπως "Φύλλο1" και "D2:F6".

- Επιπλέον, οι ιδιότητες .Sheet και .Range επιστρέφουν μια αναφορά που μπορεί να χρησιμοποιηθεί ως όρισμα μιας μεθόδου που καλείται από άλλο στιγμιότυπο υπηρεσίας του Calc.

### Παράδειγμα:

Το παρακάτω παράδειγμα αντιγράφει δεδομένα από το έγγραφο Α (ανοιχτό ως μόνο για ανάγνωση και κρυφό) στο έγγραφο Β.

##### Σε 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)

##### Σε Python

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

### SheetName

Είτε το όνομα του φύλλου ως string είτε ως αντικείμενο που παράγεται από την ιδιότητα .Sheet.

Η συντόμευση "~" (tilde) αντιπροσωπεύει το τρέχον φύλλο.

### RangeName

Είτε μια συμβολοσειρά που δηλώνει ένα σύνολο συνεχόμενων κελιών που βρίσκονται σε ένα φύλλο της τρέχουσας παρουσίας είτε ένα object (αντικείμενο) που παράγεται από την ιδιότητα .Range.

Η συντόμευση "~" (tilde) αντιπροσωπεύει την τρέχουσα επιλογή ή το πρώτο επιλεγμένο εύρος εάν έχουν επιλεγεί πολλαπλές περιοχές.

Η συντόμευση "*" αντιπροσωπεύει όλα τα χρησιμοποιημένα κελιά.

Το όνομα του φύλλου είναι προαιρετικό σε μια περιοχή (προεπιλογή = το ενεργό φύλλο). Τα γύρω μεμονωμένα εισαγωγικά και τα σημάδια $ επιτρέπονται αλλά αγνοούνται.

Εκτός από την ιδιότητα CurrentSelection, η υπηρεσία Calc λαμβάνει υπόψη μόνο μεμονωμένες περιοχές κελιών.

Παραδείγματα έγκυρων περιοχών
1) '$SheetX'.D2 2) $D$2 | Ένα μόνο κελί
1) '$SheetX'.D2:F6 2) D2:D10 | Ενιαία περιοχή με πολλαπλά κελιά
'$SheetX'.* | Όλα τα κελιά που χρησιμοποιήθηκαν στο συγκεκριμένο φύλλο
1) '$SheetX'.A:A (στήλες A) 2) 3:5 (σειρές 3 έως 5) | Όλα τα κελιά σε συνεχόμενες στήλες ή σειρές μέχρι το τελευταίο κελί που χρησιμοποιήθηκε
myRange (περιοχή_μου) | Μια περιοχή με το όνομα "myRange" (περιοχή_μου) σε επίπεδο υπολογιστικού φύλλου
1) ~.someRange 2) SheetX.someRange | Ένα όνομα περιοχής σε επίπεδο φύλλου
myDoc.Range("SheetX.D2:F6") | Μια περιοχή εντός του φύλλου SheetX στο αρχείο που σχετίζεται με την παρουσία myDoc Calc
~.~ ή ~ | Η τρέχουσα επιλογή στο ενεργό φύλλο

## Ιδιότητες

Όλες οι ιδιότητες που είναι γενικές σε οποιοδήποτε έγγραφο ισχύουν έμμεσα και για έγγραφα Calc. Για περισσότερες πληροφορίες, διαβάστε τη σελίδα βοήθειας της υπηρεσίας εγγράφων.

Οι ιδιότητες που είναι ειδικά διαθέσιμες για έγγραφα Calc είναι:

Όνομα | Μόνο για ανάγνωση | Όρισμα | Type | Περιγραφή
CurrentSelection | Όχι | Καμία | Συμβολοσειρά ή πίνακας συμβολοσειρών | The single selected range as a string or the list of selected ranges as an array
Height | Ναι | RangeName ως συμβολοσειρά | Long | The number of rows (>= 1) in the given range
LastCell | Ναι | SheetName As String | String | The last used cell in 'A1' format in the given sheet
LastColumn | Ναι | SheetName As String | Long | The last used column in the given sheet
LastRow | Ναι | SheetName As String | Long | The last used row in the given sheet
Range | Ναι | RangeName ως συμβολοσειρά | Object | A range reference that can be used as argument of methods like CopyToRange
Sheet | Ναι | SheetName ως String (συμβολοσειρά) | Object | A sheet reference that can be used as argument of methods like CopySheet
Sheets | Ναι | Καμία | Πίνακας συμβολοσειρών | The list with the names of all existing sheets
Width | Ναι | RangeName ως συμβολοσειρά | Long | The number of columns (>= 1) in the given range
XCellRange | Ναι | RangeName ως συμβολοσειρά | Object | A com.sun.star.Table.XCellRange UNO object
XSpreadsheet | Ναι | SheetName ως String (συμβολοσειρά) | Object | A com.sun.star.sheet.XSpreadsheet UNO object

Visit LibreOffice API Documentation's website to learn more about XCellRange and XSpreadsheet UNO objects.

## Μέθοδοι

Κατάλογος μεθόδων στην υπηρεσία Calc
Activate ClearAll ClearFormats ClearValues CopySheet CopySheetFromFile CopyToCell CopyToRange DAvg DCount | DMax DMin DSum Forms GetColumnName GetFormula GetValue ImportFromCSVFile ImportFromDatabase InsertSheet | MoveRange MoveSheet Offset RemoveSheet RenameSheet SetArray SetValue SetCellStyle SetFormula SortRange

## Activate

If the argument SheetName is provided, the given sheet is activated and it becomes the currently selected sheet. If the argument is absent, then the document window is activated.

### Σύνταξη:

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

### Παράμετροι:

sheetname (όνομα φύλλου): Το όνομα του φύλλου που θα ενεργοποιηθεί στο έγγραφο. Η προεπιλεγμένη τιμή είναι μια κενή συμβολοσειρά, που σημαίνει ότι το παράθυρο του εγγράφου θα ενεργοποιηθεί χωρίς να αλλάξει το ενεργό φύλλο.

### Παράδειγμα:

Το παρακάτω παράδειγμα ενεργοποιεί το φύλλο με το όνομα "Sheet4" στο τρέχον ενεργό έγγραφο.

##### Σε Basic

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

##### Σε Python

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

Η ενεργοποίηση ενός φύλλου έχει νόημα μόνο εάν εκτελείται σε έγγραφο Calc. Για να βεβαιωθείτε ότι έχετε διαθέσιμο ένα έγγραφο Calc, μπορείτε να χρησιμοποιήσετε την ιδιότητα isCalc του αντικειμένου του εγγράφου, η οποία επιστρέφει True εάν είναι έγγραφο Calc και False αλλιώς.

## ClearAll

Διαγράφει όλα τα περιεχόμενα και τις μορφές της δεδομένης περιοχής.

### Σύνταξη:

svc.ClearAll(range: str)

### Παράμετροι:

range (περιοχή): Η περιοχή που θα διαγραφεί, ως συμβολοσειρά.

### Παράδειγμα:

##### Σε Basic

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

##### Σε Python

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

## ClearFormats

Διαγράφει τις μορφές και τις τεχνοτροπίες στη δεδομένη περιοχή.

### Σύνταξη:

svc.ClearFormats(range: str)

### Παράμετροι:

range (περιοχή0: η περιοχή της οποίας οι μορφές και οι τεχνοτροπίες πρέπει να διαγραφούν, ως συμβολοσειρά.

### Παράδειγμα:

##### Σε Basic

          oDoc.ClearFormats("SheetX.*")

##### Σε Python

        myDoc.ClearFormats("SheetX.*")

## ClearValues

Διαγράφει τις τιμές και τους τύπους στη δεδομένη περιοχή.

### Σύνταξη:

svc.ClearValues(range: str)

### Παράμετροι:

range (περιοχή): Η περιοχή της οποίας οι τιμές και οι τύποι πρέπει να διαγραφούν, ως συμβολοσειρά.

### Παράδειγμα:

##### Σε Basic

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

##### Σε Python

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

## CopySheet

Αντιγράφει ένα καθορισμένο φύλλο πριν από ένα υπάρχον φύλλο ή στο τέλος του καταλόγου των φύλλων. Το φύλλο που πρόκειται να αντιγραφεί μπορεί να περιέχεται σε οποιοδήποτε ανοιχτό έγγραφο Calc. Επιστρέφει True εάν είναι επιτυχής.

### Σύνταξη:

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

### Παράμετροι:

sheetname (όνομα φύλλου): Το όνομα του φύλλου που θα αντιγραφεί ως συμβολοσειρά ή η αναφορά του ως αντικείμενο.

newname (νέο όνομα): Το όνομα του φύλλου που θέλετε να εισαγάγετε. Το όνομα δεν πρέπει να χρησιμοποιείται στο έγγραφο.

beforesheet (πριν από το φύλλο): Το όνομα (συμβολοσειρά) ή το ευρετήριο (αριθμητικό, ξεκινώντας από το 1) του φύλλου πριν από το οποίο θα εισαχθεί το αντιγραμμένο φύλλο. Αυτό το όρισμα είναι προαιρετικό και η προεπιλεγμένη συμπεριφορά είναι η προσθήκη του αντιγραμμένου φύλλου στην τελευταία θέση.

### Παράδειγμα:

##### Σε Basic

Το ακόλουθο παράδειγμα δημιουργεί ένα αντίγραφο του φύλλου "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")

##### Σε Python

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

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

Για να αντιγράψετε φύλλα μεταξύ ανοιχτών εγγράφων, χρησιμοποιήστε το CopySheet. Για να αντιγράψετε φύλλα από έγγραφα που είναι κλειστά, χρησιμοποιήστε το CopySheetFromFile.

## 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" στην πρώτη θέση.

##### Σε Basic

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

##### Σε Python

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

## CopyToCell

Αντιγράφει μια καθορισμένη περιοχή προέλευσης (τιμές, τύπους και μορφές) σε μια περιοχή ή κελί προορισμού. Η μέθοδος αναπαράγει τη συμπεριφορά μιας λειτουργίας Αντιγραφής/Επικόλλησης από μια περιοχή σε ένα μεμονωμένο κελί.

Επιστρέφει μια συμβολοσειρά που αντιπροσωπεύει την τροποποιημένη περιοχή κελιών. Το μέγεθος της τροποποιημένης περιοχής καθορίζεται πλήρως από το μέγεθος της περιοχής προέλευσης.

Η περιοχή προέλευσης μπορεί να ανήκει σε άλλο ανοιχτό έγγραφο.

### Σύνταξη:

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

### Παράμετροι:

source range: Η περιοχή προέλευσης ως συμβολοσειρά όταν ανήκει στο ίδιο έγγραφο ή ως αναφορά όταν ανήκει σε άλλο ανοιχτό έγγραφο Calc.

destinationcell: Το κελί προορισμού όπου θα επικολληθεί η αντιγραμμένη περιοχή κελιών, ως συμβολοσειρά. Εάν δοθεί ένα εύρος, λαμβάνεται υπόψη μόνο το επάνω αριστερό κελί του.

### Παράδειγμα:

##### Σε Basic

Ακολουθεί ένα παράδειγμα όπου η προέλευση και ο προορισμός βρίσκονται στο ίδιο αρχείο:

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

##### Σε Python

        docSource = svcUI.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.

## CopyToRange

Αντιγράφει προς τα κάτω ή/και προς τα δεξιά μια καθορισμένη περιοχή προέλευσης (τιμές, τύπους και μορφές) σε μια περιοχή προορισμού. Η μέθοδος μιμείται τη συμπεριφορά μιας λειτουργίας Αντιγραφής/Επικόλλησης από μια περιοχή πηγής σε μια μεγαλύτερη περιοχή προορισμού.

- Εάν το ύψος (ή το πλάτος) της περιοχής προορισμού είναι > 1 γραμμή (ή στήλη), τότε το ύψος (ή το πλάτος) της προέλευσης πρέπει να είναι <= του ύψους (ή του πλάτους) του προορισμού. Αλλιώς δεν γίνεται τίποτα.

- Εάν το ύψος (ή το πλάτος) του προορισμού είναι = 1, τότε ο προορισμός επεκτείνεται προς τα κάτω (ή προς τα δεξιά) μέχρι το ύψος (ή το πλάτος) της περιοχής προέλευσης.

Η μέθοδος επιστρέφει μια συμβολοσειρά που αντιπροσωπεύει την τροποποιημένη περιοχή κελιών.

Η περιοχή προέλευσης μπορεί να ανήκει σε άλλο ανοιχτό έγγραφο.

### Σύνταξη:

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

### Παράμετροι:

source range: Η περιοχή προέλευσης ως συμβολοσειρά όταν ανήκει στο ίδιο έγγραφο ή ως αναφορά όταν ανήκει σε άλλο ανοιχτό έγγραφο Calc.

destinationrange (περιοχή προορισμού): Ο προορισμός της αντιγραμμένης περιοχής κελιών, ως συμβολοσειράς.

### Παράδειγμα:

##### Σε Basic

Αντιγραφή στο ίδιο έγγραφο:

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

##### Σε Python

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

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

## DAvg, DCount, DMax, DMin and DSum

Εφαρμόστε τις συναρτήσεις 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" του τρέχοντος επιλεγμένου φύλλου:

##### Σε Basic

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

##### Σε Python

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

Τα κελιά στη δεδομένη περιοχή που περιέχουν κείμενο θα αγνοηθούν από όλες αυτές τις συναρτήσεις. Για παράδειγμα, η μέθοδος DCount δεν θα μετρήσει κελιά με κείμενο, αλλά μόνο αριθμητικά κελιά.

## Forms

Ανάλογα με τις παραμέτρους που παρέχονται, αυτή η μέθοδος θα επιστρέψει:

- Ένας πίνακας μηδενικής βάσης (ή μια πλειάδα στην 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".

##### Σε Basic

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

##### Σε Python

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

## GetColumnName

Μετατρέπει έναν αριθμό στήλης που κυμαίνεται μεταξύ 1 και 1024 στο αντίστοιχο γράμμα (στήλη 'A', 'B', ..., 'AMJ'). Εάν ο δεδομένος αριθμός στήλης βρίσκεται εκτός του επιτρεπόμενου εύρους, επιστρέφεται μια συμβολοσειρά μηδενικού μήκους.

### Σύνταξη:

svc.GetColumnName(columnnumber: int): str

### Παράμετροι:

columnnumber: Ο αριθμός στήλης ως ακέραια τιμή στο διάστημα 1 ... 1024.

### Παράδειγμα:

##### Σε Basic

Εμφανίζει ένα πλαίσιο μηνύματος με το όνομα της τρίτης στήλης, το οποίο από προεπιλογή είναι "C".

        MsgBox oDoc.GetColumnName(3)

##### Σε Python

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

Ο μέγιστος αριθμός στηλών που επιτρέπεται σε ένα φύλλο Calc είναι 1024.

## GetFormula

Λάβετε τους τύπους που είναι αποθηκευμένοι στη δεδομένη περιοχή κελιών ως μια μονή συμβολοσειρά, μια 1Δ ή μια 2Δ σειρά συμβολοσειρών.

### Σύνταξη:

svc.GetFormula(range: str): any

### Παράμετροι:

range: Η περιοχή από την οποία μπορείτε να λάβετε τους τύπους, ως συμβολοσειρά.

### Παράδειγμα:

##### Σε Basic

Το ακόλουθο παράδειγμα επιστρέφει έναν πίνακα 3 επί 2 με τους τύπους στην περιοχή "A1:B3" (3 σειρές ανά 2 στήλες):

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

##### Σε Python

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

## GetValue

Λάβετε τις τιμές που είναι αποθηκευμένες στη δεδομένη περιοχή κελιών ως μοναδική τιμή, πίνακα 1Δ ή πίνακα 2Δ. Όλες οι τιμές είναι είτε doubles (διπλές) είτε συμβολοσειρές.

### Σύνταξη:

svc.GetValue(range: str): any

### Παράμετροι:

range: Η περιοχή από την οποία μπορείτε να λάβετε τις τιμές, ως συμβολοσειρά.

### Παράδειγμα:

##### Σε Basic

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

##### Σε Python

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

Εάν ένα κελί περιέχει μια ημερομηνία, ο αριθμός που αντιστοιχεί σε αυτήν την ημερομηνία θα επιστραφεί. Για να μετατρέψετε αριθμητικές τιμές σε ημερομηνίες στα σενάρια Basic, χρησιμοποιήστε την ενσωματωμένη συνάρτηση Basic CDate. Στα σενάρια Python, χρησιμοποιήστε τη συνάρτηση CDate από την υπηρεσία Basic.

## ImportFromCSVFile

Εισάγει τα περιεχόμενα ενός αρχείου κειμένου με μορφή CSV και το τοποθετεί σε ένα δεδομένο κελί προορισμού.

Η περιοχή προορισμού διαγράφεται από όλα τα περιεχόμενα και τις μορφές πριν από την εισαγωγή των περιεχομένων του αρχείου CSV. Το μέγεθος της τροποποιημένης περιοχής καθορίζεται πλήρως από τα περιεχόμενα του αρχείου εισόδου.

Η μέθοδος επιστρέφει μια συμβολοσειρά που αντιπροσωπεύει την τροποποιημένη περιοχή κελιών.

### Σύνταξη:

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

### Παράμετροι:

filename (όνομα αρχείου): Προσδιορίζει το αρχείο που θα ανοίξει. Πρέπει να ακολουθεί τη σημειογραφία SF_FileSystem.FileNaming.

destinationcell: Το κελί προορισμού για την εισαγωγή των εισαγόμενων δεδομένων, ως συμβολοσειρά. Εάν αντ' αυτού δοθεί μια περιοχή, λαμβάνεται υπόψη μόνο το επάνω αριστερό κελί της.

filteroptions (επιλογές αρχείου): Τα ορίσματα για το φίλτρο εισαγωγής CSV. Το προεπιλεγμένο φίλτρο κάνει τις ακόλουθες υποθέσεις:

- Η κωδικοποίηση του αρχείου εισόδου είναι UTF8.

- Το διαχωριστικό πεδίου είναι ένα κόμμα, ένα ερωτηματικό (semi-colon) ή ένας χαρακτήρας στηλοθέτη.

- Ο οριοθέτης συμβολοσειράς είναι το διπλό εισαγωγικό (").

- Περιλαμβάνονται όλες οι γραμμές.

- Οι συμβολοσειρές σε εισαγωγικά μορφοποιούνται ως κείμενο.

- Εντοπίζονται οι ειδικοί αριθμοί.

- Όλες οι στήλες θεωρούνται κείμενα, εκτός εάν αναγνωρίζονται ως έγκυροι αριθμοί.

- Η γλώσσα είναι Αγγλικά/Η.Π.Α., πράγμα που σημαίνει ότι το δεκαδικό διαχωριστικό είναι "." και το διαχωριστικό χιλιάδων είναι ",".

### Παράδειγμα:

##### Σε Basic

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

##### Σε Python

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

Για να μάθετε περισσότερα σχετικά με τις επιλογές φίλτρου CSV, ανατρέξτε στη σελίδα Επιλογές φίλτρου σελίδας Wiki .

## ImportFromDatabase

Εισάγει τα περιεχόμενα ενός πίνακα βάσης δεδομένων, ενός ερωτήματος ή ενός συνόλου αποτελεσμάτων, δηλαδή το αποτέλεσμα μιας εντολής 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. Το όρισμα αγνοείται για πίνακες. Για τα ερωτήματα, η επιλογή που εφαρμόστηκε είναι αυτή που ορίστηκε όταν δημιουργήθηκε το ερώτημα.

### Παράδειγμα:

##### Σε Basic

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

##### Σε Python

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

## InsertSheet

Εισάγει ένα νέο κενό φύλλο πριν από ένα υπάρχον φύλλο ή στο τέλος του καταλόγου των φύλλων.

### Σύνταξη:

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

### Παράμετροι:

sheetname (όνομα φύλλου): Το όνομα του νέου φύλλου.

beforesheet (προηγούμενο φύλλο): Το όνομα (συμβολοσειρά) ή το ευρετήριο (αριθμητικό, ξεκινώντας από το 1) του φύλλου πριν από το οποίο θα εισαχθεί το νέο φύλλο. Αυτό το όρισμα είναι προαιρετικό και η προεπιλεγμένη συμπεριφορά είναι η εισαγωγή του φύλλου στην τελευταία θέση.

### Παράδειγμα:

Το ακόλουθο παράδειγμα εισάγει ένα νέο κενό φύλλο με το όνομα "SheetX" και το τοποθετεί πριν από το "SheetY":

##### Σε Basic

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

##### Σε Python

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

## MoveRange

Μετακινεί μια καθορισμένη περιοχή προέλευσης σε μια περιοχή προορισμού κελιών. Η μέθοδος επιστρέφει μια συμβολοσειρά που αντιπροσωπεύει την τροποποιημένη περιοχή κελιών. Η διάσταση της τροποποιημένης περιοχής καθορίζεται πλήρως από το μέγεθος της περιοχής προέλευσης.

### Σύνταξη:

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

### Παράμετροι:

source (προέλευση): Η περιοχή προέλευσης των κελιών, ως συμβολοσειρά.

destination (προορισμός): Το κελί προορισμού, ως συμβολοσειρά. Εάν δοθεί περιοχή, το επάνω αριστερό κελί του θεωρείται ως προορισμός.

### Παράδειγμα:

##### Σε Basic

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

##### Σε Python

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

## MoveSheet

Μετακινεί ένα υπάρχον φύλλο και το τοποθετεί πριν από ένα καθορισμένο φύλλο ή στο τέλος του καταλόγου φύλλων.

### Σύνταξη:

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

### Παράμετροι:

sheetname: Το όνομα του φύλλου προς μετακίνηση. Το φύλλο πρέπει να υπάρχει ή εμφανίζεται εξαίρεση.

beforesheet (προηγούμενο φύλλο): Το όνομα (συμβολοσειρά) ή το ευρετήριο (αριθμητικό, ξεκινώντας από το 1) του φύλλου πριν από το οποίο θα τοποθετηθεί το αρχικό φύλλο. Αυτό το όρισμα είναι προαιρετικό και η προεπιλεγμένη συμπεριφορά είναι να μετακινήσετε το φύλλο στην τελευταία θέση.

### Παράδειγμα:

Το παρακάτω παράδειγμα μετακινεί το υπάρχον φύλλο "SheetS" και το τοποθετεί πριν από το "ShettY":

##### Σε Basic

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

##### Σε Python

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

## Offset

Επιστρέφει μια νέα περιοχή (ως συμβολοσειρά) μετατοπισμένο από έναν ορισμένο αριθμό σειρών και στηλών από μια δεδομένη περιοχή.

Αυτή η μέθοδος έχει την ίδια συμπεριφορά με την ομώνυμη συνάρτηση 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 δεν πρέπει να οδηγούν σε μηδενικό ή αρνητικό πλήθος σειρών ή στηλών.

### Παράδειγμα:

##### Σε Basic

        oDoc.Offset("A1", 2, 2)
        'SheetX.$C$3 (Το A1 μετακινήθηκε κατά δύο σειρές και δύο στήλες προς τα κάτω)
        oDoc.Offset("A1", 2, 2, 5, 6)
        'SheetX.$C$3:$H$7 (Το A1 μετατοπίζεται κατά δύο σειρές και στήλες με πλάτος 5 σειρών και 6 στηλών)

##### Σε Python

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

## RemoveSheet

Αφαιρεί ένα υπάρχον φύλλο από το έγγραφο.

### Σύνταξη:

svc.RemoveSheet(sheetname: str): bool

### Παράμετροι:

sheetname: Το όνομα του φύλλου προς κατάργηση.

### Παράδειγμα:

##### Σε Basic

        oDoc.RemoveSheet("SheetY")

##### Σε Python

        myDoc.RemoveSheet("SheetY")

## RenameSheet

Μετονομάζει το δεδομένο φύλλο και επιστρέφει True εάν είναι επιτυχές.

### Σύνταξη:

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

### Παράμετροι:

sheetname: Το όνομα του φύλλου προς μετονομασία.

newname: το νέο όνομα του φύλλου. Δεν πρέπει να υπάρχει ακόμα.

### Παράδειγμα:

Αυτό το παράδειγμα μετονομάζει το ενεργό φύλλο σε "SheetY":

##### Σε Basic

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

##### Σε Python

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

## SetArray

Αποθηκεύει τη δεδομένη τιμή ξεκινώντας από ένα καθορισμένο κελί-στόχο. Η ενημερωμένη περιοχή επεκτείνεται από το κελί προορισμού ή από την επάνω αριστερή γωνία της δεδομένης περιοχής για να προσαρμόσει το μέγεθος του ορίσματος εισόδου value. Τα διανύσματα επεκτείνονται πάντα κατακόρυφα.

Η μέθοδος επιστρέφει μια συμβολοσειρά που αντιπροσωπεύει την τροποποιημένη περιοχή ως περιοχή κελιών.

### Σύνταξη:

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

### Παράμετροι:

targetcell (κελί προορισμού): Το κελί ή μια περιοχή ως συμβολοσειρά από το σημείο έναρξης για την αποθήκευση της δεδομένης τιμής.

value (τιμή): Ένα βαθμωτό, διάνυσμα ή πίνακας (στην Python, μονοδιάστατοι ή δισδιάστατοι κατάλογοι και πλειάδες) με τις νέες τιμές που θα αποθηκευτούν από το κελί προορισμού ή από την επάνω αριστερή γωνία της περιοχής εάν το targetcell (κελί προορισμού) είναι περιοχή. Οι νέες τιμές πρέπει να είναι συμβολοσειρές, αριθμητικές τιμές ή ημερομηνίες. Άλλοι τύποι θα προκαλέσουν το άδειασμα των αντίστοιχων κελιών.

### Παράδειγμα:

##### Σε Basic

Το παρακάτω παράδειγμα χρησιμοποιεί την ενσωματωμένη συνάρτηση 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))

##### Σε 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)))

Για να απορρίψετε τα πλήρη περιεχόμενα ενός πίνακα σε ένα φύλλο, χρησιμοποιήστε το SetArray. Για να απορρίψετε τα περιεχόμενα ενός πίνακα μόνο εντός των ορίων της περιοχής προορισμού κελιών, χρησιμοποιήστε το SetValue.

## SetValue

Αποθηκεύει τη δεδομένη τιμή στην καθορισμένη περιοχή. Το μέγεθος της τροποποιημένης περιοχής είναι ίσο με το μέγεθος του περιοχής προορισμού.

Η μέθοδος επιστρέφει μια συμβολοσειρά που αντιπροσωπεύει την τροποποιημένη περιοχή ως περιοχή κελιών.

### Σύνταξη:

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

### Παράμετροι:

targettrange (περιοχή προορισμού): Η περιοχή όπου αποθηκεύεται η δεδομένη τιμή, ως συμβολοσειρά.

value (τιμή): Μια βαθμωτή, ένα διάνυσμα ή ένας πίνακας με τις νέες τιμές για κάθε κελί της περιοχής. Οι νέες τιμές πρέπει να είναι συμβολοσειρές, αριθμητικές τιμές ή ημερομηνίες. Άλλοι τύποι θα προκαλέσουν το άδειασμα των αντίστοιχων κελιών.

Η πλήρης περιοχή ενημερώνεται και το υπόλοιπο φύλλο παραμένει αμετάβλητο. Εάν το μέγεθος του value (τιμής) είναι μικρότερο από το μέγεθος του targettrange, τότε τα υπόλοιπα κελιά θα αδειάσουν.

Εάν το μέγεθος του value είναι μεγαλύτερο από το μέγεθος του targettrange, τότε η value αντιγράφεται μόνο εν μέρει μέχρι να συμπληρώσει το μέγεθος του targettrange .

Τα διανύσματα επεκτείνονται κατακόρυφα, εκτός εάν το targettrange έχει ύψος ακριβώς 1 σειρά.

### Παράδειγμα:

##### Σε Basic

        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)

##### Σε 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)

## SetCellStyle

Εφαρμόζει την καθορισμένη τεχνοτροπία κελιού στη δεδομένη περιοχή προορισμού. Η πλήρης περιοχή ενημερώνεται και το υπόλοιπο του φύλλου παραμένει ανέγγιχτο. Εάν η τεχνοτροπία κελιού δεν υπάρχει, δημιουργείται σφάλμα.

Η μέθοδος επιστρέφει μια συμβολοσειρά που αντιπροσωπεύει την τροποποιημένη περιοχή ως περιοχή κελιών.

### Σύνταξη:

svc.SetCellStyle(targetrange: str, style: str): str

### Παράμετροι:

targettrange: Η περιοχή στην οποία θα εφαρμοστεί η τεχνοτροπία, ως συμβολοσειρά.

style (τεχνοτροπία): Το όνομα της τεχνοτροπίας κελιού που θα εφαρμοστεί.

### Παράδειγμα:

##### Σε Basic

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

##### Σε Python

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

## SetFormula

Εισάγει τους δεδομένους τύπους (πίνακα) στην καθορισμένη περιοχή. Το μέγεθος της τροποποιημένης περιοχής είναι ίσο με το μέγεθος της περιοχής.

Η μέθοδος επιστρέφει μια συμβολοσειρά που αντιπροσωπεύει την τροποποιημένη περιοχή ως περιοχή κελιών.

### Σύνταξη:

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

### Παράμετροι:

targettrange (περιοχή προορισμού): Η περιοχή για την εισαγωγή των τύπων, ως συμβολοσειράς.

formula (τύπος): Μια συμβολοσειρά, ένα διάνυσμα ή ένας πίνακας συμβολοσειρών με τους νέους τύπους για κάθε κελί στην περιοχή προορισμού.

Η πλήρης περιοχή ενημερώνεται και το υπόλοιπο φύλλο παραμένει αμετάβλητο.

Εάν ο δεδομένος τύπος είναι συμβολοσειρά, ο μοναδικός τύπος επικολλάται σε όλη την περιοχή με προσαρμογή των σχετικών αναφορών.

Εάν το μέγεθος του formula (τύπου) είναι μικρότερο από το μέγεθος του targettrange, τότε τα υπόλοιπα κελιά αδειάζονται.

Εάν το μέγεθος του formula (τύπου) είναι μεγαλύτερο από το μέγεθος της targettrange (περιοχής προορισμού), τότε οι τύποι αντιγράφονται μόνο εν μέρει μέχρι να συμπληρώσει το μέγεθος του targettrange.

Τα διανύσματα επεκτείνονται πάντα κατακόρυφα, εκτός εάν το targettrange έχει ύψος ακριβώς 1 σειρά.

### Παράδειγμα:

##### Σε Basic

        oDoc.SetFormula("A1", "=A2")
        ' Οριζόντιο διάνυσμα, μερικώς κενό
        oDoc.SetFormula("A1:F1", Array("=A2", "=B2", "=C2+10"))
        ' Το D2 περιέχει τον τύπο "=H2"
        oDoc.SetFormula("A1:D2", "=E1")

##### Σε Python

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

## SortRange

Ταξινομεί τη δεδομένη περιοχή με βάση έως και 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. Ο μέγιστος αριθμός κλειδιών είναι 3.

sortorder (διάταξη ταξινόμησης): Ένας βαθμωτός ή ένας πίνακας συμβολοσειρών που περιέχει τις τιμές "ASC" (αύξουσα), "DESC" (φθίνουσα) ή "" (με προεπιλογή αύξουσα). Κάθε στοιχείο ζευγαρώνεται με το αντίστοιχο στοιχείο στα sortkeys. Εάν ο πίνακας sortorder είναι μικρότερος από τα sortkeys, τα υπόλοιπα κλειδιά ταξινομούνται με αύξουσα σειρά.

destinationcell (κελί προορισμού): Το κελί προορισμού της ταξινομημένης περιοχής κελιών, ως συμβολοσειρά. Εάν δοθεί μια περιοχή, λαμβάνεται υπόψη μόνο το επάνω αριστερό κελί του. Από προεπιλογή, η περιοχή προέλευσης αντικαθίσταται.

containsheader (περιέχει κεφαλίδα): Όταν είναι True, η πρώτη σειρά/στήλη δεν ταξινομείται.

casesensitive (διάκριση πεζών-κεφαλαίων): Μόνο για συγκρίσεις συμβολοσειρών. Προεπιλογή = False

sortcolumns (ταξινόμηση στηλών): Όταν True, οι στήλες ταξινομούνται από αριστερά προς τα δεξιά. Προεπιλογή = False : οι σειρές ταξινομούνται από πάνω προς τα κάτω.

### Παράδειγμα:

##### Σε Basic

        'Ταξινόμηση περιοχής με βάση τις στήλες A (αύξουσα) και C (φθίνουσα)
        oDoc.SortRange("A2:J200", Array(1, 3), Array("ASC", "DESC"), CaseSensitive := True)

##### Σε Python

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

Όλες οι ScriptForge ρουτίνες Basic ή αναγνωριστικά που έχουν το πρόθεμα χαρακτήρα υπογράμμισης "_" δεσμεύονται για εσωτερική χρήση. Δεν προορίζεται να χρησιμοποιηθούν σε μακροεντολές Basic.

Σχετικά θέματα

Υπηρεσία SFDocuments.Document

ScriptForge.UI service