Directives : Compiler Directives

Compiler Directives adalah pernyataan khusus yang digunakan untuk mengontrol bagaimana kompiler VBA (Visual Basic for Applications) menghasilkan kode biner dari program yang ditulis.

Compiler Directives digunakan untuk mengoptimalkan kinerja program, mengatur penyimpanan memori, dan memungkinkan pengembangan program yang lebih modular dan fleksibel.

Penggunaan Compiler Directives

Compiler Directives dapat digunakan dengan menambahkan pernyataan berikut di awal kode VBA:

#directive

Di mana directive adalah perintah khusus untuk kompiler. Contoh directive yang sering digunakan adalah If, Else, End If, dan Const.

Penggunaan directive If dan End If dapat digunakan untuk mengatur pengkodean kondisional dalam program VBA.

Pernyataan If digunakan untuk menentukan apakah suatu blok kode harus dieksekusi atau tidak, berdasarkan kondisi yang ditentukan. Sementara End If digunakan untuk menutup blok kondisional.

Contoh penggunaan directive If dan End If untuk kondisional versi VBA:

#If VBA7 Then
    ' Kode yang dieksekusi jika program berjalan di VBA 7 atau yang lebih baru
#Else
    ' Kode yang dieksekusi jika program berjalan di versi VBA sebelumnya
#End If

Penggunaan directive Const digunakan untuk mendefinisikan konstanta dalam program VBA. Konstanta adalah nilai yang tidak dapat diubah selama program berjalan.

Penggunaan konstanta memungkinkan pengembang untuk membuat program yang lebih mudah dipelihara dan diubah, karena nilai konstanta hanya perlu diubah sekali, tanpa perlu mengubah seluruh program.

Contoh penggunaan directive Const:

#Const myConstant = "Hello, World!"

Keuntungan menggunakan Compiler Directives

Dalam pengembangan program VBA, menggunakan Compiler Directives dapat membantu pengembang dalam mengoptimalkan kinerja program dengan membuat program yang lebih fleksibel misalnya VBA yang bisa digunakan dalam versi 32bit dan 64bit dalam 1 modul script yang sama.

Contoh penggunaan Compiler Directives:

#If VBA7 and Win64 Then
    Declare Ptrsafe Function GetTickCount Lib "kernel32" () As Long
#Else
    Declare Function GetTickCount Lib "kernel32" () As Long
#End If

Pada contoh di atas, directive digunakan untuk memberitahu VBA bahwa akan digunakan fungsi GetTickCount dari Librarry kernel32. Namun, jika fungsi ini berjalan pada system 64bit maka sudah ditambahkan pointer safe (ptrsafe) agar tidak terjadi error.

Oleh karena itu, directive #If VBA7 and Win64 Then digunakan untuk mengatur agar fungsi GetTickCount berjalan sesuai dengan versi Bit yang digunakan dan bisa berjalan di kedua versi baik itu 32bit maupun 64bit.

Leave a Reply

Your email address will not be published. Required fields are marked *

Chat WhatsApp
WhatsApp