VBA υποστήριξη OpenOffice.Org Calc
Καταχωρήθηκε στις 21. Οκτώβριο του 2009 από Krishnan σε Μηχανική , Οδηγός , OpenOffice.org , Συμβουλές
Για πολλά χρόνια μέχρι χθες, ήξερα για OpenOffice.Org Calc. Σήμερα, είμαι ενθουσιασμένος γι 'αυτό.
Δοκίμασα το OpenOffice πριν από πολλά χρόνια. Θα μπορούσε να κάνει μερικά πράγματα τότε, αλλά εγώ αμέσως απέρριψε ως ανεπαρκή για τις ανάγκες μου. Πάντα ήμουν οπαδός του τι θα μπορούσε να κάνει VBA για το Excel.
Την περασμένη εβδομάδα, έχω ολοκληρώσει το πιο πολύπλοκο κομμάτι της εφαρμογής της VBA είχα γραφτεί ποτέ. Είμαι αρχάριος VBA και μου πήρε μία εβδομάδα για να τελειώσει τον κωδικό μου που θα μπορούσαν να τυπωθούν στις 28 σελίδες Α4. Υπολογιστικό φύλλο μου μέχρι σήμερα λειτουργεί άψογα στα XP / Office 2003, όπως υποτίθεται ότι, αλλά είχα γράψει τα περισσότερα από τον κωδικό μου στα Vista / Office 2007.
Όταν έκανα αναβάθμιση σε Πιέστε το Debian, Openoffice.org 3.1.1 ήρθε με αυτό. Έλεγξα τη νέα έκδοση και εντυπωσιάστηκε ότι θα μπορούσε κανείς να γράψει μακροεντολές σε Python, Javascript, BeanShell εκτός από τις βασικές.
Δοκίμασα να ανοίξω πιο πολύπλοκο κομμάτι μου κώδικα VBA σε Openoffice.org και εγώ βομβαρδίστηκε με εκατοντάδες επαναλαμβανόμενα μηνύματα λάθους που είχα για να σκοτώσει το υπολογιστικό φύλλο από τη γραμμή εντολών. Ήμουν πεπεισμένος ότι η VBA και OOoCalc δεν είναι συμβατά μεταξύ τους, μέχρι που ανακάλυψα αυτό το site από ατύχημα, όταν προσπαθούν να μάθουν να γράφουν την Javascript για Μακροεντολές στο OOo.
Εντάξει. Το μόνο που χρειάζεται να προσθέσω ήταν "επιλογή VBA στήριξης 1". Αυτό δεν ακούγεται και τόσο δύσκολο, και έτσι δοκίμασα το άνοιγμα των φύλλων μου και πάλι έπρεπε να σκοτώσει τα πάντα και πάλι από την γραμμή εντολών.
Κάτι δεν πήγαινε καλά και δεν ήμουν σε θέση να τρέξει VBA παρά την υπόσχεση συμβατότητα.
Έτσι αποφάσισα να πάω αργά. Δεν έχει σημασία πόσες φορές, δεν θα μπορούσα να εκτελέσετε τις μακροεντολές, όταν άνοιξα το εγγενές αρχείο excel. Έτσι αποφάσισα να ανοίξω το αρχείο Excel με μακροεντολές απενεργοποιούνται. Αυτό επιτρέψτε μου να ανοίξει το φύλλο, αλλά τίποτα δεν δούλευε. Βρήκα ότι OOoCalc αυτόματα είχε προσθέσει "Επιλογή VBA στήριξης 1" σε ενότητες μου.
Έχω αποθηκεύσει το αρχείο ως. ODS και προχώρησε για τον εντοπισμό σφαλμάτων, επιτρέποντας και πάλι τις μακροεντολές. Αυτή τη φορά, τα λάθη δεν έρχονται σε flood.They ήρθε ένα κάθε φορά και ήταν πιο εύκολο για τον εντοπισμό σφαλμάτων.
Η πρώτη σειρά των σφαλμάτων που σχετίζονται με τις μεταβλητές που δεν έχουν ρητή Dim. VBA στο Excel φάνηκε πιο επιεικής για τον χειρισμό varaibles χωρίς κατάλληλη Δημ. δηλώσεις. Αλλά το OOo Calc δεν αρέσει. Έτσι κατέληξα να προσθέσετε μερικές Δημ. δηλώσεις για ορισμένες μεταβλητές.
Η επόμενη σειρά των σφαλμάτων ήταν με το Excel ονόματα UDF. OOo Calc θέλει να δει Λειτουργίες επίκληση με κεφαλαία γράμματα. Έτσι, αν θέλετε χρησιμοποιείται πεζά γράμματα στο Excel, θα εμφανίζονται ως σφάλματα. Αυτό θα μπορούσε εύκολα να καθοριστεί με τη χρήση των βρείτε και να αντικαταστήσετε το χαρακτηριστικό.
Με μόνο αυτά τα δύο πράγματα, καθορίζεται νέο αρχείο. ΟΚΟ μου λειτούργησε τέλεια. Έσωσα τότε ως. Xls και άνοιξε ξανά τις. Xls και όλα ήταν εξακολουθεί να εργάζεται. Αν το OOo Calc έγγραφα εξακολουθεί να λέει ότι δεν υποστηρίζονται όλες οι δυνατότητες της VBA, VBA τρέχει πολύ καλά στους OOoCalc για όλες τις πρακτικές τους υπολογισμούς εφαρμοσμένης μηχανικής. Έτσι, τώρα είναι η ώρα για μένα να κάνουν το διακόπτη.
Τώρα, αν έχετε δυσκολίες, να πάρει τον κώδικα VBA σας να εργαστείτε στο OOo Calc, dont σταματήστε αμέσως.

