Tạo activex dll cho VBA excel

Liên hệ QC

maytinhvp01

Thành viên thường trực
Tham gia
27/7/13
Bài viết
390
Được thích
179
Cho mình hỏi là: Mình đã làm theo hướng dẫn trên diễn đàn tạo file activex dll từ VB6 cho VBA excel đơn giản như sau nhưng khi chạy luôn báo lỗi xin chỉ dùm chỗ thiếu sót.
Từng bước mình làm như sau:
+ Mở VB6-->> form: new froject hiện lên chọn Activex DLL.
+ Tại cửa sổ quản lý project mình lần lượt đổi tên của froject1 và class1 mặc đình ban đầu thành PP và CC qua properties tại mục name của chúng.
+ viết code sau trong của sổ code của CC.
Mã:
sub S1()
msgbox "xin_chao"
end sub
+ Lưu dự án vào forder có tên dll
+ vào menu file và chọn Make pp.dll "CHỖ NÀY PHÁT SINH THÔNG BÁO ảnh trong file đính kèm Ảnh_1"
+ lưu cùng forder dll
+ Mở excel 2007 và lưu với tên Dll.xlsm
+ Insert module trong VBA excel và vào tools chon references, chọn dường dẫn tới file pp.dll và tich chọn --->> OK
+ viết code:
Mã:
Sub test()
Dim t As PP.CC
Set t = New PP.CC
    t.S1
Set t = Nothing
End Sub
nhưng khi chạy luôn báo lỗi " Ảnh chụp trong file đính kèm Ảnh_2"
Hơn nữa mình có download mấy ví dụ về nhưng không thể nào chạy được dù làm theo tất cả các hưỡng dẫn của các ban "đăng ký file dll cho window bằng cách vào run và đánh lệnh: Regsvr32 "dường dẫn tới file\pp.dll"
Rất mong anh em chỉ dùm chỗ thiếu sót!!!
 

File đính kèm

  • dll.rar
    23.9 KB · Đọc: 84
Cuối năm rồi anh em nào biết chỗ thiếu sót chỉ dùm. Thấy không hiểu được bí cái đầu quá!
 
Mình chạy thử SP của bạn thấy OK mà!
Bạn xem lại bước này đã hiện hộp thoại báo ... succeeded chưa?:
...........................
"đăng ký file dll cho window bằng cách vào run và đánh lệnh: Regsvr32 "dường dẫn tới file\pp.dll"
Rất mong anh em chỉ dùm chỗ thiếu sót!!!
 
Với cách làm thông thường trên WinXP sẽ không lỗi vì user Admin mặc định có thể ghi cấu hình dll vào registry. Nếu bạn dùng Win Vista trở lên, khi chạy VB6 cần nhấp chuột phải chọn "Run as Administraor" là ok trên máy bạn. Khi mang dll này chạy trong máy khác mà Win cũng từ Vista trở lên thì cũng phải "Run as Administraor" để đăng ký dll. Chú ý copy dll vào System32 (ở máy khác không phải WinXP).
 
Lần chỉnh sửa cuối:
Với cách làm thông thường trên WinXP sẽ không lỗi vì user Admin mặc định có thể ghi cấu hình dll vào registry. Nếu bạn dùng Win Vista trở lên, khi chạy VB6 cần nhấp chuột phải chọn "Run as Administraor" là ok trên máy bạn. Khi mang dll này chạy trong máy khác mà Win cũng từ Vista trở lên thì cũng phải "Run as Administraor" để đăng ký dll. Chú ý copy dll vào System32 (ở máy khác không phải WinXP).

Vâng mình đang chạy win8 và làm như anh Tuân nói "khi chạy VB6 cần nhấp chuột phải chọn "Run as Administraor" thì khi make file pp.dll thì không còn thông báo lỗi như Ảnh_1 mình up lên nữa. Nhưng khi đăng kí [Regsvr32 "C:\Users\Hieu\Desktop\New folder (3)\ppp.dll"] phát sinh thông báo lỗi như ảnh mình đưa lên xin chỉ giup thêm với a. Có khi nào win của mình thiếu hay lỗi gì không vây?
 

File đính kèm

  • loi dang ki.jpg
    loi dang ki.jpg
    32.7 KB · Đọc: 214
Vâng mình đang chạy win8 và làm như anh Tuân nói "khi chạy VB6 cần nhấp chuột phải chọn "Run as Administraor" thì khi make file pp.dll thì không còn thông báo lỗi như Ảnh_1 mình up lên nữa. Nhưng khi đăng kí [Regsvr32 "C:\Users\Hieu\Desktop\New folder (3)\ppp.dll"] phát sinh thông báo lỗi như ảnh mình đưa lên xin chỉ giup thêm với a. Có khi nào win của mình thiếu hay lỗi gì không vây?

Bạn không đăng ký trong chức năng Run nhé. Chạy Command với Administrator rồi đăng ký.
 
Vâng mình đang chạy win8 và làm như anh Tuân nói "khi chạy VB6 cần nhấp chuột phải chọn "Run as Administraor" thì khi make file pp.dll thì không còn thông báo lỗi như Ảnh_1 mình up lên nữa. Nhưng khi đăng kí [Regsvr32 "C:\Users\Hieu\Desktop\New folder (3)\ppp.dll"] phát sinh thông báo lỗi như ảnh mình đưa lên xin chỉ giup thêm với a. Có khi nào win của mình thiếu hay lỗi gì không vây?
Mình không có Win8 để test, nhưng sao là Users nhỉ, lẽ ra phải là Admin chớ nhỉ, vụ này phải nhờ Tuân chỉ giáo thêm.
 
Bạn vào All Programs của Metro chọn Accessories, sau đó click chuột phải Command Prompt, và chọn Run as administrator mình đã kiểm tra bằng win8 thành công
 
Bạn vào All Programs của Metro chọn Accessories, sau đó click chuột phải Command Prompt, và chọn Run as administrator mình đã kiểm tra bằng win8 thành công
Cảm ơn các bạn! Tổng hợp lại vấn đề và chốt lại topic của mình tạo nhé:
1/ Như anh TUẤN nói: từ win vista trở nên thì chạy VB6 bằng administrator để tao file DLL
2/ Cũng như anh Tuấn và các bạn NMHUNG49, THANHLANH ta phải đăng kí file DLL với window ở command administrator
Mình đã làm được rồi cảm ơn các bạn nhé!!
 
Cảm ơn các bạn! Tổng hợp lại vấn đề và chốt lại topic của mình tạo nhé:
1/ Như anh TUẤN nói: từ win vista trở nên thì chạy VB6 bằng administrator để tao file DLL
2/ Cũng như anh Tuấn và các bạn NMHUNG49, THANHLANH ta phải đăng kí file DLL với window ở command administrator
Mình đã làm được rồi cảm ơn các bạn nhé!!

Bác giỏi về Access chỉ em vài bước, hoặc giúp em vài chiêu. Em ở Hà Nội bác ở đâu.
Bác hãy liên hệ với em qua email: ngocanhwin@gmail.com
Cảm ơn bác trước
 
Web KT
Back
Top Bottom