Word2007 VBAで ShowParagraphの値を変更できない

Wordのオプション設定から「段落記号」を表示、「隠し文字」を非表示にできるのですが
VBAのプログラムからは同じことがができません。

Sub ChangeSetting

With ActiveDocument.ActiveWindow.View

.ShowAll = True

.ShowParagraph = True
.ShowHiddenText = False

End With

End Sub

ウォッチしたら、ShowParagraphの値が変わっていませんでした。

Word2000ではこのプログラムは正しく動きます。
Word2007でも手動ではこの設定ができるので、なぜVBAで出来ないのか分からなくて困っています。
呼び方の順序など、ルールがあれば教えてください。よろしくお願いします。

 

質問情報


最終更新日 2019年7月16日 表示 164 適用先:
回答
回答

調べてみると、日本語版Wordにおいてオプションのチェック項目であるShowParagraphsプロパティは、Word2007以降だと実行しても有効にならないようですね。

英語版だと有効なのかは、探してみましたが見つけられませんでした。

Word2003以前の情報は幾つか探すことができましたが、Word2007以降だと情報が少ないですね。

ShowParagraphsプロパティをToggleで動作をするように書き換えても、同じ項目にある他のチェック項目は動作するのにShowParagraphsプロパティのみ無意味になっているようです。

マクロ記録でも記録されるものなのに、マクロを実行しても無意味になるようですね。

そこで、ShowParagraphsプロパティのみ手動で有効なダイアログボックスから実行する方法を検討してみました。

Sub ChangeSetting()

  With ActiveDocument.ActiveWindow.View
    .ShowAll = True
    .ShowHiddenText = False
  End With

  If ActiveDocument.ActiveWindow.View.ShowParagraphs = False Then

    SendKeys ("{Tab}")
    SendKeys ("%m")

' 表示オプションをすぐに閉じたい場合は有効にする
' SendKeys ("{Enter}")

    Dialogs(wdDialogToolsOptionsView).Show

  End If

End Sub

これなら、ShowParagraphsプロパティを実行したときと同じ動作をしてくれると思います。

この回答で問題は解決しましたか?

役に立ちませんでした。

回答としてマークしていただきありがとうございます。

この返信の満足度をお教えください。

フィードバックをお送りいただきありがとうございます。今後のサイト改善に役立てて参ります。

この回答の満足度をお教えください。

フィードバックをお送りいただきありがとうございます。