/ / Excel 2003のxlsxドキュメント構造の保護を解除する方法 - excel、vba、excel-vba

excel 2013のxlsxドキュメント構造の保護を解除する方法 - excel、vba、excel-vba

私はUnfreezePanesへの試みに失敗したマクロに問題があります。ドキュメントに構造保護があります。ビュー>ワークブックの保護>構造およびウィンドウ保護(2013バージョン)

2013年までのExcelバージョンでは、マクロに問題はありません。

Sub Unfreeze()
ActiveWorkbook.Unprotect
ActiveWindow.FreezePanes = False
End Sub

しかし、2013バージョンでは、 "ActiveWorkbook.Unprotect"がエラーなしで実行されても、構造変更の制限がドキュメントから取り消されない場合に問題に直面しました。これは、newt行 ActiveWindow.FreezePanes = False スロー:

エラー1004 "アプリケーション定義またはオブジェクト定義エラー"。

さらに、リボン上のFreezePanesボタンは、ドキュメントを開くたびにポップアップする「編集を有効にする」ボタンを押してもロックされます。

編集ボタンを有効にする

「編集を有効にする」ボタンを押すと「ActiveWorkbook.Unprotect」を実行すると、文書が保護されていることが表示されます。「表示」>「ワークブックの保護」>「構造がチェックされています。したがって、このウィンドウから直接保護されていない保護を削除しようとする試みは失敗します。しかし!私はこの窓からも保護を取り除くことができません! "構造"チェックボックスをオフにすると、[OK]ボタンがunavilebleになります!パスワードフィールドに記号をいくつか入力しても、「構造」チェックボックスがオフの場合でも[OK]ボタンを押すことができないため、保護にはパスワードがありません。

ロックを解除できません

この問題はExcel 2013で再現可能であり、vbaコードを使用してドキュメントのロックを解除する方法をアドバイスすると効果的です。

このドキュメントの例はここにあります

回答:

回答№1は1

ブックは部分的に保護されていない可能性がありますが、デジタル署名は保持されています。

デジタル署名

ファイル►情報►ワークブックの保護►詳細については、デジタル署名の追加をクリックします。それを変更するか、まったく削除すると、ペインのフリーズ/フリーズ解除が可能になりました。


回答№2の場合は0

以前のバージョンのexcelファイルを使って、私はactivesheet.unprotectをE2013のactivesheetに変更しました。

おそらく、あなたがunprotectへの呼び出しをworkbookの名前で、そしてfreezepanesの呼び出しと同じものにしようとするとしたら?

私はそれをテストしていない。