在Excel安全性中,若使用者不啟用巨集,可能會導致開發者的所設計的一些功能無法執行,故要求使用者啟用巨集。(若是使用增益集,就不需要"啟用巨集",改天再來寫)
設"中"會出現以下訊息。
設"低"不會出現訊息,直接啟用巨集。
![快照-200971132932_thumb[2] 快照-200971132932_thumb[2]](http://files.dotblogs.com.tw/yc421206/0907/VBAExcel4.0_14849/%E5%BF%AB%E7%85%A7-200971132932_thumb%5B2%5D_e2128312-f959-42b5-8372-4aac4d5b7ef1.jpg)
設"高"就直接停用巨集。
以下就介紹如何達成此功能
1.利用Excel 4.0巨集表來定義巨集函數。在工作表工具列按右鍵→插入→Excel 4.0 巨集表
輸入以下內容
| =ERROR(FALSE) |
| =IF(ERROR.TYPE(RUN("TestMacro"))=4) |
| =ALERT("因停用了巨集功能,檔案將被關閉!",3) |
| =FILE.CLOSE(FALSE) |
| =END.IF() |
| =RETURN() |
2.在VBAProject新增一個Module,鍵入以下內容
Option Explicit
'為每個表定義隱藏名稱
Sub AddPrivateNames()
Dim sht As Worksheet
'列舉
For Each sht In Worksheets
'為每一個工作表指定"巨集表位置"
ThisWorkbook.Names.Add sht.Name & "!Auto_Activate", "=Macro1!$A$1", False
Next
End Sub
Sub HideMacroSheet()
'隱藏巨集表
ThisWorkbook.Excel4MacroSheets(1).Visible = xlSheetHidden
End Sub
3.在Workbook的open事件呼叫HideMacroSheet、AddPrivateNames方法
Option Explicit
Private Sub Workbook_Open()
HideMacroSheet
AddPrivateNames
End Sub
4.完成後就存檔、關閉,然後再開一次剛剛儲存的檔案,記得至少要執行過一次巨集讓剛剛設定的程式生效,然後再存一次檔。
5.爾後使用者只要不啟用巨集,活頁簿就會被關掉。
6.此功能只有在Excel 2003測試成功
7.範例下載:若不啟用巨集則關閉活頁簿.rar
新手發帖請多包涵

2009/7/2 23:22|
閱讀數 : 1890
|
我要推薦
|
|
文章分類:
Office VBA
訂閱