Можно через vba поставить пароль на проект VBA ?
Подскажите пожалуйста
Подскажите пожалуйста
02.12.2009 16:43:26
Можно через vba поставить пароль на проект VBA ?
Подскажите пожалуйста |
|
|
|
02.12.2009 17:20:19
Это если "руками" запаролить проект:
А если VBA сам себя должен запаролить?! То это уже восстание машин будет ={
Удивление есть начало познания © Surprise me!
И да пребудет с нами сила ВПР. |
|
|
|
02.12.2009 17:28:54
Паролить будет других
проблема уже решена |
|
|
|
18.05.2012 14:03:28
вот, стащил с одного буржуинского форума (поиск-таки рулит)
'need reference To VBA Extensibility 'need To make sure that the target project Is the active project Sub test() UnprotectVBProject Workbooks("ABook.xls"), "password" End Sub Sub UnprotectVBProject(WB As Workbook, ByVal Password As String) ' ' Bill Manville, 29-Jan-2000 ' Dim VBP As VBProject, oWin As VBIDE.Window Dim wbActive As Workbook Dim i As Integer Set VBP = WB.VBProject Set wbActive = ActiveWorkbook If VBP.Protection <> vbext_pp_locked Then Exit Sub Application.ScreenUpdating = False ' Close any code windows To ensure we hit the right project For Each oWin In VBP.VBE.Windows If InStr(oWin.Caption, "(") > 0 Then oWin.Close Next oWin WB.Activate ' now use lovely SendKeys To unprotect Application.OnKey "%{F11}" SendKeys "%{F11}%TE" & Password & "~~%{F11}", True If VBP.Protection = vbext_pp_locked Then ' failed - maybe wrong password SendKeys "%{F11}%TE", True End If ' leave no evidence of the password Password = "" ' go back To the previously active workbook wbActive.Activate End Sub '''''''''''''''''''''''''''''''''''''''''''''''''''''''''''' Sub ProtectVBProject(WB As Workbook, ByVal Password As String) Dim VBP As VBProject, oWin As VBIDE.Window Dim wbActive As Workbook Dim i As Integer Set VBP = WB.VBProject Set wbActive = ActiveWorkbook ' Close any code windows To ensure we hit the right project For Each oWin In VBP.VBE.Windows If InStr(oWin.Caption, "(") > 0 Then oWin.Close Next oWin WB.Activate ' now use lovely SendKeys To unprotect Application.OnKey "%{F11}" SendKeys "+{TAB}{RIGHT}%V{+}{TAB}" & Password & "{TAB}" & Password & "~" Application.VBE.CommandBars(1).FindControl(Id:=2578, recursive:=True).Execute WB.Save End Sub '''''''''''''''''''''''''''''''''''''''''''''''''''''''''''' "сам не пробовал, но другим советую" (с) Timex, может быть, Вы рискнете попробовать? а потом нам расскажете :)
фрилансер Excel, VBA - контакты в
"Совершенствоваться не обязательно. Выживание — дело добровольное." Э.Деминг |
|
|
|
18.05.2012 14:05:02
зпбыл ссылку на форум оставить:
фрилансер Excel, VBA - контакты в
"Совершенствоваться не обязательно. Выживание — дело добровольное." Э.Деминг |
||||
|
|
|||