Vô hiệu hóa nút "Disable Macros" trong Excel

Liên hệ QC

Duong gia

Thành viên thường trực
Tham gia
15/1/07
Bài viết
352
Được thích
118
Bạn nào giỏi VBA cho mình học hỏi với. Có cách nào vô hiệu hóa nút "Disable Macros" khi mở file Excel có macro không? Tức là mình muốn khi mở file Excel có macros buột họ phải click vào "Enable macros" thôi chứ không có nút "Disable Macros" . Thanks in advance.
 
Lần chỉnh sửa cuối:
Sao các bác toàn động đến mã nguồn của bác Bill như thế...
 
Disable "Disable macro" trong Excel ai làm được ???

Mình mất nhiều thời gian online để tìm các code vô hiệu hóa nút "Disable macro" nhưng tìm mãi không có, nên phải lên diễn đàn nhờ giúp đỡ. Thanks
 
Lần chỉnh sửa cuối:
Bác Duyệt có giới thiệu 1 bài về cách vô hiệu chức năng Disabled macros nhưng phải thông qua trung gian VB6.

Mình cũng đang cần cái vụ này - các cao thủ xem có cách nào không !?
(Hy vọng mong manh !)

Thân ái !
 
Disabled macros in Excel

Có còn hơn không, bạn VuNgoc bạn làm ơn share cho minh xem bài của Bác Duyệt về cách vô hiệu chức năng Disabled macros bằng VB6.0 xem có thể dùng được không, cám ơn bạn. Địa chỉ email của mình là : duongnguyen220372@yahoo.com.vn Thanks in advance
 
Lần chỉnh sửa cuối:
Duong gia đã viết:
Có còn hơn không, bạn VuNgoc bạn làm ơn share cho minh xem bài của Bác Duyệt về cách vô hiệu chức năng Disabled macros bằng VB6.0 xem có thể dùng được không, cám ơn bạn.
Thanks in advance
Trả lời hộ bác VUNGOC nhé: Hình như đây
 
Disable "Disable macros" button in Excel

Disable "Disable macros" button bằng VB6.0 theo cách của bác Duyệt thì đâu có ổn, mình đã xem qua rồi. Mình không thể bắt buột người sử dụng muốn mở file Excel thì phải thông qua nó. Phức tạp quá, chác chắn người dùng sẽ click mở trực tiếp file Excel mà không thông qua con đường của bác Duyệt. Hy vọng một ngày đẹp trời sẽ gặp được Cao thủ VBA Excel (Hy vọng, nhưng quá mong manh)
 
Lần chỉnh sửa cuối:
Nếu xuất hiện form thông báo "Security Warning" chọn Disable/Enable Macros có nghĩa là trong Excel, Security đang ở chế độ "Medium".

Mình gửi file .reg sẽ tự đặt Security = "Low" . Chế độ "Low" cho phép chạy macros và không hiện mảng thông báo "Security Warning" nữa.
 

File đính kèm

Cảm ơn bác TuanVNUNI nhiều.
Có cách nào gắn đoạn code trên vào luôn file Excel nào đó mà mình muốn mở không.
Nghĩa là khi kích hoạt mở 1 file nào đó, ví dụ: file QUAN LY PHU TUNG chẳng hạn, thì ở bất kỳ máy nào cũng có thể tự chọn chế độ đặt Security = "Low" . Chế độ "Low" cho phép chạy macros và không hiện mảng thông báo "Security Warning" mà không cần phải chạy riêng file SetEnableMacros không ạ !
(Vì nó đã được chạy cùng với khi kích hoạt mở file QUAN LY PHU TUNG)
Cảm ơn bác rất nhiều.
Chúc bác luôn mạnh khỏe và zui zẻ !
 
vungoc đã viết:
Cảm ơn bác TuanVNUNI nhiều.
Có cách nào gắn đoạn code trên vào luôn file Excel nào đó mà mình muốn mở không.
Nghĩa là khi kích hoạt mở 1 file nào đó, ví dụ: file QUAN LY PHU TUNG chẳng hạn, thì ở bất kỳ máy nào cũng có thể tự chọn chế độ đặt Security = "Low" . Chế độ "Low" cho phép chạy macros và không hiện mảng thông báo "Security Warning" mà không cần phải chạy riêng file SetEnableMacros không ạ !
(Vì nó đã được chạy cùng với khi kích hoạt mở file QUAN LY PHU TUNG)
Cảm ơn bác rất nhiều.
Chúc bác luôn mạnh khỏe và zui zẻ !

