タイトルのようにフォルダの中にある全てのブックの一括保護、解除を行いたいのですがそれぞれのブック内にシートが複数含まれています(シート数はバラバラです、パスワードはありません)。
希望としてはマクロ用ブックと処理対象のブックを同一フォルダに入れた状態で作動するようにしたいです。(同一フォルダ内の自ブック以外のブックに対してブック・シートの保護/解除を一括処理したい)
似たような案件を見つけたのですが
・フォルダの中にある全てのブックの一括保護、解除(1シートのみ)
や
・全てのシートの一括保護、解除(1ブックのみ)
しか見つけられませんでした。
私自身使えそうなマクロをコピーして使うことぐらいしか出来ないのでもしよろしければご協力お願い致します。
A 回答 (3件)
- 最新から表示
- 回答順に表示
No.3
- 回答日時:
こんにちは。
時々、ここの掲示板に出て来る質問です。
'//標準モジュール
Private Const myFOLDER As String = "C:\Users\Test1\" '末尾は¥を付けること
Private Const mPW As String = "123"
Sub SheetsInAllBooksProtect()
Dim fName As String
Dim ws As Worksheet
fName = Dir(myFOLDER & "*.xls?", vbNormal)
Application.ScreenUpdating = False
Do While fName <> ""
If fName <> "." And fName <> ".." Then
If (GetAttr(myFOLDER & fName) And vbNormal) = vbNormal Then
On Error Resume Next
If fName <> ThisWorkbook.Name Then '仮に違うファイルでも、同じ名称のブックは開けない
With Workbooks.Open(myFOLDER & fName, , , , "", "")
If Err.Number = 0 Then
Err.Clear
For Each ws In .Worksheets
ws.Protect Password:=mPW
''ws.Unprotect mPW 'プロテクト解除
Next
End If
.Save
.Close False
End With
End If
End If
End If
fName = Dir
Loop
Application.ScreenUpdating = True
MsgBox "とりあえず終了しましたが、調べてみてください。", vbInformation
End Sub
No.1
- 回答日時:
一つのシートの一括保護、解除は調べてわかるとの事ですので、
複数ブックの中の複数シートの繰り返し処理だけ書きます。
Sub Sample()
Dim fpath As String, fname As String
Dim wb As Workbook
Dim shcnt As Integer
Application.ScreenUpdating = False
Application.DisplayAlerts = False
fpath = ThisWorkbook.Path & "\"
fname = Dir(fpath & "*.xlsx", vbNormal)
Do Until fname = ""
If fname <> ThisWorkbook.Name Then
Set wb = Workbooks.Open(fpath & fname)
For shcnt = 1 To wb.Worksheets.Count
'シート保護・解除処理
Next shcnt
End If
wb.Close SaveChanges:=True
fname = Dir()
Loop
Application.DisplayAlerts = True
Application.ScreenUpdating = True
End Sub
お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!
似たような質問が見つかりました
- Visual Basic(VBA) エクセルのマクロについて教えてください。 4 2023/05/24 08:33
- Excel(エクセル) フォルダ内の全ブックのシート名を変更したい 7 2022/09/22 21:34
- Excel(エクセル) 【困っています】VBA 追加処理の記述を教えてください。 1 2022/08/25 22:54
- Visual Basic(VBA) エクセルのマクロについて教えてください。 2 2023/02/07 09:58
- Visual Basic(VBA) エクセルのマクロについて教えてください。 5 2023/06/02 08:44
- Visual Basic(VBA) 【前回の続き続きです、ご教示ください】VBAの記述方法がわかりません。 2 2022/08/24 20:49
- Excel(エクセル) 複数のブックをひとつのブック(複数のシートにまとめる)場合にシートとの順番について 5 2022/12/28 20:47
- Excel(エクセル) エクセルのマクロについて教えてください。 1 2023/02/21 09:28
- Excel(エクセル) エクセルのマクロについて教えてください。 1 2023/02/20 10:00
- Visual Basic(VBA) エクセルのマクロについて教えてください。 2 2023/07/16 14:36
このQ&Aを見た人はこんなQ&Aも見ています
-
新NISA制度は今までと何が変わる?非課税枠の拡大や投資対象の変更などを解説!
少額から投資を行う人のための非課税制度であるNISAが、2024年に改正される。おすすめの銘柄や投資額の目安について教えてもらった。
-
フォルダ内の複数ブック・シートを一括保護/解除する
PowerPoint(パワーポイント)
-
EXCELで複数のシートを一度に「シートの保護」することはできますか?
Excel(エクセル)
-
複数シートの保護・解除
Excel(エクセル)
-
-
4
エクセルで複数ファイルに同一のパスワードをまとめて設定したいです
Excel(エクセル)
-
5
Excelマクロ パスワードを入力して、全シート一括保護解除したい。
その他(Microsoft Office)
関連するカテゴリからQ&Aを探す
おすすめ情報
このQ&Aを見た人がよく見るQ&A
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
エクセルを共有するとPCによっ...
-
WorkBooksをオープンさせずにシ...
-
VBAでブックを非表示で開いて処...
-
エクセルの関数 ENTERを押...
-
フォルダ内の複数ファイルから...
-
【マクロ】【VBA】別ブックへの...
-
Excelでブックの共有を掛けると...
-
エクセルシートの一部を送りたい
-
VBA バックグラウンドで別ブッ...
-
エクセルで参照しているデータ...
-
Excelで指定範囲のデータ...
-
Excelファイルを開いても何も表...
-
Excel起動時に特定のワークシー...
-
エクセルファイルのバージョン...
-
エクセル 複数のブックを一度...
-
ブックのピボットを別ブックに...
-
シートを別のブックに複数自動...
-
VBAでブック保護非保護を判定す...
-
Excel VBA セルと同じ名前のブ...
-
エクセルで別ブックをバックグ...
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
エクセルの関数 ENTERを押...
-
VBAでブックを非表示で開いて処...
-
エクセルを共有するとPCによっ...
-
WorkBooksをオープンさせずにシ...
-
エクセルで参照しているデータ...
-
エクセルで「ディスクがいっぱ...
-
Excelでブックの共有を掛けると...
-
Excelで複数ブックの同一セルに...
-
Excel(2010)のフィルターが保...
-
エクセルで別ブックをバックグ...
-
エクセルにおける,「ブック」...
-
同じフォルダへのハイパーリン...
-
ブックのピボットを別ブックに...
-
エクセルファイルを開かずにpdf...
-
エクセル2016です。「ブッ...
-
ブックの保護ができないんです...
-
エクセルで50行ごとに区切った...
-
エクセルシートの一部を送りたい
-
フォルダ内の複数ファイルから...
-
エクセル 複数のブックを一度...
おすすめ情報