2016-05-16 94 views
0

是否可以保護VBA代碼免受不同文件vba代碼的影響?保護使用VBA代碼查看的VBA代碼

我想編寫一個宏,其在給定的目錄設置項目屬性中的所有文件 - 保護 - 鎖定項目進行查看:

manual example

問候,Piotrek

//編輯

我已經試過:

sub setVBAPassword(ws as Worksheet) 
dim oVBP as VBProject 
set oVBP = ws.VBProject 
    oVBP.VBE.CommandBars("Menu Bar").Controls("Tools") _ 
     .Controls("VBAProject Properties...").Execute 
With Application 
    .SendKeys "^{TAB}" 
    .SendKeys "{ }" 
    .SendKeys "{TAB}" & "test" 
    .SendKeys "{TAB}" & "test" 
    .SendKeys "{TAB}" 
    .SendKeys "{ENTER}" 
End With 
end sub 

的問題是,它是設置密碼到VB運行宏項目。問題是如何切換到其他項目,或者如何在其他ws環境中打開VBE?

+0

你想讓它運行在這些文件上嗎?或者當打開其中一個文件的時候呢? –

+0

這兩種情況對我來說都會很好 –

+0

這裏有一些項目,使用發送密鑰和Windows API –

回答

0

在Visual Studio中,轉到工具,然後轉到「****屬性」(*** =您的項目名稱)。有一個保護標籤。應該很容易從那裏找到。

+0

Doug,我需要爲許多文件做這件事,問題是如果可以用vba代碼,而不是manualy –

+0

Im not完全確定如何做到這一點從我的頭頂。但是我相信你可以合併一個循環,你只需要四處挖掘並找出你需要使用什麼對象屬性來完成此操作。這就是說,這裏有一個很好的參考。 http://stackoverflow.com/questions/16363621/protecting-code-in-an-excel-workbook/28968867#28968867 –