エクセル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
お礼
Wendy02 さん お世話になっています。 >.ExclusiveAccess この1行が効きました。 無事に解除が出来ます。 ちなみに "00" は Filename になるようです。 有難う御座いました。