Object Binding

Sebelum memulai menggunakan Library atau Object, kita perlu mengenal proses binding atau proses melakukan deklarasi terhadap object atau library yang akan digunakan.

Ada dua jenis binding yang umum dikenal di VBA, yaitu Early binding dan Late binding.

Apa itu Late dan Early Binding?

Jadi, early binding dan late binding ini adalah cara kita menentukan tipe data objek pada saat kita menggunakan VBA untuk aplikasi yang kita buat.

Early binding atau juga disebut dengan static binding adalah ketika compiler menetapkan objek atau variabel dengan tipe data tertentu pada saat kompilasi kode.

Sedangkan late binding atau juga disebut dengan dynamic binding adalah ketika tipe data objek atau variabel ditentukan pada saat runtime, bukan saat kompilasi kode.

berikut contoh script VBA yang menggunakan early binding dan late binding:

Early Binding

Sub EarlyBindingExample()
    Dim objExcel As Excel.Application
    Set objExcel = New Excel.Application

    With objExcel 
        .Visible = True
        .Workbooks.Add
        .Range("A1").Value = "Hello, Early binding!"
        .Quit
    End With
End Sub

Late Binding

Sub LateBindingExample()
    Dim objExcel As Object
    Set objExcel = CreateObject("Excel.Application")

    With objExcel 
        .Visible = True
        .Workbooks.Add
        .Range("A1").Value = "Hello, late binding!"
        .Quit
    End With
End Sub

Perbedaannya ada pada deklarasi objek Excel. Pada early binding, kita harus menambahkan Reference ke library Excel dan mendeklarasikan objek dengan tipe data yang spesifik, yaitu Excel.Application.

Sedangkan pada late binding, kita tidak perlu menambahkan referensi ke library Excel dan kita mendeklarasikan objek dengan tipe data Object, yang artinya tipe data objek ditentukan saat runtime.

Keuntungan dan Kerugian Late dan Early Binding

Keuntungan early binding adalah kinerjanya lebih cepat karena tipe data objek sudah ditentukan saat kompilasi, sehingga VBA tidak perlu menentukan tipe data saat runtime. Selain itu, early binding juga memudahkan dalam pengembangan kode karena VBA akan memberikan informasi properti dan method saat kita mengetik kode (Inntelisense).

Namun, kekurangan dari early binding adalah kita harus menambahkan referensi ke library Excel, sehingga jika library tersebut tidak tersedia di komputer pengguna, maka kode VBA tidak akan berjalan dengan baik. Selain itu, jika kita menggunakan objek dari library yang berbeda, maka kita harus menyesuaikan kode VBA kita dengan tipe data objek yang berbeda-beda, yang bisa memakan waktu dan menyulitkan dalam pengembangan kode.

Sementara itu, keuntungan late binding adalah kita tidak perlu menambahkan referensi ke library Excel dan kode VBA kita lebih fleksibel karena kita bisa menggunakan objek dari library yang berbeda tanpa perlu menyesuaikan tipe data objek. Selain itu, late binding memudahkan dalam distribusi kode VBA karena kita tidak perlu khawatir library yang digunakan tidak tersedia di komputer pengguna.

Namun, kekurangan dari late binding adalah kinerjanya lebih lambat karena tipe data objek ditentukan saat runtime. Selain itu, VBA tidak akan memberikan saran dan informasi tipe data objek saat kita mengetik kode, sehingga kita harus tahu tipe data objek yang digunakan dengan pasti.

Leave a Reply

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

Tutorial Lainnya