VBA BuatObjek

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 iaitu "Early Binding" dan "Late Binding". "Early Binding" adalah proses menetapkan rujukan objek dari pustaka rujukan VBA dan ketika kami mengirim file tersebut kepada orang lain, mereka juga harus mengatur rujukan ke objek masing-masing. Walau bagaimanapun, "Late Binding" tidak memerlukan pengguna untuk menetapkan rujukan objek kerana dalam pengikatan lewat 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. Oleh itu, 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.

Anda boleh memuat turun Templat Excel VBA CreateObject ini di sini - Templat VBA CreateObject Excel

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 pemboleh ubah 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 Objek Objek menyebut nama objek luaran dalam tanda kutip ganda sebagai "PowerPoint.Application".

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 dapat dilihat 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 harus benar-benar yakin dengan kod yang anda tulis.

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

Kod:

 Sub CreateObject_Example1 () Dim PPT Sebagai Set Objek 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. 

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 menyatakan pemboleh ubah sebagai "Objek".

Kod:

 Sub CreateObject_Example2 () Dim ExcelSheet Sebagai Objek Akhir Sub 

Pada saat kita menyatakan pemboleh ubah sebagai objek menyebabkan pengikatan terlambat dan kita perlu menggunakan kata kunci "Set" untuk menetapkan rujukan untuk objek yang diperlukan.

Oleh kerana kita merujuk kepada lembaran kerja excel dari aplikasi excel, masukkan "Excel.Sheet" dalam tanda petik dua kali.

Kod:

 Sub CreateObject_Example2 () Dim ExcelSheet Sebagai Objek Set ExcelSheet = CreateObject ("Excel.Sheet") Akhir Sub 

Setelah rujukan untuk lembaran excel ditetapkan, kita perlu membuatnya kelihatan untuk menggunakannya. Ini serupa dengan bagaimana kami menjadikan aplikasi PowerPoint kelihatan.

Kod:

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

Sekarang ia akan mengaktifkan lembaran kerja excel.

Begitu juga untuk memulakan buku kerja excel dari produk Microsoft yang lain kita boleh menggunakan kod di bawah ini.

Kod:

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

Things to Remember About CreateObject in VBA

  • In VBA, the CreateObject function is used to reference objects.
  • Create Object function causes a late-binding process.
  • Using create object function we don’t get to access the intellisense list of VBA.