2017-11-16 12 views
0

で保護私はPDFとして隠されたワークシートを保存するには、このコードを使用していたし、それは完全に働いていた:保存隠しとパスワードEXCELシート

Sub Cite() 

Dim wb As Excel.Workbook 
Dim Proposalname As String 
Dim iVis As XlSheetVisibility 
Dim xlName As Excel.Name 
Dim FolderPath As String 

Set wb = ActiveWorkbook 
FolderPath = ActiveWorkbook.Path & "\" 

Proposalname = "Cite for " & CStr(Range("B2").Value) 

'Proposal 
Application.ScreenUpdating = False 
With Worksheets(2) 
iVis = .Visible 
.Visible = xlSheetVisible 
.ExportAsFixedFormat Type:=xlTypePDF, _ 
        Filename:=ActiveWorkbook.Path & "\" & Proposalname & ".pdf", _ 
        Quality:=xlQualityStandard, _ 
        IncludeDocProperties:=True, _ 
        IgnorePrintAreas:=True, _ 
        OpenAfterPublish:=True 


.Visible = iVis 

Worksheets(2).Activate 


End With 
Application.ScreenUpdating = True 
End Sub 

しかし、今私はパスワードを使用して、この隠されたシートを保護人々はそれを覆すことはできません。これを実行した後は、以前と同じようにPDFを生成できません。私はコマンド "Unprotect password"を使用しようとしましたが、うまくいきませんでした。 ".Visible = xlSheetVisible"という行が間違っていると言っています。誰かが私にこの問題を解決してもらえますか?

あなたはワークシートのVisibleプロパティを変更するために、ワークシートだけでなく、ブックの保護を解除しなければならない

答えて

0

EDIT:

wb.unprotect "Your password here" 
    With Worksheets(2) 
     iVis = .Visible 
     .Visible = xlSheetVisible 
more code here 
End With 
wb.protect "Your password here" 
Application.ScreenUpdating = True 
+0

おかげで、私はちょうど上で「保護解除」を使用していた多くのことを間違った場所!あなたはとても役に立ちました:) –

関連する問題