プロが教える店舗&オフィスのセキュリティ対策術

Word2007を使用しています。

マクロで保護をしているのですが、
以下のケースでエラーとなってしまいます。

1.Wordを起動する。
2.[挿入]⇒[テキストボックス]⇒[エキストラ - サイドバー]
3.[開発]⇒[デザインモード]
4.テキストボックスの中を選択する。
5.以下のマクロを実行する。

Sub main()
ActiveDocument.Protect (wdAllowOnlyReading)
End Sub

エラーメッセージは以下の通りです。
現在の選択範囲は書式変更が禁止されています。、Protectメソッドまたはプロパティは使用できません。

メソッドを使用できないのは良いのですが、
プログラムから事前に判断できないものかと思っています。

現在、保護できる状態にあるかどうかを判断する方法を
ご存じでしたら教えて頂けませんか?

ぜひよろしくお願い致します。

「【Word2007】マクロで保護するとエ」の質問画像

A 回答 (1件)

If ActiveDocument.ProtectionType = wdNoProtection Then


ActiveDocument.Protect (wdAllowOnlyReading)
End If
    • good
    • 0
この回答へのお礼

ご回答ありがとうございます。
試してみました。
しかし、添付した画像ファイルのエラーが発生してしまいました。

ProtectionTypeではドキュメントが保護されているかどうか
を見ているのですよね?
今回のケースでは、ドキュメントは保護されていないため、
If文の中に入ってしまいます。
私もなぜか分からないのですが、選択されている場所が悪いために
保護できないようなのです。

テキストボックスの中ではなく、Wordのドキュメントの本文を
選択してProtectメソッドを実行すれば、
正しく保護されますので。。。

ご回答ありがとうございました。
まだ解決できておりませんので、解決方法がございましたら、
ご教示お願い致します。

お礼日時:2009/04/30 21:42

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