スキップしてメイン コンテンツへ

 none
[Excel 2016] ウィンドウの保護解除はできないのでしょうか RRS feed

  • 質問

  • 今更なのですが Excel 2016 (実際にはおそらく Excel 2013 以降) では
    ウィンドウの構成保護 (Workbook オブジェクトの ProtectWindows プロパティ) を
    解除することはできないのでしょうか。

    Workbook.Protect , False, False で ProtectWindows プロパティを False にできません。

    Excel 2013 以降ではウィンドウの構成保護機能が廃止されているものの、
    以前のバージョンで保護していたブックを開いたときは保護自体は有効なので
    一部の機能が使えなくなっています。

    なお、Workbook.UnProtect でも効果がありません。

    2019年9月10日 8:37

回答

  • 試したところ、Excel2013でも同じ問題が発生しました。

    Protectを再設定したり、UnProtectしたりと試しましたが解除できませんでした・・・

    もしかして、2010以前のバージョンがないと解除できないのかも。

    手動で良いなら、ブックファイルの拡張子をZIPにして中身を参照し、xl\[シート名].xml の中にある <sheetView> タグの windowProtection 属性を丸ごと消せば解除できます。

    • 回答としてマーク infade 2019年9月12日 6:34
    2019年9月10日 12:33
  • 想像でしかありませんが、シングルインターフェイスに仕様を変えた際に、この件のチェックが行き届かなかったのでしょうか。

    レアなケースゆえに、今になっても残存している不具合なのでしょうね。
    • 回答としてマーク infade 2019年9月12日 6:35
    2019年9月12日 6:03

すべての返信

  • 試したところ、Excel2013でも同じ問題が発生しました。

    Protectを再設定したり、UnProtectしたりと試しましたが解除できませんでした・・・

    もしかして、2010以前のバージョンがないと解除できないのかも。

    手動で良いなら、ブックファイルの拡張子をZIPにして中身を参照し、xl\[シート名].xml の中にある <sheetView> タグの windowProtection 属性を丸ごと消せば解除できます。

    • 回答としてマーク infade 2019年9月12日 6:34
    2019年9月10日 12:33
  • 試したところ、Excel2013でも同じ問題が発生しました。

    Protectを再設定したり、UnProtectしたりと試しましたが解除できませんでした・・・

    もしかして、2010以前のバージョンがないと解除できないのかも。

    手動で良いなら、ブックファイルの拡張子をZIPにして中身を参照し、xl\[シート名].xml の中にある <sheetView> タグの windowProtection 属性を丸ごと消せば解除できます。

    やっぱり、そうなんですね。

    実は以前のバージョンでウィンドウの保護が設定されているブックを参照する
    VBA をデバッグする際に巣超す思うところがあって NewWindow メソッドで
    新規ウィンドウを作ろうとしたら新規ウィンドウはウィンドウの保護が
    設定されていると実行できないみたいでエラーになったので解除しようとしたら
    できなかったので質問しました。<sub></sub><sup></sup><strike></strike>

    一応、ブックの XML を修正することで解除できるのは知っていましたが
    このブックの保護状態はそのままにしておきたいので残念ながらこの方法は

    使えません。

    まあ、絶対にやりたいことではなかったし、できないということが分かっただけで
    よかったです。

    なお、以下のようにブックの保護を解除している状態ではブック構成の保護が
    有効になっているような表示がされるものの選択すると保護の設定画面が
    表示されてしまいます。

    2019年9月12日 4:31
  • 想像でしかありませんが、シングルインターフェイスに仕様を変えた際に、この件のチェックが行き届かなかったのでしょうか。

    レアなケースゆえに、今になっても残存している不具合なのでしょうね。
    • 回答としてマーク infade 2019年9月12日 6:35
    2019年9月12日 6:03