Collabora Office 24.04 Βοήθεια
Η συνάρτηση CompatibilityMode() ελέγχει ή ερωτά την κατάσταση χρόνου εκτέλεσης. Επηρεάζει όλο τον κώδικα που εκτελείται μετά τη ρύθμιση ή την επαναφορά της λειτουργίας χρόνου εκτέλεσης.
Χρησιμοποιήστε αυτό το γνώρισμα με προσοχή, περιορίστε το στη μετατροπή κειμένου, παραδείγματος χάρη.
CompatibilityMode(Προαιρετικό Enable As Boolean) As Boolean
Η συνάρτηση CompatibilityMode επιστρέφει πάντα τη λειτουργία που είναι ενεργή μετά την εκτέλεσή της. Δηλαδή, εάν καλείται με όρισμα, επιστρέφει τη νέα λειτουργία. Εάν καλείται χωρίς όρισμα, επιστρέφει την ενεργή λειτουργία χωρίς να την τροποποιήσει.
Enable (Ενεργοποίηση): Ορίζει ή καταργεί τη νέα κατάσταση συμβατότητας όταν υπάρχει το όρισμα.
Η λειτουργία CompatibilityMode σχετίζεται με τη Επιλογή VBASupport 1, οπότε επιστρέφει πάντα True. Δεν σχετίζεται με την οδηγία μεταγλωττιστή Option Compatible.
Αυτή η συνάρτηση μπορεί να επηρεάσει ή να βοηθήσει στις παρακάτω καταστάσεις:
Εμβέλεια μεταβλητών.
Εκτέλεση εντολής RmDir σε κατάσταση VBA. Σε VBA αφαιρούνται μόνο κενοί κατάλογοι με RmDir ενώ η Basic του Collabora Office αφαιρεί κατάλογο αναδρομικά.
Αλλαγή συμπεριφοράς της εντολής Basic Dir. Η σημαία καταλόγου (16) για την εντολή Dir σημαίνει ότι επιστρέφονται μόνο κατάλογοι στο Collabora Office Basic, ενώ επιστρέφονται στη VBA κανονικά αρχεία και κατάλογοι.
Υπολογισμός στοιχείων χρώματος με τις συναρτήσεις Red (Κόκκινο) και Blue (Γαλάζιο) που ανταλλάσσονται (Η συνάρτηση Green (Πράσινο) δεν επηρεάζεται).
Με δεδομένο κενό κατάλογο NOT στο file:///home/me/Test
Sub RemoveDir
MsgBox CompatibilityMode() ' False
CompatibilityMode( True )
RmDir( "file:///home/me/Test" )
CompatibilityMode False
MsgBox CompatibilityMode ' False
End Sub
Με το CompatibilityMode( True ) το πρόγραμμα δημιουργεί ένα σφάλμα, διαφορετικά ο κατάλογος Test και όλο το περιεχόμενό του διαγράφονται.
Τροποποίηση της συμπεριφοράς του Dir
Sub VBADirCommand
CompatibilityMode( Enable := True ) ' Εμφανίζει επίσης κανονικά αρχεία
Entry$ = Dir( "file:///home/me/Tmp/*.*", 16 )
Total$ = ""
While Entry$ <> ""
Total$ = Total$ + Entry$ + Chr$(13)
Entry$ = Dir
Wend
MsgBox Total$
CompatibilityMode Enable := False ' Εμφανίζει μόνο καταλόγους
End Sub