返回列表 上一主題 發帖

隱藏功能

隱藏功能

各位前輩你們好!!   
      前輩!
          選取任意欄  按AA鈕
          就可以隱藏不想讓他人使用的功能
          請問點選任意儲存格  按BB鈕
          同樣也可以隱藏不想讓他人使用的功能
          不知程式如何寫?
          請知道的前輩,不吝賜教謝謝再三!!  
sub AA()
   Application.CommandBars("Column").Controls(1).Enabled = False '剪下
   Application.CommandBars("Column").Controls(3).Enabled = False '貼上
   Application.CommandBars("Column").Controls(6).Enabled = False '刪除
   Application.CommandBars("Column").Controls(7).Enabled = False '清除內容
End Sub

回復 2# 蝕光迴狼
   前輩!因為有程式在跑所以無法用
          保護工作表的方式
          如附程式所訴
          請不吝賜教謝謝再三!!
  1. Sub 權限功能()
  2.     Dim i
  3.     Dim hwd As Long
  4.    '讓A:AR欄的區域加入以下功能
  5.    'Application.CommandBars("Column").Controls(1).Enabled = False '剪下
  6.    'Application.CommandBars("Column").Controls(3).Enabled = False '貼上
  7.    'Application.CommandBars("Column").Controls(6).Enabled = False '刪除
  8.    'Application.CommandBars("Column").Controls(7).Enabled = False '清除內容
  9.    '就能點選任意儲存格可以隱藏不想讓他人使用的功能以免程式跑出來的數據失貞
  10.     If [BB:CT].EntireColumn.Hidden = False Then
  11.           [F21] = "=Text(sheet1!A1, 0)"
  12.           [BB:CT].EntireColumn.Hidden = True
  13.           Application.CommandBars("Column").Controls(11).Enabled = False
  14.     ElseIf [BB:CT].EntireColumn.Hidden = True And [F21] <> "" Then
  15.     For i = 1 To 3
  16.        lTimeID = timeSetEvent(10, 0, AddressOf TimeProc, 1, 1)
  17.        ZZ = InputBox("輸入權限密碼", "請輸入檔案管理者密碼!!")
  18.        If ZZ = "" Then End
  19.        If ZZ = [F21] Then
  20.           Application.CommandBars("column").Controls(11).Enabled = True
  21.           [BB:CT].EntireColumn.Hidden = False
  22.           ActiveWindow.ScrollColumn = 53
  23.           [F21] = ""
  24.           End
  25.         '恢復:AR欄的區域功能
  26.         'Application.CommandBars("Column").Controls(1).Enabled = True '剪下
  27.         'Application.CommandBars("Column").Controls(3).Enabled = True '貼上
  28.         'Application.CommandBars("Column").Controls(6).Enabled = True '刪除
  29.         'Application.CommandBars("Column").Controls(7).Enabled = True '清除內容
  30.        ElseIf ZZ <> [F21] Then
  31.           MsgBox "※密碼錯誤!!你有(3次)機會除檔案管理者外無法使用OK!"
  32.        End If
  33.        If i = 3 Then ThisWorkbook.Close SaveChanges:=False
  34.     Next
  35.     End If
  36. End Sub
複製代碼

TOP

回復 2# 蝕光迴狼
前輩!抱歉忘了附檔

LeoV78.rar (18.46 KB)

TOP

回復 5# GBKEE
良師!
     這樣程式是OK!
     但有另一個困擾也就是說
     一但範例檔執行限制功能之後
     再開啟的任意檔案都同樣也
     會受限相同功能而無法使用
     這樣是錯誤的...
     應該是A檔執行限制功能
     就只適用於A檔而不牽涉到
     其他檔才有意義
     不知可否有解?
     關於
     按AA鈕,按BB鈕 的差異點在哪裡??
     AA鈕是限制隱藏測試用
     BB鈕是限制複製,剪下,貼上,刪除,清除內容測試用
     辛苦囉!謝謝再三!!

TOP

回復 7# GBKEE
良師!早安!!
     謝謝!!
     程式雖然可以解決檔案受限的問題
     但是 權限功能鈕
     確失去意義如附動畫檔所示
     小弟繞來繞去的修改測試還是無法找出
     兩全其美的方法沒辦法名師卻出笨徒
     只好再次麻煩良師
     辛苦囉!謝謝再三!!

LeoV78-A.gif (597.55 KB)

LeoV78-A.gif

LeoV78-C.rar (23.05 KB)

TOP

回復 9# GBKEE
良師!
     抱歉!近日來加班延誤回覆
     程式OK!方法如下
  1. Private Sub Workbook_WindowActivate(ByVal Wn As Window)
  2. 'ThisWorkbook 視窗(活頁簿)為作用中的視窗時自動執行的預設事件
  3.     限制設置 True
  4. End Sub
  5. Private Sub Workbook_WindowDeactivate(ByVal Wn As Window)
  6. 'ThisWorkbook 視窗(活頁簿)不是作用中的視窗時自動執行的預設事件
  7.     限制設置 True
  8. End Sub
  9. Sheet2的程式碼
  10.   Private Sub Worksheet_SelectionChange(ByVal Target As Range)
  11.      If [BB:CT].EntireColumn.Hidden = False Then
  12.        限制設置 True
  13.      ElseIf [BB:CT].EntireColumn.Hidden = True Then
  14.        限制設置 False
  15.      End If
  16.   End Sub
  17. Sub 權限功能()
  18.     Dim zz As String, i As Integer
  19.     Dim hwd As Long
  20.     If [BB:CT].EntireColumn.Hidden = False Then
  21.           [F21] = "=Text(sheet1!A1, 0)"
  22.           [BB:CT].EntireColumn.Hidden = True
  23.           限制設置 False
  24.     ElseIf [BB:CT].EntireColumn.Hidden = True And [F21] <> "" Then
  25.        i = 3
  26.        Do
  27.        lTimeID = timeSetEvent(10, 0, AddressOf TimeProc, 1, 1)
  28.        zz = InputBox("輸入權限密碼" & vbLf & "你有(" & i & "次)機會可用!", "請輸入檔案管理者密碼

  29. !!")
  30.        i = i - 1
  31.        Loop Until zz = [F21] Or i <= 0 Or zz = ""
  32.            If zz = "" Then
  33.                End
  34.            ElseIf zz = Sheet2.[F21] Then
  35.                [BB:CT].EntireColumn.Hidden = False
  36.                [F21] = ""
  37.                限制設置 True
  38.            ElseIf zz <> Sheet2.[F21] Then
  39.                ThisWorkbook.Close SaveChanges:=False
  40.            End If
  41.     End If
  42. End Sub
複製代碼
小弟另一問題請教執行下列程式
Private Sub ComboBox1_Change()
        [B5] = ComboBox1.Value
        Sheet1.ComboBox2.Activate
        Application.SendKeys "%{DOWN}"
     End Sub
     Private Sub ComboBox2_Change()
        [C5] = ComboBox2.Value
        [G5].Selec
     End Sub
    鍵盤的Num lock燈為何會自動熄滅
     請不吝賜教辛苦囉!謝謝再三!!

TOP

        靜思自在 : 得理要饒人,理直要氣和。
返回列表 上一主題