Để cho Addin tự động reference đến các cotrol của 1 file .ocx

Liên hệ QC

vba_gpe

Thành viên thường trực
Tham gia
15/12/10
Bài viết
296
Được thích
44
Nghề nghiệp
Thất nghiệp
Tự động reference đến các cotrol của 1 file .ocx

Gửi anh chị.

Tôi có một file Addin có sử dụng một số Cotrol Xp cúa 1 file .OcX. Hiện tại, trong máy tính của tôi, tôi đã add sẳn các Control của file .ocX đó rồi, nên khi tôi load các form sử dụng cotrols trong file .ocx đó thì nó không bị lỗi. Tuy nhiên, khi tôi chép file addin đó vào máy tính khác,mặc dù đã chép file .ocx vào thư mục: System32 của Window rồi nhưng muốn load các form sử dụng control đó lại báo lỗi (phải brow bằng tay đến file .ocx, và add các cotrols đó vào thì mới load được).

Xin hỏi mọi người, có các nào để Excel tự động add cotrol đó vào Excell và tự load các control đó (trên một máy tính khác không).

Mong nhận được hồi âm.!!!

Trân trọng.

2 cotrol tôi đang dùng là XpCotrol.ocx và XpStyle.ocx
Tôi có đính kèm 2 tệp tin trên.
 

File đính kèm

Lần chỉnh sửa cuối:
Tôi tìm được 1 cách dùng vb6 để Add vào:
PHP:
Shell ("regsvr32 ""C:\Windows\System32\XPControls.ocx""")
Shell ("regsvr32 ""C:\Windows\System32\XPStyle.ocx""")
Tuy nhiên cứ mỗi lần chạy thì nó đều hiện ra cái thông báo "....successfull gì gì đó". Có cách nào để bỏ thông báo này không.
Mong nhận được hồi đáp của anh chị!!!

Trân trọng
 
Upvote 0
Tôi tìm được 1 cách dùng vb6 để Add vào:
PHP:
Shell ("regsvr32 ""C:\Windows\System32\XPControls.ocx""")
Shell ("regsvr32 ""C:\Windows\System32\XPStyle.ocx""")
Tuy nhiên cứ mỗi lần chạy thì nó đều hiện ra cái thông báo "....successfull gì gì đó". Có cách nào để bỏ thông báo này không.
Mong nhận được hồi đáp của anh chị!!!

Trân trọng
Thử vầy xem:
Mã:
Sub Test()
  Dim ocx As String, sComm As String
  ocx = "XPStyle.ocx"
  sComm = "regsvr32 /s C:\Windows\System32\" & ocx
  CreateObject("Wscript.Shell").Run "cmd /c " & sComm, 0, True
End Sub
Nói chung nếu bạn hiểu cú pháp của lệnh regsvr32 sẽ biết với tham số /s thì nó sẽ không hiện thông báo
 
Lần chỉnh sửa cuối:
Upvote 0
Các lệnh trên chỉ chạy được từ Windows XP trở về trước. Từ Windows Vista, 7 về sau Windows quản trị chạy và đăng ký ứng dụng theo UAC. Chỉ ứng dụng nào chạy với "Run as administrator" hoặc Turn Off UAC trong Control Panel thì mới chạy các dịch vụ đăng ký vào Registry như RegSvr32.

Vậy giải pháp cho vấn đề của bạn là hãy tạo bộ cài đặt để đăng ký OCX và sắp đặt các file chương trình của mình lên ổ cứng của máy cài đặt.

Bạn hãy gõ trên Google "Tạo bộ cài đặt" sẽ làm được.
 
Upvote 0
Web KT

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

Back
Top Bottom