none
Excel 2016にて、BookにWritePasswordを設定しても、書込み保護されない RRS feed

  • 質問

  • お世話になります。

    Workbooks.Addで新規Bookを作成し、そのBookのWritePasswordプロパティにパスワードを代入後、SaveAsで保存すると、新規Bookに書込み保護パスワードが設定されません。

    この現象はExcel 2016でOffice 更新プログラム6868.2060(2016年5月4日公開)以降を適用したところ発生し、Office 更新プログラム6769.2040以前適用のExcel 2016では発生しません。

    なお、複数のPCにてこの現象を確認し、いずれもOSはWindows 10です。

    以下、現象が発生するサンプルコードです。

    '新規Book作成 -> WritePassword設定 -> SaveAsを行うサンプルプログラム

    Public Sub testCreateBook()


        Dim wbNew As Workbook

        Dim strFileName As String


        'Create new book

        Set wbNew = Workbooks.Add


        'Set write password to new book

        wbNew.WritePassword = "aaaaa"


        strFileName = ThisWorkbook.Path & "\NewBook.xlsx"


        'Save new book

        wbNew.SaveAs FileName:=strFileName


        'Close new book

        wbNew.Close


        Set wbNew = Nothing


    End Sub


    上記sub実行後、NewBook.xlsxを開くと、パスワードの入力を要求されることなく、そのままファイルが書込み可能モードで開いてしまいます。

    また、wbNew.WritePassword = "aaaaa"実行後、wbNew.WriteReservedプロパティがTrueになるはずのところ、wbNew.WriteReservedはFalseのままで、ThisWorkbook.WriteReservedがTrueになります。

    こちらはDebug.Printにて確認しました。

    SaveAsの際、WriteResPassword:="パスワード"を指定すれば、正しく書込み保護されますが、使用者が多く、マクロの変更を避けたいため、Excel 2016の使用者には6868.2060以降の更新プログラムの適用を控えてもらっている状態です。


    更新プログラム(6868.2060)のリリース情報を参照しても関連すると思われる記述が見付からず、原因が分かりません。

    Excelの書込み保護関連の仕様が変更になったのでしょうか?

    今後マクロを修正する必要があるのか判断できないため、情報をお持ちの方がいらっしゃれば、ご教示いただきたく存じます。

    2016年7月27日 4:50