マクロでシートの保護、ブックの保護をするマクロを組みました。 しかしシートの保護はできても、ブックの保護が効かない状態になっています。 何か足りないところがないかなどご教授いただけたらと思います Dim DirName As String, OpenFileName As String Dim OpenBook As Workbook Dim i As Long '繰り返し変数 Dim ps As String Application.ScreenUpdating = False '画面更新非表示 'ダイアログでフォルダ選択 With Application.FileDialog(msoFileDialogFolderPicker) .Title = "保存フォルダを選択して下さい" If .Show = False Then Exit Sub DirName = .SelectedItems(1) End With '保存フォルダの作成 If Dir(DirName & "\シート保護設定後", vbDirectory) = "" Then MkDir DirName & "\シート保護設定後" End If If ThisWorkbook.Sheets(1).CheckBox1.Value = True Then ps = InputBox("不要な場合は未入力、またはキャンセルを押してください", "パスワードを入力", "") End If '取得 OpenFileName = Dir(DirName & "\*.xlsx") 'ファイルをエクセルに変換 Do While OpenFileName <> "" Set OpenBook = Workbooks.Open(Filename:=DirName & "\" & OpenFileName, ReadOnly:=True) Dim o As Object For Each o In Sheets ' シートを保護する o.Protect UserInterfaceOnly:=True, Password:=ps Next ' ブックを保護する ThisWorkbook.Protect Structure:=True, Password:=ps Sheets(1).Select OpenBook.SaveAs Filename:=DirName & "\シート保護設定後" & "\" & OpenFileName, _ FileFormat:=xlWorkbookDefault OpenBook.Close OpenFileName = Dir() Loop ThisWorkbook.Activate Application.ScreenUpdating = True '画面更新表示 MsgBox "完了しました" ' End Sub
Visual Basic