我的VBA加載項將一些表單複製到新的工作簿中。雖然我的加載項是按密碼項目,但新生成的工作簿在生成時不受密碼保護。所以用戶可以讀取其中的代碼。使用密碼保護VBA項目
我想使用受保護的屬性來隱藏代碼,但它沒有看到工作。
代碼,以生成新的工作簿:
Sub CreateNewWorkbook()
On Error GoTo LabelErro
Application.ScreenUpdating = False
Set NewWorkBook = Workbooks.Add
Dim currentSheet As Worksheet
Dim sheetIndex As Integer
sheetIndex = 1
With ThisWorkbook
.IsAddin = False
.Sheets("Ajuda").Copy Before:=NewWorkBook.Sheets(sheetIndex)
.Sheets("Fronteira").Copy Before:=NewWorkBook.Sheets(sheetIndex)
.Sheets("Correl").Copy Before:=NewWorkBook.Sheets(sheetIndex)
.Sheets("Atributos").Visible = True
.Sheets("Atributos").Copy Before:=NewWorkBook.Sheets(sheetIndex)
.Sheets("Atributos").Visible = xlVeryHidden
.Sheets("Pesos").Copy Before:=NewWorkBook.Sheets(sheetIndex)
.Sheets("Calculos").Copy Before:=NewWorkBook.Sheets(sheetIndex)
.Sheets("Hidden").Visible = True
.Sheets("Hidden").Copy Before:=NewWorkBook.Sheets(sheetIndex)
.Sheets("Hidden").Visible = xlVeryHidden
.IsAddin = True
End With
With NewWorkBook
.Sheets("Hidden").Visible = xlVeryHidden
.Sheets("Calculos").Visible = xlVeryHidden
.Sheets("Pesos").Range("C1").Formula = "=INDIRECT(""D"" & Hidden!B1+Hidden!B4+1)"
.Sheets("Pesos").Range("C2").Formula = "=INDIRECT(""E"" & Hidden!B1+Hidden!B4+1)"
.Protect Password:="teste", Structure:=True, Windows:=True
End With
Exit Sub
LabelErro:
ThisWorkbook.IsAddin = True
End Sub
您是否在發佈您的問題之前嘗試搜索此答案?如果你沒有顯示任何研究工作,你的問題將被低估。即使沒有自己做搜索,我知道這個問題應該已經有數百個答案了。 –