Sự khác biệt giữa hai là gì. Tôi luôn nghĩ VBA là phiên bản VB bị "tê liệt", nhưng khi một người bạn hỏi tôi vào một ngày khác, tôi không biết sự khác biệt thực sự là gì.
Ngoài ra, khi bạn sử dụng, ví dụ như Excel, đó là VB hay VBA?
Sự khác biệt giữa hai là gì. Tôi luôn nghĩ VBA là phiên bản VB bị "tê liệt", nhưng khi một người bạn hỏi tôi vào một ngày khác, tôi không biết sự khác biệt thực sự là gì.
Ngoài ra, khi bạn sử dụng, ví dụ như Excel, đó là VB hay VBA?
Câu trả lời:
Đối với gần như tất cả các mục đích lập trình, VBA và VB 6.0 là như nhau.
VBA không thể biên dịch chương trình của bạn thành một nhị phân thực thi. Bạn sẽ luôn cần máy chủ lưu trữ (ví dụ: tệp Word và MS Word) để chứa và thực hiện dự án của bạn. Bạn cũng sẽ không thể tạo COM DLL với VBA.
Ngoài ra, có một sự khác biệt trong IDE - IDE VB 6.0 mạnh hơn so với IDE. Mặt khác, bạn đã tích hợp chặt chẽ ứng dụng máy chủ trong VBA. Các đối tượng toàn cầu ứng dụng (như "ActiveDocument") và các sự kiện có sẵn mà không cần khai báo, vì vậy lập trình dành riêng cho ứng dụng rất đơn giản.
Tuy nhiên, không có gì ngăn bạn kích hoạt Word, tải IDE VBA và giải quyết vấn đề không liên quan đến Word. Tôi không chắc chắn nếu có bất cứ điều gì mà VB 6.0 có thể làm (về mặt kỹ thuật) và VBA không thể. Tôi đang tìm kiếm một bảng so sánh trên MSDN mặc dù.
VBA là viết tắt của Visual Basic cho Ứng dụng và anh em kịch bản "cho ứng dụng" nhỏ của VB cũng vậy. VBA thực sự có sẵn trong Excel, nhưng cũng có trong các ứng dụng văn phòng khác.
Với VB, người ta có thể tạo một ứng dụng windows độc lập, điều này là không thể với VBA.
Tuy nhiên, các nhà phát triển có thể "nhúng" VBA vào các ứng dụng của họ, như một ngôn ngữ kịch bản để tự động hóa các ứng dụng đó.
Chỉnh sửa : Từ Câu hỏi thường gặp về VBA :
Q. Visual Basic cho các ứng dụng là gì?
A. Microsoft Visual Basic for Application (VBA) là một môi trường lập trình có thể nhúng được thiết kế để cho phép các nhà phát triển xây dựng các giải pháp tùy chỉnh bằng toàn bộ sức mạnh của Microsoft Visual Basic. Các nhà phát triển sử dụng các ứng dụng lưu trữ VBA có thể tự động hóa và mở rộng chức năng ứng dụng, rút ngắn chu kỳ phát triển của các giải pháp kinh doanh tùy chỉnh.
Lưu ý rằng VB.NET thậm chí là một ngôn ngữ khác, chỉ chia sẻ cú pháp với VB.
Đây là một câu trả lời kỹ thuật và kỹ lưỡng hơn cho một câu hỏi cũ: Visual Basic for Application (VBA) và Visual Basic (pre-.NET) không chỉ là các ngôn ngữ tương tự, chúng là cùng một ngôn ngữ. Đặc biệt:
Trong một cuốn sách tham khảo VB cũ mà tôi đã bắt gặp năm ngoái, tác giả (Paul Lomax) thậm chí đã khẳng định rằng 'VBA' luôn là tên của ngôn ngữ, cho dù được sử dụng trong các ứng dụng độc lập hoặc trong bối cảnh nhúng (như MS Office ):
"Trước khi chúng ta tiến xa hơn, hãy làm rõ về điểm cơ bản. Visual Basic for Application (VBA) là ngôn ngữ được sử dụng để lập trình trong Visual Basic (VB). Bản thân VB là môi trường phát triển, yếu tố ngôn ngữ của môi trường đó là VBA. "
Những khác biệt nhỏ
Được lưu trữ so với độc lập : Trong thực tế, theo thuật ngữ, khi hầu hết mọi người nói "VBA", họ đặc biệt có nghĩa là "VBA khi được sử dụng trong MS Office" và họ nói "VB6" có nghĩa là "VBA được sử dụng trong phiên bản cuối cùng của VBA độc lập trình biên dịch (tức là Visual Studio 6) ". IDE và trình biên dịch đi kèm với MS Office gần giống với Visual Studio 6, với giới hạn là nó không cho phép biên dịch thành các tệp dll hoặc exe độc lập. Đến lượt điều này có nghĩa là các lớp được xác định trong các dự án VBA nhúng không thể truy cập được từ người tiêu dùng COM không được nhúng, bởi vì chúng không thể được đăng ký.
Tiếp tục phát triển : Microsoft đã ngừng sản xuất trình biên dịch VBA độc lập với Visual Studio 6, khi họ chuyển sang thời gian chạy .NET làm nền tảng được lựa chọn. Tuy nhiên, nhóm MS Office tiếp tục duy trì VBA và thậm chí đã phát hành phiên bản mới (VBA7) với VM mới (bây giờ được gọi là VBA7.dll) bắt đầu với MS Office 2010. Sự khác biệt lớn duy nhất là VBA7 có cả 32- và phiên bản 64 bit và có một vài cải tiến để xử lý sự khác biệt giữa hai phiên bản, đặc biệt liên quan đến các yêu cầu API bên ngoài.
Bạn có muốn so sánh VBA với VB-Classic (VB6 ..) hoặc VB.NET không?
VBA (Visual Basic for Application) là ngôn ngữ kịch bản dựa trên vb-classic được nhúng trong các ứng dụng Microsoft Office. Tôi nghĩ các tính năng ngôn ngữ của nó tương tự như VB5 (nó chỉ thiếu một số chức năng dựng sẵn), nhưng:
Bạn có quyền truy cập vào tài liệu văn phòng mà bạn đã viết tập lệnh VBA và vì vậy bạn có thể ví dụ
Ví dụ: Đặt giá trị của một ô excel
ActiveSheet.Cells("A1").Value = "Foo"
VBC và -.NET không có ngôn ngữ script. Bạn sử dụng chúng để viết các ứng dụng độc lập với các IDE riêng biệt mà bạn không thể làm với VBA (tập lệnh VBA chỉ "tồn tại" trong Office)
VBA không liên quan gì đến VB.NET (họ chỉ có một cú pháp tương tự).
Trên thực tế VBA có thể được sử dụng để biên dịch DLL. Các phiên bản Office 2000 và Office XP Developer bao gồm trình soạn thảo VBA có thể được sử dụng để tạo DLL để sử dụng làm COM Addins.
Chức năng này đã bị loại bỏ trong các phiên bản sau (2003 và 2007) với sự ra đời của phần mềm VSTO (VS Tools for Office), mặc dù rõ ràng bạn vẫn có thể tạo các addins COM theo cách tương tự mà không cần sử dụng VSTO (hoặc VS.Net) sử dụng IDE VB6.
Đó là VBA. VBA có nghĩa là Visual Basic cho Ứng dụng và nó được sử dụng cho các macro trên tài liệu Office. Nó không có quyền truy cập vào các tính năng VB.NET, vì vậy nó giống như một phiên bản sửa đổi của VB6, với các tiện ích bổ sung để có thể hoạt động trên tài liệu (như Worksheet trong VBA cho Excel).
VB không phải là một ngôn ngữ . VB là một chương trình lưu trữ VBA, giống như Office lưu trữ VBA. VB là một tập hợp các đối tượng Ứng dụng, giống như Word và Excel và gói biểu mẫu, giống như trong Office.
Vì vậy, bạn chỉ có thể viết mã VBA trong VB.
PS thông tin này nằm trên tab INFO trên trang câu hỏi VB cho VB.
Từ thông tin VBA
VBA 6, đã được xuất xưởng vào năm 1998 và bao gồm vô số máy chủ được cấp phép, trong số đó: Office 2000 - 2010, AutoCAD, PI Processbook và Visual Basic 6.0 độc lập
VB (Visual Basic chỉ tối đa 6.0) là siêu bộ của VBA (Visual Basic cho Ứng dụng). Tôi biết rằng những người khác đã lảng tránh điều này nhưng tôi hiểu rằng ngữ nghĩa (nghĩa là từ vựng) của VBA được bao gồm trong VB6 (ngoại trừ các đối tượng dành riêng cho các sản phẩm Office), do đó, VBA là một tập hợp con của VB6. Cú pháp (nghĩa là thứ tự các từ được viết) hoàn toàn giống nhau trong VBA giống như trong VB6, nhưng sự khác biệt là các đối tượng có sẵn cho VBA hoặc VB6 là khác nhau vì chúng có mục đích khác nhau. Mục đích cụ thể của VBA là tự động hóa theo chương trình các tác vụ có thể được thực hiện trong MS Office, trong khi mục đích của VB6 là tạo EXE tiêu chuẩn, Điều khiển ActiveX, ActiveX DLL và ActiveX EXE có thể hoạt động độc lập hoặc trong các chương trình khác như MS Office hoặc Windows.