Θέμα: Γενικά Excel σε OpenOffce

Εμφάνιση ενός μόνο μηνύματος
  #2  
Παλιά 01-05-11, 15:31
Το avatar του χρήστη Tasos
Tasos Ο χρήστης Tasos δεν είναι συνδεδεμένος
Διαχειριστής
Όνομα: Τάσος Φιλοξενιδης
Έκδοση λογισμικού Office: Ms-Office 365
Γλώσσα λογισμικού Office: Ελληνική, Αγγλική, Γερμανική
 
Εγγραφή: 21-10-2009
Μηνύματα: 2.035
Προεπιλογή

Καλησπέρα Μανώλη και καλό μήνα!

Θα σου δώσω μια γενικότερη πληροφορία/απάντηση αφού το φόρουμ δεν υποστηρίζει άλλες
εφαρμογές υπολογιστικών φύλλων εκτός από τη Microsoft Excel.

Για να εκτελεστούν μακροεντολές VBA στην εφαρμογή Calc ( και γενικότερα στο OpenOffice )
και θα χρειαστεί η εκάστοτε εφαρμογή να τεθεί σε λειτουργία συμβατότητας VBA.

Αυτό επιτυγχάνεται με την τοποθέτηση της παρακάτω γραμμής στην κορυφή της λειτουργικής
μονάδας

VBASupport Option 1

πχ.:

Κώδικας:
REM  *****  BASIC  *****

Option VBASupport 1

Sub Main
    Dim rng As Range
    Set rng = ActiveWorkbook.WorkSheets("Sheet1").Range("A1:B30")
    MsgBox rng.Address
End Sub
Σημείωση: Το Οbject Μodel του Calc διαφέρει σε πολλά σημεία από το Οbject Μodel της Microsoft Excel
που σημαίνει ότι ακόμα και σε λειτουργία συμβατότητας VBA, αναλόγως τα περιεχόμενα του
κώδικα (κυρίως αναφορές σε Αντικείμενα Excel), θα παρουσιαστούν προβλήματα!


Edit:
Αναφέρομαι στις μακροεντολές του συνημμένου σου.
γράφεις:
Κώδικας:
.......
 Range("F6").Select
    Application.CutCopyMode = False
    ActiveCell.FormulaR1C1 = "=NOW()"
    Range("F6").Select
    Selection.Copy
    Selection.PasteSpecial Paste:=xlPasteValues, Operation:=xlNone, SkipBlanks _
        :=False, Transpose:=False
    ........
Μη χρησιμοποιείς Select και Copy δεν είναι απαραίτητο και προκαλεί "τρέμουλο" στην οθόνη.
Μπορείς να απλοποιήσεις τη μακροεντολή αυτή ....αρκεί να πεις στην VBA τι θέλεις να κάνεις....
Θα μπορούσες δηλαδή να χρησιμοποιήσεις: Range("F6").Value = Now

Επίσης:
Κώδικας:
    Range("G10").Select
    ActiveCell.FormulaR1C1 = "=IF(RC[-1]=0,"" "",RC[-1]-RC[-4])*RC[-1]-RC[-4]"
Θα μπορούσες να χρησιμοποιήσεις: Range("G10").FormulaR1C1 = "=IF(RC[-1]=0,"" "",RC[-1]-RC[-4])*RC[-1]-RC[-4]"

Καλή συνέχεια!

Φιλικά

Τάσος
__________________
Ms-Office Development Team
Ανάπτυξη επαγγελματικών εφαρμογών

Τελευταία επεξεργασία από το χρήστη Tasos : 01-05-11 στις 16:08.
Απάντηση με παράθεση