Không thể làm theo ý Vungoc được đâu vì file .xls (Excel files) chịu sự quản lý của EXCEL.EXE - Excel Application, nên dừ gắn đủ thứ lên file Excel thì vẫn thế thôi. Nên chỉ có cách là tác động từ bên ngoài vào EXCEL.EXE thông qua file.reg ( đánh thẳng vào trung tâm --=0 ).

Đối với một chương trình mà muốn gửi cho nhiều người dùng thì nên tạo bộ cài đặt, trong bộ cài đặt mình cho chạy các lệnh trong file.reg.

Nếu Mr Vungoc muốn tạo bộ cài đặt thì có thể dùng 2 thằng là: Factory Setup hoặc InnoSetup (cái này là free mà rất hay, tớ hay dùng cái này).
 
TuanVNUNI đã viết:
Không thể làm theo ý Vungoc được đâu vì file .xls (Excel files) chịu sự quản lý của EXCEL.EXE - Excel Application, nên dừ gắn đủ thứ lên file Excel thì vẫn thế thôi. Nên chỉ có cách là tác động từ bên ngoài vào EXCEL.EXE thông qua file.reg ( đánh thẳng vào trung tâm --=0 ).

Đối với một chương trình mà muốn gửi cho nhiều người dùng thì nên tạo bộ cài đặt, trong bộ cài đặt mình cho chạy các lệnh trong file.reg.

Nếu Mr Vungoc muốn tạo bộ cài đặt thì có thể dùng 2 thằng là: Factory Setup hoặc InnoSetup (cái này là free mà rất hay, tớ hay dùng cái này).

Đây cũng là một ý kiến hay / Xin cảm ơn !
 
Mình rất tán thành ý kiến của bác VuNgoc. Mình có ý này, Nếu enable thì tại A1 của sheet1 sẽ bằng 1, rồi mình tạo 1 file Add-ins thực hiện như sau: nó sẽ kiểm tra tất cả các sheet1 của tất cả các file excel đang mở, nếu mà tại A1 của sheet1 của file nào mà bằng 1 thì ngay lập tức đóng file đó lại. Có như vậy thì bắt buột người dùng phải chọn Enable macros. Để tránh người dùng loại bỏ file Add-ins trên ta nên disable Add-ins trong Tools của Excel lại. Không biết ý này có khả thi không ? Nhờ các bác góp ý cho. Thanks
 
Lần chỉnh sửa cuối:
Duong gia đã viết:
Mình rất tán thành ý kiến của bác VuNgoc. Mình có ý này, Nếu enable thì tại A1 của sheet1 sẽ bằng 1, rồi mình tạo 1 file Add-ins thực hiện như sau: nó sẽ kiểm tra tất cả các sheet1 của tất cả các file excel đang mở, nếu mà tại A1 của sheet1 của file nào mà bằng 1 thì ngay lập tức đóng file đó lại. Có như vậy thì bắt buột người dùng phải chọn Enable macros. Để tránh người dùng loại bỏ file Add-ins trên ta nên disable Add-ins trong Tools của Excel lại.
Không biết ý này có khả thi không ? Nhờ các bác góp ý cho. Thanks

Bạn cần gì phải làm máy móc thế. Nếu người ta muốn gỡ bỏ Addin thì thì thiếu gì cách.
 
Nguyên tắc có cài dc thì có gỡ ra dc... Bất kể nó dc bảo mật đến cở nào... ha.. ha.. Tầm cở như các chuyên gia của MS mà còn phải khốn đốn trước nhưng tay cracker đấy thôi...
 
TuanVNUNI đã viết:
Nếu xuất hiện form thông báo "Security Warning" chọn Disable/Enable Macros có nghĩa là trong Excel, Security đang ở chế độ "Medium".

