返回列表 上一主題 發帖

一個保護問題,

回復 22# GBKEE

謝謝大大, 小弟受教了, 新年快到, 祝願新年進步, 健康..

TOP

回復 23# solely
不錯 你的觀念很正確,保護工作表只能防君子,不能防小人. 只有活頁簿設密碼,才能保密.

TOP

回復 15# GBKEE
對於保護保密,我一直很困惑.....
若只是想避免工作表的資料被無心者所修改,只要保護工作表就夠了。
若是不想讓別人隨意開啟活頁簿,只要保護活頁簿即可。

若是想保密,就算工作表設定保護及層層關卡(如圖三),只要能開啟活頁簿,
就如圖一、二所示,就算停用巨集,一樣能窺視資料內容。
似乎能不能看到工作表的內容,關鍵在於能不能開f啟活頁簿。
不知道我的想法有沒有錯?!

TOP

本帖最後由 GBKEE 於 2010-12-25 20:42 編輯

回復 21# 周大偉
Application.CommandBars.FindControl(ID:=30029).Enabled = False
Control 指令 -> 保護(ID:=30029) 的使用(停止= False)
每一Control 有一自己的 ID號數

TOP

大大, 先行謝過,
相信這篇程式給予學習生一個學習機會, 大大, 下列這行可否告知, 而30029的含意是..
Application.CommandBars.FindControl(ID:=30029).Enabled = False
最後祝願快樂, 感恩..

TOP

回復 19# 周大偉
1.將程式碼貼於 ThisWorkbook,  專案的屬性->保護  勾選鎖定專案, 輸入密碼
2.活頁簿另存檔案指令 -> 工具-> 一般選項  輸入活頁簿保護密碼
  1. Option Explicit
  2. Private Const 密碼 = "1234"
  3. Private Const 字體顏色 = 1
  4. Private Const 保護色 = 2    '可自行修改
  5. Dim Answer$
  6. Private Sub Workbook_Open()
  7.     Sheets_Protect
  8.     Answer_Pass
  9. End Sub
  10. Private Sub Workbook_BeforeClose(Cancel As Boolean)
  11.     Sheets_Protect
  12.     Save
  13. End Sub
  14. Private Sub Workbook_SheetActivate(ByVal Sh As Object)
  15.     Answer_Pass
  16. End Sub
  17. Private Sub Workbook_SheetDeactivate(ByVal Sh As Object)
  18.      My_UnProtect (IIf(Answer = 密碼, True, False))
  19. End Sub
  20. Private Sub Sheets_Protect()
  21.     Dim Sh As Worksheet
  22.     For Each Sh In Sheets
  23.         With Sh
  24.         .Unprotect 密碼
  25.         .Cells.Font.ColorIndex = 保護色
  26.         .Cells.Interior.ColorIndex = .Cells.Font.ColorIndex
  27.         .EnableSelection = xlNoSelection
  28.         .Protect PassWord:=密碼, DrawingObjects:=True
  29.         End With
  30.     Next
  31. End Sub
  32. Private Sub My_UnProtect(Y As Boolean)
  33.     Application.ScreenUpdating = False
  34.     With ActiveSheet
  35.         .Unprotect 密碼
  36.         If Y = True Then
  37.             .Cells.Font.ColorIndex = 字體顏色
  38.             .Cells.Interior.ColorIndex = xlNone
  39.             Application.CommandBars.FindControl(ID:=30029).Enabled = True
  40.         Else
  41.             .Cells.Font.ColorIndex = 保護色
  42.             .Cells.Interior.ColorIndex = .Cells.Font.ColorIndex
  43.             .EnableSelection = xlNoSelection
  44.             .Protect PassWord:=密碼, DrawingObjects:=True
  45.             Application.CommandBars.FindControl(ID:=30029).Enabled = False
  46.         End If
  47.     End With
  48.     Application.ScreenUpdating = True
  49. End Sub
  50. Private Sub Answer_Pass()
  51.     If Answer <> 密碼 Then
  52.         If InputBox("密碼??", "輸入密碼") = 密碼 Then Answer = 密碼
  53.     End If
  54.     My_UnProtect (IIf(Answer = 密碼, True, False))
  55. End Sub
複製代碼

TOP

大大,
先行謝過, 大大給予教導, 是一般選項中設立密碼, 而小弟所想向大大學習的便是把儲存格字體設定與儲存格相同色, 再加上密碼設定為1234程式範例, 曾與友好討論, 但沒有得到結果, 故請大大指導, 希望大大給予一範例. 好讓從中學習, 先謝過大大, 聖誕快樂..

TOP

回復 17# 周大偉
如下圖 選取後 輸入密碼即可

TOP

GBKEE大大,
上述所提及的保護方式, 大大可否做一範例檔, 給予我等程度低而就想從中學習的門生參考,
感恩..

TOP

謝謝大大.
小妹感謝指導, 祝願快樂.

TOP

        靜思自在 : 心中常存善解、包容、感思、知足、惜福。
返回列表 上一主題