エクセルVBA/原因不明の保護解除?!
下記のコードを実行すると、終了後次回立ち上げたとき、シートの保護が解除されています。
コードではオブジェクトを含めてシートを保護し、終了時には「保存」をしているのですが、なぜか次の立ち上げでは保護が解除されています。
原因がわかりません。お助けください。
Sub Test01()
Dim s, i, cr
With ActiveSheet
.Protect Password:="aaa", DrawingObjects:=False, Contents:=True, Scenarios:= _
True, UserInterfaceonly:=True 'オブジェクトのみ保護解除
Cells.Interior.ColorIndex = 1 'シートを黒色に
Set s = .Shapes.AddShape(msoShape4pointStar, 100#, 125#, 200#, 200#) '星を配置
s.Fill.Visible = msoTrue
s.Fill.Solid
Randomize
cr = Int((30 * Rnd) + 1)
s.Fill.ForeColor.SchemeColor = cr '色をランダムに
For i = 1 To 300 '点滅
s.Visible = False
DoEvents
s.Visible = True
DoEvents
Next
s.Delete '星を削除
.Protect Password:="aaa", DrawingObjects:=True, Contents:=True, Scenarios:= _
True, UserInterfaceonly:=True 'オブジェクトも保護
Cells.Interior.ColorIndex = 0 'シートをもとにもどす
End With
ActiveWorkbook.Close '終了する
End Sub
補足
ご回答、ありがとうございます。 VBA作成対象はエクセル2000で、AllowFormattingCellsなどの プロパティはサポートされないようです・・・。 どうすればよいでしょうか? まことにお手数ですが、お知恵をお借りしたく存じます。 よろしくお願いいたします。