VBA hay VB6? Sự khác biệt? (2 người xem)

Liên hệ QC

Người dùng đang xem chủ đề này

eye_storm

Thành viên mới
Tham gia
6/9/09
Bài viết
2
Được thích
0
Chào các bác ạ !

Trước em có tập tành VB6 chút, bẵng đi 1 thời gian rồi thôi. Bi h có việc muốn tự tạo 1 chương trình nhỏ để liên kết quản lý vật tư trên cơ sở excel. Em có chút thắc mắc các bác ah, các bác giúp em với, em bi h hoang mang quá, chả biết thế nào mà lần T_T:

- VBA trên Excel với VB6 là 1 hay là 2 hả các bác? Giống nhau và khác nhau thế nào ah?

- Hai thằng đấy có sử dụng chung câu lệnh được không? Có liên kết mã lệnh hay thế nào giữa 2 thằng ko các bác??

Mong các bác giải đáp giùm em những thắc mắc cơ bản này với ah, và tiện thể, em định hỏi nhiều nhiều để mở mang kiến thức, làm project nho nhỏ của mình, các bác có thể giúp em đc ko ah? :D
 
Thằng VB6 nó là phần mềm để xây dựng các ứng dụng chuyên nghiệp, chạy trực tiếp trên HĐH nhờ tập tin được biên dịch sang đuôi exe hoặc có tạo thư việc liên kết động dll cho các ứng dụng khác khai thác, sử dụng. Còn VBA là ngôn ngữ lập trình trên nền Excel (không có Excel thì tèo --=0, hiểu đơn giản vậy), không biên dịch được, toàn phải dùng mẹo thôi.

Hai anh này ngôn ngữ giống nhau y hệt vì đều là Visual Basic, chỉ khác đối tượng làm việc. VB6 làm việc với nhiều dạng Object, thường do chúng ta tự xây dựng. Còn VBA thì thường làm việc với đối tượng đã có sẵn, đó chính là các thành phần trong Excel.
Tôi giải thích đơn giản vậy thôi.
 
Lần chỉnh sửa cuối:
Of
Chào các bác ạ !

Trước em có tập tành VB6 chút, bẵng đi 1 thời gian rồi thôi. Bi h có việc muốn tự tạo 1 chương trình nhỏ để liên kết quản lý vật tư trên cơ sở excel. Em có chút thắc mắc các bác ah, các bác giúp em với, em bi h hoang mang quá, chả biết thế nào mà lần T_T:

- VBA trên Excel với VB6 là 1 hay là 2 hả các bác? Giống nhau và khác nhau thế nào ah?

- Hai thằng đấy có sử dụng chung câu lệnh được không? Có liên kết mã lệnh hay thế nào giữa 2 thằng ko các bác??

Mong các bác giải đáp giùm em những thắc mắc cơ bản này với ah, và tiện thể, em định hỏi nhiều nhiều để mở mang kiến thức, làm project nho nhỏ của mình, các bác có thể giúp em đc ko ah? :D
Giống:
  • Giống nhau về mặt cú pháp lệnh. Nếu bạn viết Function/Sub/Class sử dụng độc lập thì gần như 100% là có thể sử dụng qua lại cho nhau.
  • Các đối tượng cũng như cách sử dụng các đối tượng cũng tương tự như nhau (label, textbox, command, ADO...). Tương tự chứ không phải giống chính xác tuyệt đối vì các Controls trong Ms-Office có thể thêm một số thuộc tính, phương thức mới hoặc được bỏ đi vài thuộc tính, phương thức so với môi trường VB6.
Khác:
  • Hiển nhiên là sản phẩm cuối cùng của VB6 sẽ là file được biên dịch thành exe/com hoặc là dll/ocx... và người dùng sẽ ít khả năng táy máy code của bạn.
  • Trong khi đó script VBA được nhúng theo file Ms Offices, chúng có thể bị khám phá bằng vài ba thủ thuật.
  • File VB6 sau khi biên dịch được cho là chạy nhanh hơn so với script VBA.
  • VB6 có thể dùng để viết các component, VBA thì không.
  • VB6 dành cho nền tảng Windows 9x nên với các hệ điều hành về sau như XP, Vísta, Windows 7 rất dễ thiếu những components để chạy điển hình như dialogbox component... Trừ khi bạn viết những chương trình thật đơn giản (ví như không dùng components cũ), hoặc phải chép component theo chương trình.
  • VBA thì hoạt động dựa trên môi trường Ms Offices - bộ ứng dụng khá phố biến trên Windows nên khả năng hoạt động có thể cao hơn. Tuy nhiên giữ các phiên bản Offices cũng có đôi chút khác biệt mà bạn cần chú ý.
  • Form - đối tượng tương tác chủ yếu nhất trên VBA không dùng cho VB6 và ngược lại cũng như vậy trừ khi bạn có vài thủ thuật nhỏ. Form ở đây bao gồm cả phần thiết kế giao diện lẫn code tương tác.
