Cách Gọi Sub Và Sử Dụng Class Module Trong Lập Trình VBA

Liên hệ QC

Kiều Mạnh

I don't program, I beat code into submission!!!
Tham gia
9/6/12
Bài viết
5,421
Được thích
4,032
Giới tính
Nam
Mình đang tập nghiên cứu Class Module trong VBA mà chưa biết bắt đầu từ đâu ... cách thức và phương thức như thế nào ....Nói chung đang Tịt từ ABC...

Vậy mình xin lập đề tài này để cùng các Bạn trao đổi thảo luận về cách lập trình VBA trong Class Module...

Nếu Bạn nào có thắc mắc hay muốn hỏi gì về các sự kiện liên quan Tới Class Module thì ta cũng Úp bài lên đây gom lại một nơi để sau này có thành viên nào cần nghiên cứu và tham khảo thì vào đây coi cho nó tiện.. và nếu Bạn nào có sáng kiến hay muốn chia sẻ thì xin úp lên cho mọi người cùng nghiên cứu ....

Mình tập viết một Sub trên Module sau khi Sub này chạy xong thì gọi Sub tiếp theo Trong Class module mà lỗi code trong Class Module ....

Một cái rất đơn giản mà chưa biết cách xử lý vậy nhờ các Bạn Trợ Giúp....
Xin cảm ơn các Bạn

Code trong Module
PHP:
Sub Test_Module1()
    MsgBox "Day la code tren Module", 64, "OK"
    Call Test_Class1 ''Loi cai nay va cach xu ly de goi no chay
End Sub

Code trong Class Module
PHP:
Sub Test_Class1()
    MsgBox "Day la code tren Class1", 64, "OK"
End Sub
 

File đính kèm

  • Test.xlsb
    14.7 KB · Đọc: 65
Thì bạn Ngâm cứu từ bài #1 đến Bài #16 xong vào link Anh Ndu cho bài ở bài #16 đó ngâm cứu đi nha

Mình hỏi để ứng dụng lên Form trên File (*.dll - VB6) Bạn tải về quậy chơi nha

Chạy File Install_TestClass.bat để sử dung

Bạn nói rõ tác dụng hay chức năng của code này không? vì cài DLL lạ sợ, và vì phần mềm diệt virus luôn báo không an toàn với các DLL giống thế này...

Ứng dụng vào form như ndu trên thì nó là form nút tôi lại không rành kiểu vba thế , tôi muốn hỏi về ứng dụng thực tế vào bài thực tế, vấn đề thực tế...
 
Upvote 0
Bạn nói rõ tác dụng hay chức năng của code này không? vì cài DLL lạ sợ, và vì phần mềm diệt virus luôn báo không an toàn với các DLL giống thế này...

Ứng dụng vào form như ndu trên thì nó là form nút tôi lại không rành kiểu vba thế , tôi muốn hỏi về ứng dụng thực tế vào bài thực tế, vấn đề thực tế...
Thì chạy File *.bat thử test coi cái Form mình làm trong File *dll đó... không có Virus đâu mà sợ....
 
Upvote 0
Thì bạn Ngâm cứu từ bài #1 đến Bài #16 xong vào link Anh Ndu cho bài ở bài #16 đó ngâm cứu đi nha

Mình hỏi để ứng dụng lên Form trên File (*.dll - VB6) Bạn tải về quậy chơi nha

Chạy File Install_TestClass.bat để sử dung
Bác ơi mình sử dụng nó báo lỗi thế này.
Hinh.jpg
Mặc dù đã đăng ký DLL rồi (Mình sử dụng Windows 8.1, Office 2013 32Bit)
 
Upvote 0
Tôi Win 10 - office 2016 64bit cũng bị lỗi như giải pháp. Phải chăng có cần tick gì trong References không? Thiếu thư viện gì đó chăng???
Mình ko cũng biết nữa ....từ sáng đến giờ mình cài cái máy ảo Win8.1 test thấy cũng lỗi vậy luôn...+-+-+-++-+-+-++-+-+-+
 
Lần chỉnh sửa cuối:
Upvote 0
Mới thử rồi vẫn vậy ....+-+-+-+
Win7 & Ex2010 cũng lỗi luôn bạn ơi, còn vụ này là sao vậy? Kakaka:

;Ban nen copy BanSoDep.dll vao trong thu muc C:\Windows\System32

Trong cái TestClass có đoạn:

C : \ U s e r s \ K i e u M a n h \ D e s k t o p \ N e w f o l d e r \ T e s t C l a s s . v b p
 
Lần chỉnh sửa cuối:
Upvote 0
Thử trong VBA Tool > Reference > check vào Microsoft Scripting Runtime xem sao. (chưa tải về nên chưa thử)
Mình Mới Test Lại OK Rồi ... chạy File *.bat đó không được đâu mà phải kéo UAC xuống xong khởi động lại máy ....Chạy Tools For Office And Software mình úp lên là Ok

