• 締切済み

【Word2007】マクロで保護するとエラーになる場合がある

Word2007を使用しています。 マクロで保護をしているのですが、 以下のケースでエラーとなってしまいます。 1.Wordを起動する。 2.[挿入]⇒[テキストボックス]⇒[エキストラ - サイドバー] 3.[開発]⇒[デザインモード] 4.テキストボックスの中を選択する。 5.以下のマクロを実行する。 Sub main() ActiveDocument.Protect (wdAllowOnlyReading) End Sub エラーメッセージは以下の通りです。 現在の選択範囲は書式変更が禁止されています。、Protectメソッドまたはプロパティは使用できません。 メソッドを使用できないのは良いのですが、 プログラムから事前に判断できないものかと思っています。 現在、保護できる状態にあるかどうかを判断する方法を ご存じでしたら教えて頂けませんか? ぜひよろしくお願い致します。

みんなの回答

  • xls88
  • ベストアンサー率56% (669/1189)
回答No.1

If ActiveDocument.ProtectionType = wdNoProtection Then ActiveDocument.Protect (wdAllowOnlyReading) End If

rock123
質問者

お礼

ご回答ありがとうございます。 試してみました。 しかし、添付した画像ファイルのエラーが発生してしまいました。 ProtectionTypeではドキュメントが保護されているかどうか を見ているのですよね? 今回のケースでは、ドキュメントは保護されていないため、 If文の中に入ってしまいます。 私もなぜか分からないのですが、選択されている場所が悪いために 保護できないようなのです。 テキストボックスの中ではなく、Wordのドキュメントの本文を 選択してProtectメソッドを実行すれば、 正しく保護されますので。。。 ご回答ありがとうございました。 まだ解決できておりませんので、解決方法がございましたら、 ご教示お願い致します。

関連するQ&A