2016-05-16 10 views
0

Ist es möglich, VBA-Code von verschiedenen Datei VBA-Code zu schützen?schützen VBA-Code für die Anzeige mit VBA-Code

Ich möchte ein Makro, das für alle Dateien im angegebenen Verzeichnis Satz Projekteigenschaften schreiben - Schutz - Schloss Projekt für die Anzeige:

manual example .

Grüße, Piotrek

// EDIT

Ich habe versucht:

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 

Problem ist, dass es Passwort setzt Projekt VB, die ein Makro ausgeführt wird. Frage ist, wie kann ich zu einem anderen Projekt wechseln, oder wie kann ich VBE in anderen ws Kontext öffnen?

+0

Möchten Sie, dass es auf den Dateien ausgeführt wird und das tun, oder wenn eine der Dateien geöffnet ist, tun Sie das? –

+0

beide Fälle werden gut genug für mich –

+0

gibt es einige Elemente hier, mit send keys und die Windows-API –

Antwort

0

Wechseln Sie in Visual Studio zu Tools, und gehen Sie dann zu "**** Properties" (*** = Ihr Projektname). Es gibt eine Schutz-Registerkarte. Sollte von dort leicht zu finden sein.

+0

Doug, ich muss es für viele Dateien tun, Frage ist, wenn es mit VBA-Code möglich ist, nicht manuell –

+0

Ich bin nicht ganz sicher, wie ich das von meinem Kopf aus mache. Ich bin mir aber sicher, dass Sie eine Schleife einbinden können, Sie müssen nur herumkramen und herausfinden, welche Objekteigenschaft Sie dafür benötigen würden. Davon abgesehen, hier ist eine gute Referenz. http://stackoverflow.com/questions/16363621/protecting-code-in-e-excel-workbook/28968867#28968867 –