Code đăng kí File DLL (1 người xem)

Liên hệ QC

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

nth09061985

Thành viên mới
Tham gia
19/7/13
Bài viết
49
Được thích
5
Mình muốn nhờ các anh chị và các bạn giúp đoạn code thực hiện công việc như sau:
+ Mình có 1 File Vidu.Dll, 1 File Vidu.Xlsm. Trong File Vidụ.Xlsm mình có 1 button "RUN" mình muốn khi người dùng nhấn nút RUN thì File DLL sẽ được tự động check ở trong mục Tools-->References(Bình thường cái này mình phải làm thủ công).
 

File đính kèm

Mình muốn nhờ các anh chị và các bạn giúp đoạn code thực hiện công việc như sau:
+ Mình có 1 File Vidu.Dll, 1 File Vidu.Xlsm. Trong File Vidụ.Xlsm mình có 1 button "RUN" mình muốn khi người dùng nhấn nút RUN thì File DLL sẽ được tự động check ở trong mục Tools-->References(Bình thường cái này mình phải làm thủ công).
Tặng cho Bạn Code sau ...tuy nhiên Muốn Check được References thì trước Tiên bạn phải check Trust Access To VBA (VBOM)... trước thì mới chạy sub sau được nha ..nếu không là Tịt....--=0--=0--=0
Kỳ này nghiên cứu VB6 dữ ha.....Sợ Lockxls rồi sao (File *.exe ấy)
PHP:
Public Sub AddFromFileDLL(ByVal FilePath As String)
On Error GoTo Thoat
With CreateObject("Scripting.FileSystemObject")
    If .FileExists(FilePath) Then
        ThisWorkbook.VBProject.References.AddFromFile FilePath
    Else
        MsgBox (FilePath) & vbLf & "File Not Found ... Check File ?!", 64, "Thông Báo"
    End If
End With
Thoat:
End Sub
Rem ======= Sub CheckReference File *.dll
Sub Main()
    Dim MyFile As String
    MyFile = ThisWorkbook.Path & "\DicVBA.dll"
    AddFromFileDLL (MyFile)
End Sub
 
Upvote 0
Tặng cho Bạn Code sau ...tuy nhiên Muốn Check được References thì trước Tiên bạn phải check Trust Access To VBA (VBOM)... trước thì mới chạy sub sau được nha ..nếu không là Tịt....--=0--=0--=0
Kỳ này nghiên cứu VB6 dữ ha.....Sợ Lockxls rồi sao (File *.exe ấy)
PHP:
Public Sub AddFromFileDLL(ByVal FilePath As String)
On Error GoTo Thoat
With CreateObject("Scripting.FileSystemObject")
    If .FileExists(FilePath) Then
        ThisWorkbook.VBProject.References.AddFromFile FilePath
    Else
        MsgBox (FilePath) & vbLf & "File Not Found ... Check File ?!", 64, "Thông Báo"
    End If
End With
Thoat:
End Sub
Rem ======= Sub CheckReference File *.dll
Sub Main()
    Dim MyFile As String
    MyFile = ThisWorkbook.Path & "\DicVBA.dll"
    AddFromFileDLL (MyFile)
End Sub
Cảm ơn bạn KieuManh nhiều lắm! Sáng mai mình mới test được. Có gì sẽ báo lại cho bạn ngay.
 
Upvote 0
Tặng cho Bạn Code sau ...tuy nhiên Muốn Check được References thì trước Tiên bạn phải check Trust Access To VBA (VBOM)... trước thì mới chạy sub sau được nha ..nếu không là Tịt....--=0--=0--=0
Kỳ này nghiên cứu VB6 dữ ha.....Sợ Lockxls rồi sao (File *.exe ấy)
PHP:
Public Sub AddFromFileDLL(ByVal FilePath As String)
On Error GoTo Thoat
With CreateObject("Scripting.FileSystemObject")
    If .FileExists(FilePath) Then
        ThisWorkbook.VBProject.References.AddFromFile FilePath
    Else
        MsgBox (FilePath) & vbLf & "File Not Found ... Check File ?!", 64, "Thông Báo"
    End If
End With
Thoat:
End Sub
Rem ======= Sub CheckReference File *.dll
Sub Main()
    Dim MyFile As String
    MyFile = ThisWorkbook.Path & "\DicVBA.dll"
    AddFromFileDLL (MyFile)
End Sub
Đã test và đã thành công! Cảm ơn KieuManh.
P/S
Không biết có code nào có thể check luôn mục Trust Access To VBA...luôn không các bạn nhỉ?
 
Upvote 0
Lần chỉnh sửa cuối:
Upvote 0
Anh có thể cho em xin link được không ạ! Hôm qua em có tìm được link này nhưng không làm được!
http://www.giaiphapexcel.com/forum/...ty-chế-độ-Trus-access-to-Visual-Basic-project

những vấn đề như enable security marco, hay truss access,.. không thể thực hiện bằng code hay trong môi trường vba một cách thông thường, ( gần giống như kiểu không thể tự nắm tóc nâng mình lên ),

để làm được điều này bạn phải sử dung môi trường thứ 2, ( ví dụ như vb6, vb.net ,..) tác dung vào regedits :HKEY_CURRENT_USER\Software\Microsoft\Office\12.0\Excel\Security\AccessVBOM
hoặc là dung phương pháp sendkey trên vba ( vốn được đánh giá là rất dở )


trước khi tìm hiểu đi sâu vào vấn đề trên, bạn thử xem chương trình hay code của mình có nhất thiết phải"chuyên nghiệp" như thế không /
 
Upvote 0
những vấn đề như enable security marco, hay truss access,.. không thể thực hiện bằng code hay trong môi trường vba một cách thông thường, ( gần giống như kiểu không thể tự nắm tóc nâng mình lên ),

để làm được điều này bạn phải sử dung môi trường thứ 2, ( ví dụ như vb6, vb.net ,..) tác dung vào regedits :HKEY_CURRENT_USER\Software\Microsoft\Office\12.0\Excel\Security\AccessVBOM
hoặc là dung phương pháp sendkey trên vba ( vốn được đánh giá là rất dở )


trước khi tìm hiểu đi sâu vào vấn đề trên, bạn thử xem chương trình hay code của mình có nhất thiết phải"chuyên nghiệp" như thế không /
Nếu có thể xin anh 1 đoạn code trong vb6 ạ hoặc dùng sendkey với ạ! Em dùng office 2013
 
Lần chỉnh sửa cuối:
Upvote 0
Đã test và đã thành công! Cảm ơn KieuManh.
P/S
Không biết có code nào có thể check luôn mục Trust Access To VBA...luôn không các bạn nhỉ?
Mấy cái đồ quỷ này dễ òm. Cứ moi trong đống đổ nát của mình thì có hết. Không tin thì hỏi Kiều Mạnh sẽ biết.
 
Upvote 0
Nếu có thể xin anh 1 đoạn code trong vb6 ạ hoặc dùng sendkey với ạ! Em dùng office 2013
Cũng mới tập làm một cái giống Anh Hải Bạn tải về test thử xem nha

Mở File Excel mới lên kiểm tra Xem trust Access To VBA đã check chưa ....

Xong Chạy File *.exe ....xong Kiểm tra ...xong Thoát Form ... Kiểm tra lại ....

(File Excel vẫn cứ mở bình thường)
 

File đính kèm

Lần chỉnh sửa cuối:
Upvote 0
Web KT

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

Back
Top Bottom