Hilfe für LibreOffice 7.1
Die Funktion CompatibilityMode() steuert den Laufzeitmodus und wirkt sich auf den gesamten Code aus, der nach dem Setzen oder Zurücksetzen des Modus ausgeführt wird.
Use this feature with caution, limit it to document conversion for example.
Die Option Compatible aktiviert die VBA-Kompatibilität auf Modulebene für den LibreOffice Basic-Interpreter.
Diese Funktion kann in folgenden Situationen Auswirkungen haben oder helfen:
Aufzählungen mit der Anweisung Enum erstellen
Ausführen des Befehls RmDir im VBA-Modus. In VBA werden nur leere Verzeichnisse von RmDir entfernt, während LibreOffice Basic ein Verzeichnis rekursiv entfernt.
Changing behavior of Basic Dir command. The directory flag (16) for the Dir command means that only directories are returned in LibreOffice Basic, while in VBA normal files and directories are returned.
Die Funktion CompatibilityMode() kann erforderlich sein, wenn auf die Compilermodi Option Compatible oder Option VBASupport zurückgegriffen wird.
CompatibilityMode(True | False)
Gegeben sei ein NICHT leeres Verzeichnis unter file:///home/me/Test
Sub RemoveDir
CompatibilityMode( true )
RmDir( "file:///home/me/Test" )
End Sub
Mit CompatibilityMode(true) führt das Programm zu einem Fehler, andernfalls werden das Testverzeichnis und der gesamte Inhalt gelöscht.
Ändern des Verhaltens von Dir
Sub VBADirCommand
CompatibilityMode( true ) ' Zeigt auch normale Dateien an
Entry$ = Dir( "file:///home/me/Tmp/*.*", 16 )
Total$ = ""
While Entry$ <> ""
Total$ = Total$ + Entry$ + Chr$(13)
Entry$ = Dir
Wend
MsgBox Total$
End Sub