BuatObjek dalam VBA - Bagaimana menggunakan Fungsi CreateObject di VBA?

Fungsi CreateObject di VBA

Objek adalah konsep yang sangat penting dalam pengekodan VBA, dan memahami bahawa model kerja objek cukup kompleks. Apabila kita merujuk objek dalam pengekodan VBA, kita melakukannya dengan dua cara, yaitu, "Early Binding" dan "Late Binding." "Early Binding" adalah proses menetapkan rujukan objek dari perpustakaan referensi VBA, dan ketika kami mengirim file ke orang lain, mereka juga harus menetapkan referensi ke objek masing-masing. Namun, "Late Binding" tidak memerlukan pengguna untuk menetapkan rujukan objek kerana, pada pengikatan akhir yang mengikat, kami menetapkan rujukan ke objek masing-masing dengan menggunakan fungsi "CreateObject" VBA.

Apa itu CreateObject di Excel VBA?

"Buat Objek" seperti namanya sendiri yang akan membuat objek yang disebutkan dari Excel VBA. Jadi, fungsi Buat Objek mengembalikan rujukan ke objek yang dimulakan oleh komponen Active X.

Di bawah ini adalah sintaks fungsi CreateObject di VBA

  • Kelas: Nama objek yang ingin kami mulakan dan tetapkan rujukan ke pemboleh ubah.
  • (Nama Pelayan): Ini adalah parameter pilihan; jika diabaikan, ia akan menggunakan mesin tempatan sahaja.

Contoh Buat Fungsi Objek di Excel VBA

Berikut adalah contoh VBA CreateObject.

Contoh # 1

Sekarang kita akan melihat bagaimana memulakan aplikasi PowerPoint dari excel menggunakan fungsi CreateObject di VBA. Buka fail excel dan pergi ke Tetingkap Editor Visual Basic dengan menekan kekunci ALT + F11 .

Kod:

Sub BuatObjek_Contoh1 () Akhir Sub

Menyatakan pemboleh ubah sebagai PowerPoint.Aplikasi.

Seperti yang anda lihat di atas, ketika kita mulai mengetik kata "PowerPoint", kita tidak melihat senarai IntelliSense yang menunjukkan carian yang berkaitan. Ini kerana "PowerPoint" adalah objek luaran. Tetapi tidak perlu risau menyatakan pemboleh ubah sebagai "Objek."

Kod:

Sub CreateObject_Example1 () Dim PPT Sebagai Objek Akhir Sub

Oleh kerana kita telah menyatakan pemboleh ubah sebagai "Objek," kita harus menetapkan referensi ke objek dengan menggunakan kata kunci "Set". Dengan memasukkan kata kunci "Set", sebutkan pembolehubah, dan letakkan tanda yang sama.

Kod:

Sub CreateObject_Example1 () Dim PPT Sebagai Objek Objek PPT = Sub Akhir

Sekarang buka fungsi CreateObject.

Oleh kerana kita merujuk objek eksternal "PowerPoint" untuk parameter "Kelas" fungsi Buat Objek, sebutkan nama objek luaran dalam tanda kutip ganda sebagai "PowerPoint. Aplikasi."

Kod:

Sub CreateObject_Example1 () Dim PPT Sebagai Objek Set PPT = CreateObject ("PowerPoint.Application") Akhir Sub

Sekarang fungsi Buat Objek akan memulakan aplikasi PowerPoint. Setelah objek dimulakan, kita perlu membuatnya terlihat dengan menggunakan nama pemboleh ubah.

Salah satu masalah dengan kaedah Buat Objek atau kaedah pengikatan terlambat adalah kita tidak dapat melihat senarai IntelliSense pada waktu tertentu. Anda mesti benar-benar yakin dengan kod yang anda tulis.

Untuk pemboleh ubah "PPT", gunakan harta "Terlihat" dan tetapkan statusnya sebagai "Benar."

Kod:

Sub CreateObject_Example1 () Dim PPT Sebagai Objek Set PPT = CreateObject ("PowerPoint.Application") PPT.Visible = True End Sub

Untuk menambah slaid ke PPT, tentukan kod VBA baris di bawah.

Kod:

Sub CreateObject_Example1 () Dim PPT Sebagai Objek Set PPT = CreateObject ("PowerPoint.Application") PPT.Visible = True PPT.Presentations.Add End Sub

Sekarang jalankan kod secara manual atau melalui kunci F5 dan lihat aplikasi "PowerPoint" terbuka.

Setelah aplikasi PowerPoint diaktifkan menggunakan pemboleh ubah "PPT", kita dapat mulai mengakses aplikasi PowerPoint.

Contoh # 2

Sekarang kita akan melihat bagaimana memulakan aplikasi Excel menggunakan fungsi CreateObject di VBA. Sekali lagi, nyatakan pemboleh ubah sebagai "Objek."

Kod:

Sub CreateObject_Example2 () Dim ExcelSheet Sebagai Objek Akhir Sub

The moment we declare the variable as an object, it causes late binding, and we need to use the “Set” keyword to set the reference for the required object.

Since we are referencing to excel worksheet from the application excel, enter “Excel. Sheet” in double-quotes.

Code:

Sub CreateObject_Example2() Dim ExcelSheet As Object Set ExcelSheet = CreateObject("Excel.Sheet") End Sub

Once the reference for the excel sheet is set, we need to make it visible to use it. This is similar to how we made the PowerPoint application visible.

Code:

Sub CreateObject_Example2() Dim ExcelSheet As Object Set ExcelSheet = CreateObject("Excel.Sheet") ExcelSheet.Application.Visible = True End Sub

Now it will activate the excel worksheet.

Similarly, to initiate an excel workbook from other Microsoft products, we can use the below code.

Code:

Sub CreateObject_Example3 () Dim ExlWb Sebagai Set Objek ExlWb = CreateObject ("Excel.Application") ExlWb.Application.Visible = True End Sub

Perkara yang Perlu Diingat Tentang CreateObject di VBA

  • Dalam VBA, fungsi CreateObject digunakan untuk merujuk objek.
  • Fungsi Buat Objek menyebabkan proses mengikat lambat.
  • Menggunakan fungsi buat objek, kita tidak dapat mengakses senarai VBA IntelliSense.

Artikel menarik...