Wat kun je met #If, #Const?

Status
Niet open voor verdere reacties.

Victorr99

Gebruiker
Lid geworden
2 jun 2015
Berichten
83
Beste helpmijers,

Wie weet wat je met #If, #Const kunt doen?

Alvast bedankt!

Mvg, Victor
 
Dus als ik het goed begrijp wordt #If enz. alleen gebruikt tijdens het debuggen of assembleren en is het dus niet onderdeel van de applicatie zelf.
 
Het zijn Compiler Directives. Daarmee kan je bijvoorbeeld stukken code laten compileren afhankelijk van het platform waarvoor je het programma maakt. Het voordeel t.o.v. een standaard If en dergelijke is dat dan alleen de code voor het bedoelde platform in de executable aanwezig is. Maar zo kan je ook debug code opnemen die in de uiteindelijke executable niet aanwezig is. Het programma zelf bevat daardoor geen overbodige dingen.
 
Klein voorbeeldje is misschien wel leuk. Dit gebruik ik zelf en er wordt getest of het Office 32- of 64-bit is:
Code:
Function E_dll() As String
    #If Win64 Then
        'Excel 2010 (64 bits)
        E_dll = ThisWorkbook.Path & "\DLL\E10.w64"
    #Else
        Select Case Val(Application.Version)
        'Excel 2010 (32 bits)
        Case Is >= 14:
            E_dll = ThisWorkbook.Path & "\DLL\E10.w32"
        
        'Excel 2007
        Case 12:
            E_dll = ThisWorkbook.Path & "\DLL\E7.w32"
        
        'Excel 2003 of lager
        Case Else
            E_dll = ThisWorkbook.Path & "\DLL\E3.w32"
        End Select
    #End If
End Function
 
Laatst bewerkt:
Status
Niet open voor verdere reacties.
Terug
Bovenaan Onderaan