Σχετικές θέσεις:


















































Rakesh
07. Νοέμβριος, 2009
Γεια σου,
Έχω προσπαθήσει να κάνει ό, τι u ανέφερα, αλλά ακόμα δεν λειτουργεί.
αν SHEET1.CELLS (7, 4) = "" Ή SHEET1.CELLS (9, 4) = "" Ή SHEET1.CELLS (10, 4) = ""
Σε αυτή τη γραμμή εγώ είμαι getting ιδιοκτησίας ή η μέθοδος δεν βρέθηκε.
Krishnan
09. Νοέμβριος, 2009
Η σύνταξη είναι προφανώς λανθασμένη, όπως μπορώ να δω.
Αν, λοιπόν, τα υπόλοιπα είναι οι λέξεις-κλειδιά που πρέπει να χρησιμοποιούνται. Δεν Or.
james
07. Φεβρουάριος, 2010
ingnoring το "REMS"
πώς θα δικαίωμα αυτό στο OOo; λοξοτομώ το έργο από το OOo - pls πάρτε ξεκίνησε;
Rem λέξεις Sub ()
"Rem
Λέξεις Macro Rem '
Μακροοικονομική Rem 'καταγράφονται από 07/02/2010 Ιδιοκτήτης
"Rem
Συντόμευση πληκτρολογίου Rem »: Ctrl + W
"Rem
Rem Δημ. NumWords As Integer
Rem Δημ. WordLength As Integer
Rem Δημ. Count As Integer
Rem Δημ. Count2 As Integer
Rem Δημ. LCase As Integer
Rem
Rem Δημ. Word ως String
Rem Δημ. MixedWord As String
Rem Δημ. Επιστολή As String
Rem
Φύλλα rem »(« Λόγια »). Ενεργοποίηση
Rem
Rem Σετ wordRange = φύλλα εργασίας ("Words") Πεδίο ("A1: A500").
Rem NumWords = Application.WorksheetFunction.CountA (wordRange)
Rem
Rem για Count = 1 Για να NumWords
Rem WordLength = Len (Κύτταρα (Κόμης, 1))
Rem
Rem
Application.EnableSound Rem '= False
Rem
Application.EnableSound Rem '= True
Rem το Word = Κύτταρα (Κόμης, 1)
Κύτταρα rem »(Κόμης, 1). Ενεργοποίηση
ActiveCell.Characters rem »(1, 3). PhoneticCharacters = το Word
Rem MixedWord = ""
Rem για Count2 = 1 Για να WordLength
Rem Επιστολή = Mid (Κύτταρα (Κόμης, 1), Count2, 1)
Application.Speech.Speak rem »(Επιστολή)
Rem LCase = Γύρος (Rnd)
Rem
Rem
Rem Αν LCase = 1 και ASC (Επιστολή)> = 97 = Τότε Επιστολή Χρ (Asc (Επιστολή) - 32)
Rem
Rem MixedWord = MixedWord + γράμμα
Rem Επόμενη Count2
Κύτταρα Rem (1, 5) = MixedWord
Rem
Rem Δημ. μηνύματος, τον τίτλο, Προεπιλογή, MyValue
Μήνυμα Rem = "Έτοιμο μαϊμού;"
Rem Τίτλος = "παιχνίδι ορθογραφία Honors".
Rem Προεπιλογή = "ΝΑΙ"
Rem MyValue = InputBox (Μήνυμα, Τίτλος, Προεπιλογή)
Rem
Rem
Rem για Count2 = 1 Για να WordLength
Rem Επιστολή = Mid (Κύτταρα (Κόμης, 1), Count2, 1)
Rem Application.Speech.Speak (Επιστολή)
Rem Επόμενη Count2
Rem Application.Speech.Speak (Word)
Rem
Rem Αν MyValue "ΝΑΙ" Τότε
Rem Application.Speech.Speak ("Αυτό είναι λάθος pooey - εισάγατε")
Rem WordLength = Len (MyValue)
Rem για Count2 = 1 Για να WordLength
Rem Επιστολή = Mid (MyValue, Count2, 1)
Rem Application.Speech.Speak (Επιστολή)
Rem Επόμενη Count2
Rem Application.Speech.Speak (MyValue)
Τέλος Αν Rem
Rem
Rem
Rem Επόμενη Count
Rem
Rem
Rem End Sub
Rem