Collabora Office 24.04 Help
De functie CompatibilityMode beheert de runtime mode en beïnvloedt, na elke wijziging van die mode, alle code die daarna wordt uitgevoerd.
Wees voorzichtig met het gebruik van deze functionaliteit, beperk deze bijvoorbeeld tot de conversie van een document.
Compatibiliteitsmodus (Optioneel inschakelen als Boolean) As Boolean
CompatibilityMode functie retourneert altijd de modus die actief is na de uitvoering ervan. Dat wil zeggen, als het wordt aangeroepen met een argument, wordt de nieuwe modus geretourneerd; indien aangeroepen zonder een argument, retourneert het de actieve modus zonder deze te wijzigen.
Inschakelen: Stelt de nieuwe compatibiliteitsmodus in of uit wanneer het argument aanwezig is.
Functie CompatibilityMode is gerelateerd met Option VBASupport 1, in dat geval retourneert het altijd True. Het staat los van de compiler directive Option Compatible.
Deze functie heeft invloed op of kan nuttig zijn in de volgende situaties:
Bereik van variabelen.
Voer het commando RmDir uit in VBA-mode. In VBA worden alleen lege mappen verwijderd met RmDir terwijl Collabora Office Basic recursief een map verwijderd.
Verandert de werking van het Basic commando Dir. De vlag van de map (16) bij het commando Dir betekent dat alleen mappen worden teruggegeven door Collabora Office Basic, terwijl in VBA ook de normale bestanden worden teruggegeven.
De berekening van de kleurcomponenten met de functies Red en Blue is verbeterd (De functie Green is niet gewijzigd).
Uitgaande van een niet LEGE map op file:///home/me/Test
Sub RemoveDir
MsgBox CompatibilityMode() ' False
CompatibilityMode( True )
RmDir( "file:///home/me/Test" )
CompatibilityMode False
MsgBox CompatibilityMode ' False
End Sub
Met CompatibilityMode( True ) treedt er in het programma een fout op, in het andere geval wordt de map Test en de inhoud ervan verwijderd.
Gedrag Dir aanpassen
Sub VBADirCommand
CompatibilityMode( Enable := True ) ' Toont ook normale bestanden
Entry$ = Dir( "file:///home/me/Tmp/*.*", 16 )
Total$ = ""
While Entry$ <> ""
Total$ = Total$ + Entry$ + Chr$(13)
Entry$ = Dir
Wend
MsgBox Total$
CompatibilityMode Enable := False ' Toont alleen mappen
End Sub