Hồi xưa khi không có máy tính, mỗi khi có ý tưởng thì tôi vẫn phải viết tạm bằng VBA bởi VB6 ít phổ biến cho máy tính phổ thông trong khi đó gần như 100% máy tính đều có Ms-Offices.
 
Lần chỉnh sửa cuối:
Of
Giống:
  • Giống nhau về mặt cú pháp lệnh. Nếu bạn viết Function/Sub/Class sử dụng độc lập thì gần như 100% là có thể sử dụng qua lại cho nhau.
  • Các đối tượng cũng như cách sử dụng các đối tượng cũng tương tự như nhau (label, textbox, command, ADO...). Tương tự chứ không phải giống chính xác tuyệt đối vì các Controls trong Ms-Office có thể thêm một số thuộc tính, phương thức mới hoặc được bỏ đi vài thuộc tính, phương thức so với môi trường VB6.
Khác:
  • Hiển nhiên là sản phẩm cuối cùng của VB6 sẽ là file được biên dịch thành exe/com hoặc là dll/ocx... và người dùng sẽ ít khả năng táy máy code của bạn.
  • Trong khi đó script VBA được nhúng theo file Ms Offices, chúng có thể bị khám phá bằng vài ba thủ thuật.
  • File VB6 sau khi biên dịch được cho là chạy nhanh hơn so với script VBA.
  • VB6 có thể dùng để viết các component, VBA thì không.
  • VB6 dành cho nền tảng Windows 9x nên với các hệ điều hành về sau như XP, Vísta, Windows 7 rất dễ thiếu những components để chạy điển hình như dialogbox component... Trừ khi bạn viết những chương trình thật đơn giản (ví như không dùng components cũ), hoặc phải chép component theo chương trình.
  • VBA thì hoạt động dựa trên môi trường Ms Offices - bộ ứng dụng khá phố biến trên Windows nên khả năng hoạt động có thể cao hơn. Tuy nhiên giữ các phiên bản Offices cũng có đôi chút khác biệt mà bạn cần chú ý.
  • Form - đối tượng tương tác chủ yếu nhất trên VBA không dùng cho VB6 và ngược lại cũng như vậy trừ khi bạn có vài thủ thuật nhỏ. Form ở đây bao gồm cả phần thiết kế giao diện lẫn code tương tác.
Hồi xưa khi không có máy tính, mỗi khi có ý tưởng thì tôi vẫn phải viết tạm bằng VBA bởi VB6 ít phổ biến cho máy tính phổ thông trong khi đó gần như 100% máy tính đều có Ms-Offices.

Em muốn xây dựng 1 chương trình bằng VB6 mà thao tác, cơ sở dữ liệu là trên Excel. Thì có cách nào, cú pháp hay cấu trúc lệnh thế nào để liên kết từ VB6 sang quản lý, sử dụng, khởi động, chạy, truy cập...các "thành phần", "phương thức", "thuộc tính" của Excel Application ko hả bác? Vì nếu viết 1 chương trình chỉ chạy trên VB6 thì lệnh chỉ trong VB6, chứ lệnh trên VB6 chạy trên file Excel thì em chưa rõ đc cách nó liên kết với nhau thế nào ah?
Bác có bảng tổng hợp, hay các đoạn code phổ biến nào ko hả bác?
 
Em muốn xây dựng 1 chương trình bằng VB6 mà thao tác, cơ sở dữ liệu là trên Excel. Thì có cách nào, cú pháp hay cấu trúc lệnh thế nào để liên kết từ VB6 sang quản lý, sử dụng, khởi động, chạy, truy cập...các "thành phần", "phương thức", "thuộc tính" của Excel Application ko hả bác? Vì nếu viết 1 chương trình chỉ chạy trên VB6 thì lệnh chỉ trong VB6, chứ lệnh trên VB6 chạy trên file Excel thì em chưa rõ đc cách nó liên kết với nhau thế nào ah?
Bác có bảng tổng hợp, hay các đoạn code phổ biến nào ko hả bác?
Mình thì chưa bao h dùng Excel như là CSDL nên chắc không giúp được gì cho bạn. Bạn có thể theo dõi các topic của bạn này. Có lẽ 2 người có chung nhiều ý tưởng đấy. Đây là một trong những link topic. Chắc bạn có thể tìm được các topic khác cùng tác giả.
http://www.giaiphapexcel.com/forum/...-dữ-liệu-file-excel-đang-đóng-bằng-ADO-và-SQL
 
Lần chỉnh sửa cuối:
Web KT

Bài viết mới nhất

Back
Top Bottom