Trust access to the VBA project model bị mờ

Liên hệ QC

chucuoi92

Thành viên lười biếng
Tham gia
11/9/09
Bài viết
850
Được thích
488
Giới tính
Nam
Nghề nghiệp
Chăn trâu
Chào Các anh/chị!
Trust access to the VBA project model của em bị mờ và không thể click.
Em dùng ex 2010
Có ai biết làm thế nào để sửa không ạ.Trust access to the VBA.jpg
 
Thử chạy code này xem:

Mã:
Private Sub ResetVBOM()
    On Error Resume Next
    Dim regKey As String
    regKey = "HKEY_LOCAL_MACHINE\Software\Microsoft\Office\" & Application.Version & "\Excel\Security\AccessVBOM"
    CreateObject("WScript.Shell").RegDelete regKey
End Sub
 
Chào Các anh/chị!
Trust access to the VBA project model của em bị mờ và không thể click.
Em dùng ex 2010
Có ai biết làm thế nào để sửa không ạ.

Khắc phục như sau:
- Mở Registry (bấm lá cờ Windows + R rồi gõ lệnh Regedit và Enter)
- Duyệt đến đường dẫn HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Office\14.0\Excel\Security
- Nhìn khung bên phải sẽ thấy AccessVBOM... chọn vào nó và delete
- Đóng Registry lại, kiểm tra Excel

Untitled.jpg



































Bạn cũng có thể chạy code VBA này:
Mã:
Function DelRegValue(ByVal RegKey As String, ByVal RegValue As String)
  CreateObject("WScript.Shell").Run "cmd /c reg delete """ & RegKey & """ /v """ & RegValue & """ /f", 0, True
End Function
Sub Main()
  Const RegKey = "HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Office\14.0\Excel\Security"
  Const RegValue = "AccessVBOM"
  DelRegValue RegKey, RegValue
End Sub
 
Khắc phục như sau:
- Mở Registry (bấm lá cờ Windows + R rồi gõ lệnh Regedit và Enter)
- Duyệt đến đường dẫn HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Office\14.0\Excel\Security
- Nhìn khung bên phải sẽ thấy AccessVBOM... chọn vào nó và delete
- Đóng Registry lại, kiểm tra Excel

View attachment 147516



































Bạn cũng có thể chạy code VBA này:
Mã:
Function DelRegValue(ByVal RegKey As String, ByVal RegValue As String)
  CreateObject("WScript.Shell").Run "cmd /c reg delete """ & RegKey & """ /v """ & RegValue & """ /f", 0, True
End Function
Sub Main()
  Const RegKey = "HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Office\14.0\Excel\Security"
  Const RegValue = "AccessVBOM"
  DelRegValue RegKey, RegValue
End Sub

Em đã làm theo hướng dẫn nhưng không có gì thay đổi.
 
Vâng .em đã chạy code của anh ,không có thsy đổi gì, sau đó lại thực hiện tiếp theo hướng dẫn của anh ndu nhưng cũng vậy.
Tắt Excel đi, mở một file trắng rồi xem thử nó có hiện ra không, nếu nó vẫn còn, thì thử chạy thêm macro này nữa xem:

Mã:
Private Sub VBOM_Reset()
    On Error Resume Next
    Dim regKey1 As String, regKey2 As String, Version As String
    Version = "\Software\Microsoft\Office\" & Application.Version & "\Excel\Security\AccessVBOM"
    regKey1 = "HKEY_LOCAL_MACHINE" & Version ''Huy check voi Enable=False
    regKey2 = "HKEY_CURRENT_USER" & Version  ''Huy check voi Enable=True
    With CreateObject("WScript.Shell")
        .RegDelete regKey1
        .RegDelete regKey2
    End With
End Sub
 
Tắt Excel đi, mở một file trắng rồi xem thử nó có hiện ra không, nếu nó vẫn còn, thì thử chạy thêm macro này nữa xem:

Mã:
Private Sub VBOM_Reset()
    On Error Resume Next
    Dim regKey1 As String, regKey2 As String, Version As String
    Version = "\Software\Microsoft\Office\" & Application.Version & "\Excel\Security\AccessVBOM"
    regKey1 = "HKEY_LOCAL_MACHINE" & Version ''Huy check voi Enable=False
    regKey2 = "HKEY_CURRENT_USER" & Version  ''Huy check voi Enable=True
    With CreateObject("WScript.Shell")
        .RegDelete regKey1
        .RegDelete regKey2
    End With
End Sub

Nếu code này mà tác giả bảo thành công thì tôi không biết gì để nói nữa... Bởi:
- Nhánh HKEY_LOCAL_MACHINE là dùng để Set "cứng" ---> Nó có thể check hoặc không check mục "Trust access... " nhưng đồng thời cũng làm cho mục ấy mờ đi (mờ nhưng vẫn xài được). Và nếu nhánh HKEY_LOCAL_MACHINE được kích hoạt thì sẽ bất chấp nhánh HKEY_CURRENT_USER set kiểu gì
- Nhánh HKEY_CURRENT_USER hoạt động tương tự nhưng khác ở chỗ nó không làm cho mục "Trust access..." bị mờ đồng thời nó chỉ hoạt động thì nhánh HKEY_LOCAL_MACHINE chưa tồn tại
Nguyên tắc là vậy nên tôi thấy code trên nó... kỳ kỳ
Ẹc... Ẹc...
 
Nếu code này mà tác giả bảo thành công thì tôi không biết gì để nói nữa... Bởi:
- Nhánh HKEY_LOCAL_MACHINE là dùng để Set "cứng" ---> Nó có thể check hoặc không check mục "Trust access... " nhưng đồng thời cũng làm cho mục ấy mờ đi (mờ nhưng vẫn xài được). Và nếu nhánh HKEY_LOCAL_MACHINE được kích hoạt thì sẽ bất chấp nhánh HKEY_CURRENT_USER set kiểu gì
- Nhánh HKEY_CURRENT_USER hoạt động tương tự nhưng khác ở chỗ nó không làm cho mục "Trust access..." bị mờ đồng thời nó chỉ hoạt động thì nhánh HKEY_LOCAL_MACHINE chưa tồn tại
Nguyên tắc là vậy nên tôi thấy code trên nó... kỳ kỳ
Ẹc... Ẹc...
Trong trường hợp đó phải xử lý ra sao đây Thầy? Bạn ấy làm thủ công còn không được nữa mà!
 
Lệnh liên quan đến truy xuất thuộc root HKEY_LOCAL_MACHINE thì Excel phải chạy mới quyền Administrator thì code VBA mới tác động được vào Registry.
 
Cái AccessVBOM này được đăng ký ở nhiều chỗ trong Registry, nếu bạn sửa không đúng chỗ thì không làm hiện nó được. Ví dụ trên máy tính mình sẽ nằm ở dường dẫn dưới.
HKEY_LOCAL_MACHINE\SOFTWARE\Policies\Microsoft\Office\15.0\Excel\Security

Bạn vào đấy tùy chỉnh như sau.
1. Xóa hẳn: Hiện khung check không bị mở
2. Setting = 1: HIện khung đã check và bị mở
2. Setting = 0: HIện khung chưa check và bị mờ
 
Web KT
Back
Top Bottom