Mình gửi file .reg sẽ tự đặt Security = "Low" . Chế độ "Low" cho phép chạy macros và không hiện mảng thông báo "Security Warning" nữa.

Khi đặc cái này qua registy thì XL có cái setting security = low nên cho phép chạy các code trong workbook đang hiện hành.

Tôi chưa thữ code vì không biết là khi cài nó xong còn có thể sửa security setting qua mức medium để có câu hỏi muốn enable macro hay không. Tôi không muốn mất luôn tính năng tắt macro.
 
digita đã viết:
Khi đặc cái này qua registy thì XL có cái setting security = low nên cho phép chạy các code trong workbook đang hiện hành.

Tôi chưa thữ code vì không biết là khi cài nó xong còn có thể sửa security setting qua mức medium để có câu hỏi muốn enable macro hay không. Tôi không muốn mất luôn tính năng tắt macro.

Click chuột phải trên file SetEnableMacros.reg chọn Edit bạn sẽ thấy nội dung trong đó như sau:

Mã:
Windows Registry Editor Version 5.00

[HKEY_CURRENT_USER\Software\Microsoft\Office\[COLOR="Red"]11.0[/COLOR]\Excel\Security]
[COLOR="Blue"]"Level"=dword:00000001[/COLOR]

Tùy theo Office mà ta thay đổi giá trị 11.
Office 97=8
Office 2000=9
Office XP=10
Office 2003=11
Office 2007=12. Thay "Level" = "VBAWarnings"


Theo các mức của "Security warning" ứng với các giá trị của Level như sau:

Verry High -> "Level"=dword:00000004
_____High -> "Level"=dword:00000003
__Medium -> "Level"=dword:00000002
_____Low -> "Level"=dword:00000001

 
Windows Registry Editor Version 5.00
[HKEY_CURRENT_USER\Software\Microsoft\Office\11.0\Excel\Security]
"Level"=dword:00000001
pác có thể thêm vào đó khi chạy một lần thì vô hiệu hóa, còn chạy lần hai thì không còn vô hiệu hóa có được không
 
TuanVNUNI đã viết:
Click chuột phải trên file SetEnableMacros.reg chọn Edit bạn sẽ thấy nội dung trong đó như sau:

Mã:
Windows Registry Editor Version 5.00
 
[HKEY_CURRENT_USER\Software\Microsoft\Office\[COLOR=red]11.0[/COLOR]\Excel\Security]
[COLOR=blue]"Level"=dword:00000001[/COLOR]

Tùy theo Office mà ta thay đổi giá trị 11.
Office 97=8
Office 2000=9
Office XP=10
Office 2003=11
Office 2007=12. Thay "Level" = "VBAWarnings"


Theo các mức của "Security warning" ứng với các giá trị của Level như sau:

Verry High -> "Level"=dword:00000004
_____High -> "Level"=dword:00000003
__Medium -> "Level"=dword:00000002
_____Low -> "Level"=dword:00000001

Bác TuanVNUNI, bác giải thích rõ file SetEnableMacros.reg này được không. Nói thật đến giờ mình không dám click cài đặt file SetEnableMacros.reg này của bác, vì sợ sau khi cài đặt ta open bất kỳ file Excel nào có macro là nó cho vào tuốt, không còn báo "Security warning" nữa. Mình chỉ muốn gán cái chức năng này cho một số file cần thiết thôi, còn những file khác thì không, vẫn hoạt động bình thường với form thông báo "Security Warning" chọn Disable/Enable Macros của nó chứ. Thanks
 
Lần chỉnh sửa cuối:
Bạn đừng có lo... khi muốn mọi chuyện trở lại như củ thì click phải chuột vào file .REG này, chọn Edit và sửa lại trong đó... Save file, cuối cùng Double Click vào file vừa save là xong!
 
anhtuan1066 đã viết:
Bạn đừng có lo... khi muốn mọi chuyện trở lại như củ thì click phải chuột vào file .REG này, chọn Edit và sửa lại trong đó... Save file, cuối cùng Double Click vào file vừa save là xong!

Cám ơn Mr. Tuấn
 
Web KT

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

Back
Top Bottom