2011-09-29 117 views
0

我已經創建了工作電子表格,並且試圖保護工作表,以便除我自己之外沒有人可以編輯文檔。我已經設置好了,以便我可以編輯文檔的全部範圍。在保護設置中,我勾選了表示任何用戶都可以使用自動過濾器的框。Excel 2003保護工作表,不允許Excel 2000用戶使用自動篩選

我應用安全性之前設置了自動過濾器,所以這不是問題,因爲很多論壇都會建議。但是,我使用的是Excel 2003,而大多數組織都在使用Office 2000.我忍不住想到兩個系統之間存在一些不兼容問題。任何人都可以建議嗎? VBA宏並不是真正的選擇,因爲組織內的默認設置是隻有簽名的宏可以運行,但即使如此,它們也必須由最終用戶驗證(對於IT知識水平低的用戶來說非常煩人)。

有沒有人知道一種方法使這項工作?

回答

0

組織是否允許修改在Excel中的默認安全設置,爲你自己和你的用戶?

如果不是,您可以輕鬆創建自己的宏簽名。我認爲它是Excel的可選安裝組件,允許您根據您的PC或用戶名創建簽名?這不會與完整的Microsoft驗證簽名具有相同的地位,但取決於組織的設置,它可能允許您接受所有的宏。

這對我幾年前在Excel 2000上工作,但我仍然不得不讓每個用戶更改他們的安全設置。我想我也製作了一個宏來自動化每個用戶的安全設置變更?如果我沒有記錯的話。

0

沒有VBA這是不可能的。請參閱http://office.microsoft.com/en-us/excel-help/enable-autofilter-functionality-for-a-protected-worksheet-HA001098270.aspx

默認情況下,保護部分或全部電子表格時,Excel中的自動篩選功能將變得不可用。如果您使用Microsoft Office Excel 2003或Excel 2002,則可以手動恢復該功能。如果您使用Excel 2000,則需要使用幾行Microsoft VisualBasic®for Applications(VBA)代碼。

使用VBA代碼來保護工作表,並啓用自動篩選功能 在Excel 2000中

這裏顯示的示例代碼保護工作表(非工作簿)和 使該工作表自動篩選功能。代碼 僅適用於Excel 2000.當您打開包含受保護工作表的工作簿時,此特定示例會自動運行 。 代碼還包含用於取消保護工作表的密碼。

如果您尚未啓動Excel 2000,請打開所需的工作簿,並記下要保護的工作表的名稱。 在工具菜單上,指向宏,然後單擊Visual Basic編輯器。

在Project Explorer中,雙擊ThisWorkbook。

在代碼窗口中打開一個新的空白代碼模塊。

複製下面的示例代碼,並將其粘貼到代碼窗口:

Private Sub Workbook_Open() 
    Sheet1.Protect password:="test", DrawingObjects:=True, _ 
     contents:=True, Scenarios:=True, _ 
     userinterfaceonly:=True 
    Sheet1.EnableAutoFilter = True End Sub 
0

現在就解決了。我們都在Office 2010上工作。

+0

Stephan,您的問題解決好了,但最初的問題是如何讓Excel 2000用戶使用它。以前接受的答案是正確的。將所有人升級到Office 2010都不是解決問題的辦法。 – Alain

+0

對不起@ Alan我已經改變了答案 – Stefan

+0

原來的答案是這一個:http://stackoverflow.com/a/7636703/529618 – Alain