MSDNフォーラムに「PowerPoint 2016で、マクロで選択中の図形をハイライトすると、文字列の書式が勝手に変わってしまう」といった質問がありました。
確認してみると、たしかに先頭の文字の書式が後の文字にまで反映されてしまっているようです。
Public Sub Sample() With ActiveWindow.Selection Select Case .Type Case ppSelectionShapes, ppSelectionText .TextRange2.Font.Highlight = vbYellow End Select End With End Sub
PowerPointのバージョンが原因かもしれませんが、他のバージョンでは確認していないので分かりません。
そこで、選択している文字列を一文字ずつハイライトするように処理を変更したところ、書式が勝手に変更されなくなりました。
Public Sub HighlightShapeText() Dim char As Office.TextRange2 With ActiveWindow.Selection Select Case .Type Case ppSelectionShapes, ppSelectionText For Each char In .TextRange2.Characters char.Font.Highlight = vbYellow Next End Select End With End Sub
コードが若干長くなってしまいますが、とりあえずはこれで目的が達成できるかと思います。
この記事へのコメントはありません。