Untuk hampir semua tujuan pemrograman, VBA dan VB 6.0 adalah hal yang sama.
VBA tidak dapat mengkompilasi program Anda menjadi biner yang dapat dieksekusi. Anda akan selalu memerlukan host (file Word dan MS Word, misalnya) untuk memuat dan menjalankan proyek Anda. Anda juga tidak dapat membuat COM DLL dengan VBA.
Selain itu, ada perbedaan dalam IDE - VB 6.0 IDE lebih kuat dibandingkan. Di sisi lain, Anda memiliki integrasi aplikasi host yang ketat di VBA. Objek global aplikasi (seperti "ActiveDocument") dan acara tersedia tanpa deklarasi, sehingga pemrograman khusus aplikasi mudah.
Namun, tidak ada yang menghalangi Anda untuk menjalankan Word, memuat VBA IDE dan menyelesaikan masalah yang tidak ada hubungannya dengan Word sama sekali. Saya tidak yakin apakah ada sesuatu yang dapat dilakukan VB 6.0 (secara teknis), dan VBA tidak bisa. Saya mencari lembar perbandingan di MSDN.
VBA adalah singkatan dari Visual Basic for Applications dan begitu juga saudara laki-laki scripting kecil "untuk aplikasi" VB. VBA memang tersedia di Excel, tetapi juga di aplikasi kantor lainnya.
Dengan VB, seseorang dapat membuat aplikasi windows yang berdiri sendiri, yang tidak mungkin dilakukan dengan VBA.
Namun dimungkinkan bagi pengembang untuk "menanamkan" VBA dalam aplikasi mereka sendiri, sebagai bahasa scripting untuk mengotomatiskan aplikasi tersebut.
Edit : Dari FAQ VBA :
Perhatikan bahwa VB.NET bahkan bahasa lain, yang hanya berbagi sintaksis dengan VB.
sumber
Berikut jawaban yang lebih teknis dan menyeluruh untuk pertanyaan lama: Visual Basic for Applications (VBA) dan Visual Basic (pre-.NET) bukan hanya bahasa yang serupa, mereka adalah bahasa yang sama . Secara khusus:
Dalam buku referensi VB lama yang saya temui tahun lalu, penulis (Paul Lomax) bahkan menegaskan bahwa 'VBA' selalu menjadi nama bahasa itu sendiri, apakah digunakan dalam aplikasi yang berdiri sendiri atau dalam konteks tertanam (seperti MS Office ):
Perbedaan kecil
Hosted vs. stand-alone : Secara praktis, istilah, ketika kebanyakan orang mengatakan "VBA", mereka secara spesifik berarti "VBA ketika digunakan di MS Office", dan mereka mengatakan "VB6" berarti "VBA yang digunakan dalam versi terakhir VBA mandiri. kompiler (yaitu Visual Studio 6) ". IDE dan kompiler yang dibundel dengan MS Office hampir identik dengan Visual Studio 6, dengan batasan yang tidak memungkinkan kompilasi untuk berdiri sendiri dll atau file exe. Ini pada gilirannya berarti bahwa kelas yang ditentukan dalam proyek VBA tertanam tidak dapat diakses dari konsumen COM yang tidak tertanam, karena mereka tidak dapat didaftarkan.
Pengembangan yang berkelanjutan : Microsoft berhenti memproduksi kompiler VBA yang berdiri sendiri dengan Visual Studio 6, ketika mereka beralih ke .NET runtime sebagai platform pilihan. Namun, tim MS Office terus mempertahankan VBA, dan bahkan merilis versi baru (VBA7) dengan VM baru (sekarang baru disebut VBA7.dll) dimulai dengan MS Office 2010. Satu-satunya perbedaan utama adalah bahwa VBA7 memiliki keduanya 32- dan versi 64-bit dan memiliki beberapa peningkatan untuk menangani perbedaan antara keduanya, khususnya yang berkaitan dengan permintaan API eksternal.
sumber
Apakah Anda ingin membandingkan VBA dengan VB-Classic (VB6 ..) atau VB.NET?
VBA (Visual Basic for Applications) adalah bahasa skrip berbasis vb-klasik yang tertanam dalam aplikasi Microsoft Office. Saya pikir fitur bahasanya mirip dengan VB5 (hanya kekurangan beberapa fungsi bawaan), tetapi:
Anda memiliki akses ke dokumen kantor tempat Anda menulis skrip VBA dan sehingga Anda dapat mis
Contoh: Tetapkan nilai sel excel
VBC dan -.NET bukan bahasa skrip. Anda menggunakannya untuk menulis aplikasi mandiri dengan IDE terpisah yang tidak dapat Anda lakukan dengan VBA (VBA-script hanya "ada" di Office)
VBA tidak ada hubungannya dengan VB.NET (mereka hanya memiliki sintaks yang sama).
sumber
Sebenarnya VBA dapat digunakan untuk mengkompilasi DLL. Edisi Office 2000 dan Office XP Developer termasuk editor VBA yang dapat digunakan untuk membuat DLL untuk digunakan sebagai COM Addins.
Fungsionalitas ini telah dihapus di versi yang lebih baru (2003 dan 2007) dengan munculnya perangkat lunak VSTO (VS Tools for Office), meskipun jelas Anda masih bisa membuat addins COM dengan cara yang sama tanpa menggunakan VSTO (atau VS.Net) oleh menggunakan VB6 IDE.
sumber
Itu VBA. VBA berarti Visual Basic for Applications , dan digunakan untuk makro pada dokumen Office. Itu tidak memiliki akses ke fitur VB.NET, jadi itu lebih seperti versi VB6 yang dimodifikasi, dengan add-on untuk dapat bekerja pada dokumen (seperti Lembar Kerja di VBA untuk Excel).
sumber
VB bukan bahasa . VB adalah program yang menyelenggarakan VBA, sama seperti Office meng-host VBA. VB adalah seperangkat objek App, seperti yang dimiliki Word dan Excel, dan paket formulir, seperti di Office.
Jadi Anda hanya bisa menulis kode VBA dalam VB.
PS info ini pada INFO tab pada pertanyaan VB halaman untuk VB.
Dari Info VBA
sumber
VBA adalah singkatan dari Visual Basic For Applications dan implementasi Visual Basic yang dimaksudkan untuk digunakan di Office Suite.
Perbedaan di antara mereka adalah bahwa VBA tertanam di dalam dokumen Office (ini merupakan fitur Office). VB adalah ide / bahasa untuk mengembangkan aplikasi.
sumber
VB (Visual Basic hanya hingga 6.0) adalah superset dari VBA (Visual Basic for Applications). Saya tahu bahwa orang lain telah menghindari hal ini tetapi pemahaman saya adalah bahwa semantik (yaitu kosakata) VBA termasuk dalam VB6 (kecuali untuk objek khusus untuk produk Office), oleh karena itu, VBA adalah bagian dari VB6. Sintaksnya (yaitu urutan penulisan kata-kata) persis sama dalam VBA seperti pada VB6, tetapi perbedaannya adalah objek yang tersedia untuk VBA atau VB6 berbeda karena mereka memiliki tujuan yang berbeda. Secara khusus tujuan VBA adalah untuk mengotomatiskan tugas-tugas yang dapat dilakukan secara sistematis di MS Office, sedangkan tujuan VB6 adalah untuk membuat EXE standar, Kontrol ActiveX, DLL ActiveX, dan EXE ActiveX yang dapat berfungsi sendiri atau di program lain seperti MS Office atau Windows.
sumber