funktionen KompatilitetsTilstand

Indhold

# funktionen CompatibilityMode()

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.

### Syntaks:

          CompatibilityMode (Kompatibilitets_tilstand) (Optional Enable As Boolean (kan_valgfrit_aktiveres_som_Boolsk)) som_Boolsk

### Returværdi:

Funktionen CompatibilityMode returnerer altid den tilstand, som er aktiv efter dens udførelse. Det vil sige, at hvis funktionen bliver kaldt med et argument, returneres den nye tilstand; hvis funktionen bliver kaldt uden et argument, returneres den aktive tilstand uden at blive ændret.

### Parametre:

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:

- Gyldighedsområde for variable.

- 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).

### Eksempel:

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.

### Eksempel:

Æ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

Relaterede emner

Option Compatible-udtryk

Rem udtyk

Ændring af variables virkefelt i Brug af procedurer og funktioner med funktionen CompatibilityMode().

Option Base-udtryk

Option Explicit-udtryk

Option VBASupport-udtryk

Option ClassModule-udtryk