
下記の通りのマクロで、ブックの保護ができません。
なぜでしょう?
シート保護はできます。
Sub ファイル一覧作成_Click()
Const cnsTitle = "ファイル一覧作成"
Const cnsDIR = "\*.*"
Dim strPath As String
Dim strFilename As String
Dim Dstbook As Workbook
Dim filelist As Worksheet
Dim GYO1 As Long
' フォルダの場所を指定する
strPath = Range("B2").Value
' フォルダの存在確認
If Dir(strPath, vbDirectory) = "" Then
MsgBox "指定のフォルダは存在しません。", vbExclamation, cnsTitle
Exit Sub
End If
Set Dstbook = Workbooks("2019年調査ファイル保護・解除.xlsm")
Set filelist = Dstbook.Sheets("読み込むファイル一覧")
'前のデータ削除
filelist.Range("A2").CurrentRegion.Offset(1, 0).ClearContents
' strPathフォルダ配下のファイル一覧作成
' 先頭のファイル名の取得
strFilename = Dir(strPath & cnsDIR, vbNormal)
' ファイルが見つからなくなるまで繰り返す
GYO1 = 2
Do While strFilename <> ""
filelist.Cells(GYO1, 1).Value = strFilename
filelist.Cells(GYO1, 2).Value = strPath & "\" & strFilename
GYO1 = GYO1 + 1
' 次のファイル名を取得
strFilename = Dir()
Loop
'ソート
Range("A1").CurrentRegion.Sort key1:=Range("A2"), Order1:=xlAscending, Header:=xlYes
End Sub
Sub ブック保護_Click()
Dim Srcbook As Workbook
Dim Dstbook As Workbook
Dim Dstsheet As Worksheet
Dim filelist As Worksheet
Dim r As Range
Dim file_name As String
Set Dstbook = Workbooks("2019年調査ファイル保護・解除.xlsm")
Set filelist = Dstbook.Sheets("読み込むファイル一覧")
Application.ScreenUpdating = False
For Each r In filelist.Range("B2:B700")
file_name = r.Value
Set Srcbook = Workbooks.Open(fileName:=file_name, UpdateLinks:=0)
Srcbook.Protect Password:="20190828", Structure:=True, Windows:=False
Srcbook.Close SaveChanges:=True
Next r
Application.ScreenUpdating = True
End Sub
Sub シート保護_Click()
Dim Srcbook As Workbook
Dim Dstbook As Workbook
Dim Srcsheet As Worksheet
Dim Dstsheet As Worksheet
Dim filelist As Worksheet
Dim r As Range
Dim file_name As String
Set Dstbook = Workbooks("2019年調査ファイル保護・解除.xlsm")
Set filelist = Dstbook.Sheets("読み込むファイル一覧")
Application.ScreenUpdating = False
For Each r In filelist.Range("B2:B700")
file_name = r.Value
Set Srcbook = Workbooks.Open(fileName:=file_name, UpdateLinks:=0)
Set Srcsheet = Srcbook.Sheets("調査情報")
Srcsheet.Protect Password:="20190828"
Srcbook.Close SaveChanges:=True
Next r
Application.ScreenUpdating = True
End Sub
お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!
似たような質問が見つかりました
- Visual Basic(VBA) ExcelVBAに関する質問 3 2023/02/17 10:47
- Visual Basic(VBA) 【ご教示ください】VBAの記述方法がわかりません。 2 2022/08/12 21:28
- Visual Basic(VBA) VBAのユーザーフォームのテキストボックスに入力制限をしたい 6 2022/11/15 08:28
- Visual Basic(VBA) 【前回の続き続きです、ご教示ください】VBAの記述方法がわかりません。 2 2022/08/24 20:49
- Visual Basic(VBA) 【前回の続きです、ご教示ください】VBAの記述方法がわかりません。 2 2022/08/16 16:44
- Visual Basic(VBA) VBAが止まります。 2 2022/09/02 14:02
- Visual Basic(VBA) vbaのエラー対応(実行時エラー7:メモリが不足しています) 4 2023/04/24 00:20
- Visual Basic(VBA) このVBAでExcelアプリケーションを作成は必要ですか? 3 2023/07/19 21:13
- Excel(エクセル) VBAの指示の内容 昨日こちらでご教示頂いたのですが初心者な為、一つ一つの指示が何をやっているのかわ 2 2022/10/25 18:08
- Visual Basic(VBA) VBAが止まります。 3 2022/08/31 14:09
関連するカテゴリからQ&Aを探す
おすすめ情報
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
同一の番号のデータを一行に纏...
-
excelブックの保護マクロがうま...
-
XMLデータを変換し印刷する方法
-
FL StudioでMIDIファイル書き出...
-
共有フォルダに誰が何にアクセ...
-
[ファイルの上書きの確認]ダイ...
-
tmpファイル なぜできる?削除...
-
USBメモリーのファイルの一部消...
-
【アクセス】「ほかのユーザー...
-
月が変わったら自動でシートが...
-
事務の派遣で働いています。多...
-
【Excel】[Expression.Error] ...
-
アクセスとワードへの差し込み印刷
-
AccessにリンクさせたExcelファ...
-
VBAでCSVファイルが使用中かど...
-
メールで送られてきたワードの...
-
VB6.0でファイルの一行だけ削除...
-
amifldrv64.sysについて教えて...
-
DB2のエラーコードについて
-
Accessのmdbを開こうとしたとき...
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
【Excel】[Expression.Error] ...
-
共有フォルダに誰が何にアクセ...
-
Batch: フォルダ内の特定のファ...
-
特定のエクセルファイルを起動...
-
VBAでCSVファイルが使用中かど...
-
社内Excel共有ブックでの保存ト...
-
Access VBA を利用して、フォル...
-
(Excelマクロ)datファイルをエ...
-
AccessVBAで作成したExcelファ...
-
事務の派遣で働いています。多...
-
excelを共有ファイルにすると行...
-
【アクセス】「ほかのユーザー...
-
拡張子が「cda」のファイルを聞...
-
月が変わったら自動でシートが...
-
Excel VBA 処理後データが重た...
-
WEBクエリが使えない場合のHPデ...
-
access関数を説明できる方いま...
-
ファイルの途中に文字列を挿入
-
特定のフォルダに入れたファイ...
-
tmpファイル なぜできる?削除...
おすすめ情報