お世話になります。
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の書込み保護関連の仕様が変更になったのでしょうか?
今後マクロを修正する必要があるのか判断できないため、情報をお持ちの方がいらっしゃれば、ご教示いただきたく存じます。