VBA初心者です。
VBAでExcelのブック保護を設定したいのですが、上手くいきません・・。
下記のコードで実行してみた結果、
【1回目】ブック保護が"設定"されました。
【2回目】ブック保護が"解除"されました。
▼コード▼
ThisWorkbook.Protect Password:="1234"
なぜ2回目になると解除されてしまうのでしょうか・・。解除するメソッドは「Unprotect」のはずですよね・・?
VBAを実行した際は、必ずブック保護が設定された状態にしたいので困っています・・。
コードに不足があるのでしょうか?
他に考えられる原因はありますか?
調べてみても分からなかったので、ご教示いただけますと幸いです。
よろしくお願いします。
No.1ベストアンサー
- 回答日時:
こんにちは、
バージョンを知りたいところですが、Excel2016は同様ですね。
詳しく調べていませんが、なんか、仕様変更?知りませんでした。
何か良い方法があるかも知れませんが、その場しのぎかも知れませんが、保護されているかを調べ保護されていれば、実行しないみたいにすると思います。
https://support.microsoft.com/ja-jp/office/%E3%8 …
を見るとProtectWindowsが使えそうもないので エラートラップで取敢えず代用してこんな感じ。
On Error GoTo OkProtect
With ActiveWorkbook
.Sheets(1).Name = .Sheets(1).Name
.Protect Password:="1234"
End With
OkProtect:
保護がかかって要ればエラーが返り指定ラベル迄処理が飛びます。
シート名変更を許していれば(Excel2010以前?)エラーにならないですが。。
ご回答ありがとうございます。
ご提示いただきましたコードで、無事に希望通りの動作を実現させることができました・・!
大変勉強になりました!ありがとうございます!
お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!
似たような質問が見つかりました
- Excel(エクセル) 【困っています】VBA 追加処理の記述を教えてください。 1 2022/08/25 22:54
- Excel(エクセル) Excelのマクロコードについて教えてください。 1 2022/03/27 10:47
- Visual Basic(VBA) ExcelのVBAコードについて教えてください。 1 2023/08/10 14:24
- Visual Basic(VBA) 【困っています2】VBA 追加処理の記述を教えてください。 2 2022/08/26 11:42
- Visual Basic(VBA) EXCEL VBA 単語置き換え について質問です ブック名 ぶぶぶ シート名 ししし セル V3〜 3 2023/03/08 01:41
- Visual Basic(VBA) エクセルのマクロについて教えてください。 1 2022/03/28 14:52
- Visual Basic(VBA) Excelのマクロコードについて教えてください。 1 2022/03/27 13:25
- Visual Basic(VBA) エクセルのマクロについて教えてください。 1 2023/08/10 11:34
- Visual Basic(VBA) VBAについて教えてください 4 2022/11/10 12:44
- Visual Basic(VBA) エクセルのマクロについて教えてください。 5 2023/06/02 08:44
関連するカテゴリからQ&Aを探す
おすすめ情報
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
実行時エラー 438になった時の...
-
ExcelVBA Range クラスの Page...
-
ADODB.Streamを使用してUTF-8を...
-
なぜこんな初歩的なVBAのIf文で...
-
Outlook.ApplicationをCreateOb...
-
エクセルエラー13型が一致しま...
-
vbaのvlookup関数エラー原因を...
-
プロシージャ名の取得
-
VBAがブレークモードになっ...
-
VB6 エラー「プロシージャの呼...
-
ExcelVBAで、ユーザー定義型は...
-
【Excel VBA】マクロをボタンに...
-
Excelで下記のようにマクロを作...
-
1列目の何行目に検索文字がある...
-
UWSCのビジー待ちで60秒経った...
-
DataGridView からの値取得に関...
-
トランスポートレベルのエラー
-
VBAの実行時エラー91!どうしよ...
-
VBからAccessへの接続でエラー
-
ExcelVBAでsortしようとしたと...
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
実行時エラー 438になった時の...
-
エクセルエラー13型が一致しま...
-
【Excel VBA】マクロをボタンに...
-
なぜこんな初歩的なVBAのIf文で...
-
VBAでのエラー
-
マクロについて教えてください...
-
ExcelVBA Range クラスの Page...
-
実行時エラー3001「引数が間違...
-
VBS実行時エラー オブジェクト...
-
VBAがブレークモードになっ...
-
OLEDB.NETで接続できない
-
プロシージャ名の取得
-
EXCEL VBAマクロ中断でデバッグ...
-
VBSで変数の宣言はできないので...
-
ADODB.Streamを使用してUTF-8を...
-
実行時エラー -'-2147417848
-
AccessVBAでExcelを起動し、罫...
-
VB6+SQL サーバー 2000 で 実行...
-
Outlook.ApplicationをCreateOb...
-
Application.ActiveInspectorで...
おすすめ情報