家・車以外で、人生で一番奮発した買い物

エクセルVBAでブックが保護されているのかどうかを判定するにはどう書けばいいのでしょうか?

If ActiveWorkbook.Protect Then

ではだめでした。

また、シート保護の判定方法も教えてください。

A 回答 (3件)

こんにちは。

こんな感じで判別できますけど、もっと簡単な方法あるのかな?

・ブックが保護されているか?

  With ActiveWorkbook
    If (.ProtectStructure Or .ProtectWindows) Then
      MsgBox "ブックは保護されてます"
    Else
      MsgBox "ブックは保護されてません"
    End If
  End With

・シートが保護されているか?

  With ActiveSheet
    If (.ProtectContents Or .ProtectDrawingObjects Or .ProtectScenarios) Then
      MsgBox "シートは保護されてます"
    Else
      MsgBox "シートは保護されてません"
    End If
  End With
    • good
    • 3
この回答へのお礼

お礼がおそくなり大変申し訳ありませんでした。
ありがとうございました。

お礼日時:2006/08/24 11:29

「ツール」→「保護」→「ブックの保護」を選択すると


 □シート構成
 □ウィンドウ
があります。シート構成に対応するプロパティが
 ActiveWorkbook.ProtectStructure

ウィンドウに対応するプロパティが
 ActiveWorkbook.ProtectWindows
になります。どちらもタイプはBooleanです
    • good
    • 1
この回答へのお礼

お礼がおそくなり大変申し訳ありませんでした。
ありがとうございました。

お礼日時:2006/08/24 11:30

MsgBox "シート構成:" & ActiveWorkbook.ProtectStructure & Chr(10) & _


     "ウィンドウ:" & ActiveWorkbook.ProtectWindows
で、判断できます。(Excel2000)

シート構成が保護されていれば、は、
If ActiveWorkbook.ProtectStructure = True Then
でいかがでしょうか。
    • good
    • 0
この回答へのお礼

お礼がおそくなり大変申し訳ありませんでした。
ありがとうございました。

お礼日時:2006/08/24 11:28

お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!

このQ&Aを見た人はこんなQ&Aも見ています


おすすめ情報

このQ&Aを見た人がよく見るQ&A