トップ回答者
[Excel 2016] ウィンドウの保護解除はできないのでしょうか

質問
-
今更なのですが Excel 2016 (実際にはおそらく Excel 2013 以降) では
ウィンドウの構成保護 (Workbook オブジェクトの ProtectWindows プロパティ) を
解除することはできないのでしょうか。Workbook.Protect , False, False で ProtectWindows プロパティを False にできません。
Excel 2013 以降ではウィンドウの構成保護機能が廃止されているものの、
以前のバージョンで保護していたブックを開いたときは保護自体は有効なので
一部の機能が使えなくなっています。なお、Workbook.UnProtect でも効果がありません。
回答
すべての返信
-
試したところ、Excel2013でも同じ問題が発生しました。
Protectを再設定したり、UnProtectしたりと試しましたが解除できませんでした・・・
もしかして、2010以前のバージョンがないと解除できないのかも。
手動で良いなら、ブックファイルの拡張子をZIPにして中身を参照し、xl\[シート名].xml の中にある <sheetView> タグの windowProtection 属性を丸ごと消せば解除できます。
やっぱり、そうなんですね。
実は以前のバージョンでウィンドウの保護が設定されているブックを参照する
一応、ブックの XML を修正することで解除できるのは知っていましたが
VBA をデバッグする際に巣超す思うところがあって NewWindow メソッドで
新規ウィンドウを作ろうとしたら新規ウィンドウはウィンドウの保護が
設定されていると実行できないみたいでエラーになったので解除しようとしたら
できなかったので質問しました。<sub></sub><sup></sup><strike></strike>
このブックの保護状態はそのままにしておきたいので残念ながらこの方法は
使えません。
まあ、絶対にやりたいことではなかったし、できないということが分かっただけで
よかったです。なお、以下のようにブックの保護を解除している状態ではブック構成の保護が
有効になっているような表示がされるものの選択すると保護の設定画面が
表示されてしまいます。