No.1
Excel工作表保護,相信大多數人都會設置。
作為保密性的一個措施,其實這個保密只是不十分嚴密的一種做法。
當然了,既然有這個功能,還是對大多數工作者來說十分有用的。
本篇將重點介紹一下,如何在設置保護的工作表中,另外設置一個可編輯區域。
這種情況應用於,用戶權限管理。
也就是說,如果有一個表格,對於不同的操作人員,授權可以編輯的區域。
這種權限管理,也適用於一些固定格式或內容不想被修改的情況下。
要達到如此目的,將用到Protection對象。
下圖為Protection對象的全部屬性
No.2
Protection屬性裡面主要應用第3項,AllowEditRanges
同時AllowEditRanges也是一個獨立的對象,也就是說本屬性會返回一個AllowEditRanges對象。
下面是本對象的Add方法。
也就是本篇主要介紹的一個方法,如何添加可編輯區域。
語法:
Protection.Add(Title,Range,Password)
具體內容可參考下圖:
No.3
以代碼為例做個介紹
新建可編輯區域功能函數
Private Sub AddNewEditRange()'新建表保護可編輯區域Dim s As WorksheetSet s = ThisWorkbook.ActiveSheets.Unprotect'解除表保護Dim R As Range, T As String, Paw As StringSet R = s.Range("B3:Q10")'定義可編輯區域T = "NewProtection"'設置可編輯區域名稱Paw = "admin123"'設置密碼DelProtectionEditRange s, T, Paw'刪除已經存在的區域s.Protection.AllowEditRanges.Add Title:=T, Range:=R, Password:=Paw'新建可編輯區域s.Protect'設置表保護End Sub
上面代碼可以看到定義可編輯區域只用了一個Add方法:
s.Protection.AllowEditRanges.Add Title:=T, Range:=R, Password:=Paw
其中,s為當前表對象,Title是區域標題必選參數,Range允許編輯的區域對象,也是必選參數,Password是密碼,可選,不選擇默認無密碼。
執行這個函數後,就將活動表進行了表保護,並且設置可編輯區域為B3:Q10,編輯需要密碼:admin123。
可以試一下,是不是有效。
這樣就完成了一個可編輯區域的創建,當然了,一個表中不一定只有一個可編輯區域,增加其它可編輯區域,只要改變Range的地址範圍就可以了。
No.4
這裡再介紹一個屬性:AllowEdit
此屬性是Range下的一個,功能是返回一個Boolean值。
如果值為True則說明本區域可編輯,如果是False則不可編輯。
那麼在對某一區域進行可編輯判斷的時候就用到這個屬性。
比如:
If Range("A1:B10").AllowEdit ThenMsgBox "可以編輯"ElseMsgBox "不可以編輯"End If
No.5
本篇中需要了解AllowEditRange對象、AllowEditRanges對象和Protection對象。
需要在Protection對象的AllowEditRanges屬性返回一個AllowEditRanges對象。
然後利用AllowEditRanges對象的Add方法來進行新建編輯區域。
感覺很暈吧!
老美的思想就是這麼讓人無法接受。
有什麼辦法,只能這樣做。
歡迎關注、收藏
---END---