Lưu ý khi chạy Tools For Office And Software là chạy Run as Administrator xong chọn File *dll đó rồi nhấn Register là Ok. Nếu hủy nhấn UnRegister

Mới Test trên máy ảo Win8.1 .... OK
 

File đính kèm

  • Tools For Office And Software.rar
    21.7 KB · Đọc: 15
  • Capture.jpg
    Capture.jpg
    30.2 KB · Đọc: 32
Upvote 0
Win7 & Ex2010 cũng lỗi luôn bạn ơi, còn vụ này là sao vậy? Kakaka:

;Ban nen copy BanSoDep.dll vao trong thu muc C:\Windows\System32

Trong cái TestClass có đoạn:

C : \ U s e r s \ K i e u M a n h \ D e s k t o p \ N e w f o l d e r \ T e s t C l a s s . v b p

dòng màu đỏ như là ghi chú thôi Bạn
Nghĩa đọc File *dll bằng cái gì mà có dòng sau ta

C : \ U s e r s \ K i e u M a n h \ D e s k t o p \ N e w f o l d e r \ T e s t C l a s s . v b p
 
Lần chỉnh sửa cuối:
Upvote 0
Qua cái File *dll đó nếu Bạn nào muốn bảo mật Excel thì nên ta nên Viết trên *dll và tạo Form đăng ký luôn trong *dll như mình đã từng úp trên GPE .... nếu trong đó có quá nhiều code ta chia ra nhiều Class hay Module và thực hiện gọi sub giữa các Class với nhau và Module như vậy rất tiện

Cơ bản chống háck là kỷ thuật và thuật toán của từng Bạn .... mình đã từng Bị Bạn hau1978 Pacth thành công File *dll ...khi đó kỷ thuật viết code của mình còn kém ....

Muốn không cho dùng Auly Debug.Print từng dòng code là viết code hàm hay sub truyền các tham số cho nhau và không dùng If ... Elseif ... nếu có dùng thì If then ....cho những đoạn code quan trọng ... như vậy nó sẻ không chặn được từng dòng code mà nhảy tới dòng kế tiếp...

Xin chia sẻ vài ý với các Bạn vậy....
 
Lần chỉnh sửa cuối:
Upvote 0
Nghĩa dùng Tools nào đọc vậy ( dòng đó không có trong *dll)...

Bạn Test lại ok chưa....
Có những thứ nó đem theo thông tin của mình vào trong công cụ của mình luôn đó! Nên đôi lúc "bí mật quốc gia" bị "rò rỉ" hehehehe. -=09=
 
Upvote 0
Sao VBA còn bảo mật làm gì KM ơi, vì diễn đàn là mở cho mọi người xem, giúp mọi người

VBA thì code bản thân nó là mở, nghĩ gì đóng nữa

Còn nếu đã dùng DLL thì viết luôn ứng dụng bên VB luôn đâu cần bảo mật thuật toán???

Còn DLL sẽ mang theo nhiều thông tin, xem nó cũng biết bạn dùng VB gì, nằm ở thư mục gì, project bạn đặt tên gì ở đâu...vv
 
Upvote 0
Sao VBA còn bảo mật làm gì KM ơi, vì diễn đàn là mở cho mọi người xem, giúp mọi người

VBA thì code bản thân nó là mở, nghĩ gì đóng nữa

Còn nếu đã dùng DLL thì viết luôn ứng dụng bên VB luôn đâu cần bảo mật thuật toán???

Còn DLL sẽ mang theo nhiều thông tin, xem nó cũng biết bạn dùng VB gì, nằm ở thư mục gì, project bạn đặt tên gì ở đâu...vv
Vậy thì bạn qua link sau thử xem cách Bảo mật code VBA nha....thử coi xem code trong *dll viết gì và xin mời hack thử xem.....
Còn dòng màu đỏ biết cũng không giải quyết gì cả Bạn...

http://www.giaiphapexcel.com/forum/...Qua-Internet-cho-File-Excel-Code-VBA&p=688924
 
Lần chỉnh sửa cuối:
Upvote 0
Vậy thì bạn qua link sau thử xem cách Bảo mật code VBA nha....thử coi xem code trong *dll viết gì và xin mời hack thử xem.....
Còn dòng màu đỏ biết cũng không giải quyết gì cả Bạn...

http://www.giaiphapexcel.com/forum/...Qua-Internet-cho-File-Excel-Code-VBA&p=688924

Rất tiếc, tôi không có thói quen hack thế, và có gì trong đó đáng giá đâu mà hack thậm chí cả kho GPE này còn chẳng có gì đáng giá, huống hồ thử....
 
Upvote 0
Web KT
Back
Top Bottom