Học VB.net thì có ứng dụng được vào VBA không? (1 người xem)

Liên hệ QC

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

hiphopboy8x

Thành viên mới
Tham gia
28/10/08
Bài viết
22
Được thích
8
Các bác cho em hỏi, e bắt đầu học VB.net nhưng không biết cấu trúc hàm và lệnh của nó có thể áp dụng vào VBA và VB6 không nhỉ, hay lại phải học VBA và VB6 riêng?
 
VBA, VB6, VB.Net về cơ bản đều giống nhau về cấu trúc lệnh.
- VBA tích hợp trực tiếp trong các ứng dụng, giao thức đơn giản, chủ yếu chỉ giải quyết những vấn đề đơn giản của ứng dụng.
- VB6 là công cụ lập trình bậc cao hơn VBA, phạm vi làm việc rộng hơn VBA, có thể viết thành những ứng dụng chạy độc lập đồng thời vẫn có thể giao tiếp với các ứng dụng khác như Word, Excel...
- VB.Net là bước phát triển tiếp theo của VB6 cung cấp nhiều biện pháp mạnh hơn VB6, hõ trợ nhiều hơn, giao diện đẹp hơn, dung lượng cồng kềnh hơn và rất nhiều cái hơn.
Nói chung, đã học VB.net thì cũng sẽ dễ dàng hiểu được VBA và VB6.
Câu lệnh và phương pháp truy xuất của VB.Net không thể áp dụng vào VBA và VB6 được
Ví dụ: Muốn tìm độ lớn của chuỗi trong VBA và VB6 ta viết Len(Chuoi) nhưng trong VB.Net thì lại là Chuoi.Lenght, nếu đem cái này đưa vào VB6 hay VBA thì nó không hiểu nhưng nếu đem Len(Chuoi) đặt vào trong VB.Net thì nó vẫn chạy.
 
Upvote 0
Các bác cho em hỏi, e bắt đầu học VB.net nhưng không biết cấu trúc hàm và lệnh của nó có thể áp dụng vào VBA và VB6 không nhỉ, hay lại phải học VBA và VB6 riêng?
Từ Excel 2003 là đã có thể dùng VB.net trong Excel như VBA và tính năng bảo mật,các tính năng lập trình mới.. đều được bổ sung,theo lộ trình phát triển của MS thì tương lai sẽ không hổ trợ VBA nửa mà chuyển hoàn toàn sang .Net
Bạn có thể tìm trong GPE nhiều e-book, bài viết về vấn đề này lắm
 
Upvote 0
Bàn luận thêm một chút.
Nếu không có yêu cầu gì lớn, không cần can thiệp nhiều đến hệ thống, không cần xử lý đồ họa, không cần giao diện đẹp thì ta không nên dùng VB6 hay VB.Net để điều khiển Excel, vừa phức tạp trong lúc thiết kế, vừa làm tiêu tốn nhiều tài nguyên, tốc độ hạn chế chưa kể đến nhiều phiền phức khi phát hành sản phẩm vì nguyên bộ Net2.0 đã ngốn mất hơn 20MB, Net 3.5 khoảng 60MB (VB6 thì không cần nhưng hạn chế của VB6 là Unicode tiếng Việt và giao diện) có máy thì cài phát ăn ngay nhưng có máy lại phải xử lý thêm (máy tính ở VN đa số dùng đồ lậu mà). Một ứng dụng chỉ vài Kb nhưng để chạy được nó lại phải kèm theo bộ Net khổng lồ kia thì quả là dùng dao mổ trâu để giết gà.
Nói vậy cõ lẽ sẽ có người thấy chán, nhưng chết ở cái đam mê khám phá, phỉa nói Net cung cấp cho ta nhiều phương thức tuyệt vời, nhiều công việc được rút gọn đến mức kinh ngạc, những mớ bòng bong API khi còn dùng VB6 thì giờ đây đã được Net tích hợp lại thành các hàm, phương thức ngắn gọn.
Hãy lựa chọn sáng suốt để quyết định sử dụng ngôn ngữ nào cho phù hợp với yêu cầu đặt ra.
 
Upvote 0
Nếu viết ứng dụng Excel ở mức không yêu cầu về tốc độ, giao nhiều giao diện hỗ trợ và phức tạp thì dùng.NET, nếu yêu cầu về tốc độ hoặc về mức cài đặt triển khai (nhoe gọn) thì không dùng.NET!

.NET chỉ áp dụng từ Office 2003 SP1 trở lên (Office cài đặt bình thương không chạy!) . Một máy chạy ứng dụng .NET phải cần bộ .NET 1.1 (~20 MB) hoặc 2.0 (~ 40) và 3.5 (~180 MB).

Ý kiến cá nhân:
+ Nếu không phải vì MS không hỗ trợ VBA trong Office và đơn thuần viết vài hàm trong VBA thì không nên dùng .NET!!!

+ Thiết kế ứng dụng có "tầm" + Unicode + đơn giản + nhanh + thì có thể dùng .NET
 
Upvote 0
Em muốn nói là bây giờ em chỉ biết mỗi ngôn ngữ của VB.NET thôi, nếu em muốn viết mấy cái macro như các bác chỉ trên diễn đàn này và cũng chẳng quan tâm đến tài nguyên máy thì liệu câu lệnh của VB.NET mà em học được gõ vào VBA của excel 2007 có bị khập khiễng và chương trình không hiểu không?
 
Upvote 0
Em muốn nói là bây giờ em chỉ biết mỗi ngôn ngữ của VB.NET thôi, nếu em muốn viết mấy cái macro như các bác chỉ trên diễn đàn này và cũng chẳng quan tâm đến tài nguyên máy thì liệu câu lệnh của VB.NET mà em học được gõ vào VBA của excel 2007 có bị khập khiễng và chương trình không hiểu không?

Làm được bạn à, nhưng viết trong .NET bạn phải lập trình để hôc trợ kết nối COM.
 
Upvote 0
Em muốn nói là bây giờ em chỉ biết mỗi ngôn ngữ của VB.NET thôi, nếu em muốn viết mấy cái macro như các bác chỉ trên diễn đàn này và cũng chẳng quan tâm đến tài nguyên máy thì liệu câu lệnh của VB.NET mà em học được gõ vào VBA của excel 2007 có bị khập khiễng và chương trình không hiểu không?

Làm được bạn à, nhưng viết trong .NET bạn phải lập trình để kết nối COM.
 
Upvote 0
Có 2 cách:
1. Bạn viết các thủ tục trong VBA sau đó gọi nó từ chương trình viết vằng .Net qua lệnh Excel.Run(TenThuTuc, các biến....)
2. Viết tất cả các thủ tục trong .Net tương tác trực tiếp với Excel
Cả 2 trường hợp trên bạn đều phải bổ sung thêm đối tượng Excel cho .Net (Vào Project>Properties>References... rồi add thêm cái Microsoft Excel... cho .Net bạn có thể qua bên http://www.caulacbovb.com tham khảo, rất nhiều bài viết chuyên về VB)
 
Upvote 0
Web KT

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

Back
Top Bottom