

皆さん、お疲れ様です。

ふりがなを追加するには、このコードを使用しています。  
<https://stackoverflow.com/questions/34602598/how-to-add-phonetic-guides-to-
all-the-texts-at-once>

VBAでルビを削除するには、どうすればよいでしょうか。

宜しくお願いします。

ハシ


CC BY-SA 3.0
2016-07-07T07:59:16.130
27411
2016-07-07T10:50:31.990
2017-05-23T12:38:56.083
-1
17092
question
vba ms-word
MS WordのルビをVBAで削除したい


[`Range.PhoneticGuide`](https://msdn.microsoft.com/ja-
jp/library/office/ff840645.aspx)
メソッドのTextパラメータに空文字列を指定することで、ルビを削除することができます。対象となる `Range` オブジェクトを得るには、例えば
`ActiveDocument.Fields` プロパティなどが使えます。

[code]

    Sub 文章内の全てのルビを削除()
    For Each f In ActiveDocument.Fields
      f.Select
      Selection.Range.PhoneticGuide ""
    Next
    End Sub
    
[/code]

なおこのプロパティにはルビ以外のフィールドコードも含まれていますが、それらに対して `PhoneticGuide`
メソッドを使うとそのフィールドコードが壊れてしまいます。そのようなケースを避ける必要があれば、`Field.Code.FormattedText` や
`Field.Type` などでそれらしいかどうかを判別する必要があります。

参考

  * [ルビ削除のマクロの仕様？ - Goo知恵袋](http://otasuke.goo-net.com/qa3338446.html)
  * [Word2007(ワード2007)実用編：フィールドコードの使い方](http://www.eurus.dti.ne.jp/~yoneyama/Word2007/word2007-field.html)


CC BY-SA 3.0
2016-07-07T10:50:31.990
27426
2016-07-07T10:50:31.990
8000
27411
answer