LibreOffice 7.5 Hjælp
Funktionen CompatibilityMode() (kompatibilitets_tilstand()) kontrollerer eller forespørger om afviklingstilstanden. Den påvirker al kode, der afvikles efter indstilling eller nulstilling af afviklingstilstanden.
Brug den funktionalitet med forsigtighed. Begræns den til for eksempel til dokumentkonvertering.
CompatibilityMode (Kompatibilitets_tilstand) (Optional Enable As Boolean (kan_valgfrit_aktiveres_som_Boolsk)) som_Boolsk
Funktionen CompatibilityMode (kompatibilitets-tilstand) returnerer altid den tilstand, der er aktiv efter dens udførelse. Det vil sige at, hvis den er kaldt med et argument, returnerer den den nye tilstand, hvis den er kaldt uden argument, returnerer den den aktive tilstand uden at returnere den.
Aktiver: Sætter eller afsætter kompatibilitets-tilstand, når argumentet er tilstede.
Funktionen CompatibilityMode (kompatibilitets-tilstand) relaterer til Option VBASupport 1 (Indstillingen VBA-understøttelse 1), i hvilket tilfælde den altid returnerer True (sand). Den relaterer ikke til kompiler-direktivet Option Compatible.
Denne funktion kan påvirke eller hjælpe i følgende situationer:
Omfang af variabler.
Kørsel af kommandoen RmDir i VBA-tilstand. I VBA fjernes kun tomme mapper med RmDir, mens LibreOffice Basic fjerner en mappe rekursivt.
Ændring af Basic-kommandoen Dirs adfærd. Mappeflaget (16) ved kommandoen Dir betyder, at udelukkende mapper returneres i LibreOffice Basic, mens filer og mapper normalt returneres i VBA.
Beregning af farvekomponenter med funktionerne Red (rød) og Blue (blå), som ombyttes (Funktionen Green (grøn) påvirkes ikke).
Givet en IKKE-tom mappe på file:///home/me/Test
Sub RemoveDir
MsgBox CompatibilityMode() ' False
CompatibilityMode( True )
RmDir( "file:///home/me/Test" )
CompatibilityMode False
MsgBox CompatibilityMode ' False
End Sub
Med CompatibilityMode( True ) (kompatibilitets-tilstand (sand)) hejser programmet et fejlflag, eller slettes mappen Test og al dens indhold.
Ændring af Dirs adfærd
Sub VBADirCommand
CompatibilityMode( Enable := True ) (Kompatibilitets-tilstand (Aktiver = Sand)) ' Viser også normale filer
Entry$ = Dir( "file:///home/me/Tmp/*.*", 16 )
Total$ = ""
While Entry$ <> ""
Total$ = Total$ + Entry$ + Chr$(13)
Entry$ = Dir
Wend
MsgBox Total$
CompatibilityMode( Enable := True ) (Kompatibilitets-tilstand (Aktiver = Falsk)) ' Viser kun mapper
End Sub