Board logo

標題: [發問] 請教各位先進,如何禁用view code功能? [打印本頁]

作者: mmxxxx    時間: 2014-11-12 09:07     標題: 請教各位先進,如何禁用view code功能?

本帖最後由 mmxxxx 於 2014-11-12 09:09 編輯

撰寫SPC xBar & R Chart程式,使用Excel VBA,
Excel畫面的Ribon,狀態列...均藏起來,只剩sheet-tab及標題.
為保護程式碼,也加密碼,工作表右鍵也鎖住,
但仍無法阻止Alt-F11 及在Sheet-tab上按右鍵的View Code進入VBE.
有何方法可阻止,不讓使用者無法進入VBE.

感謝。
作者: GBKEE    時間: 2014-11-12 16:06

回復 1# mmxxxx
為保護程式碼,也加密碼 是這樣做嗎?

[attach]19533[/attach]
作者: mmxxxx    時間: 2014-11-12 16:13

是的, 加密有設定.
如何不讓VBE的環境, 可以進入.
google查到的方法, 試不出來.
如下請參考.
'// Run DisableGettingIntoVBE from a Event procedure
'// eg. Workbook_Open or Worksheet_Activate

'// THEN run EnableGettingIntoVBE from the Opp Event procedure
'// eg. Workbook_Close or Worksheet_Deactivate

Sub DisableVBE()
   Application.VBE.MainWindow.Visible = False '// Close ALL windows 1st!
   CmdControl 1695, False                     '// Visual basics Editor
   CmdControl 186, False                      '// Macros...
   CmdControl 184, False                      '// Record New Macro...
   CmdControl 1561, False                     '// View Code
   CmdControl 1605, False                     '// Design Mode
   Application.OnDoubleClick = "Dummy"
   CommandBars("ToolBar List").Enabled = False
   Application.OnKey "%{F11}", "Dummy"
End Sub

Sub EnableVBE()
   CmdControl 1695, True                    '// Visual basics Editor
   CmdControl 186, True                     '// Macros...
   CmdControl 184, True                     '// Record New Macro...
   CmdControl 1561, True                    '// View Code
   CmdControl 1605, True                    '// Design Mode
   Application.OnDoubleClick = ""
   CommandBars("ToolBar List").Enabled = True
   Application.OnKey "%{F11}", ""
End Sub

Sub CmdControl(Id As Integer, TF As Boolean)
  Dim CBar As CommandBar
  Dim C As CommandBarControl
  On Error Resume Next
  For Each CBar In Application.CommandBars
    Set C = CBar.FindControl(Id:=Id, recursive:=True)
    If Not C Is Nothing Then C.Enabled = TF
  Next
End Sub

Sub Dummy()
    '// NoGo, leave blank OR Display a message eg.
    'MsgBox "Sorry you this command is NOT available", vbCritical
End Sub
作者: GBKEE    時間: 2014-11-13 14:25

回復 3# mmxxxx
為保護程式碼,也加密碼
你的意思是可以進入查看這加密的VBAProject程式碼?
作者: mmxxxx    時間: 2014-11-13 14:50

回復 4# GBKEE

大大, 我表達的不夠清楚.
我的意思是, 目前使用密碼保護VBAProject內容.
但很快即被破解.

想想, 最好的方法, 是不允許進入VBE的意思.
作者: GBKEE    時間: 2014-11-13 15:00

回復 5# mmxxxx
魔高一丈啊
有辦法破解密碼保護VBAProject內容.
會沒辦法,進入VBA視窗嗎?




歡迎光臨 麻辣家族討論版版 (http://forum.twbts.com/)