Функция CompatibilityMode()
Функцията CompatibilityMode() управлява режима на изпълнение и влияе върху всичкия код, изпълняван след включване или изключване на режима.
Използвайте тази възможност внимателно, ограничавайки я например до ситуации, свързани с конвертиране на документи.
Option Compatible включва съвместимостта с VBA на ниво модул за интерпретатора на LibreOffice Basic.
Тази функция може да повлияе или да помогне в следните ситуации:
Създаване на изброени типове с оператора Enum
Изпълнение на командата RmDir в режим VBA. Във VBA RmDir премахва само празни директории, докато LibreOffice Basic премахва директориите рекурсивно.
Промяна на поведението на командата Dir на Basic. В LibreOffice Basic флагът за директория (16) на командата Dir означава връщане само на директориите, докато във VBA се връщат обикновените файлове и директориите.
Функцията CompatibilityMode() може да е необходима, когато се налага използването на режима Option Compatible или Option VBASupport на компилатора.
CompatibilityMode(True | False)
Ако има НЕПРАЗНА директория с път file:///home/me/Test
Sub RemoveDir
CompatibilityMode( true )
RmDir( "file:///home/me/Test" )
End Sub
С CompatibilityMode(true) изпълнението на програмата ще предизвика грешка, а без него директорията Test ще бъде изтрита заедно с цялото си съдържание.
Промяна на поведението на Dir
Sub VBADirCommand
CompatibilityMode( true ) ' Показва и обикновените файлове
Entry$ = Dir( "file:///home/me/Tmp/*.*", 16 )
Total$ = ""
While Entry$ <> ""
Total$ = Total$ + Entry$ + Chr$(13)
Entry$ = Dir
Wend
MsgBox Total$
End Sub