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
コードが若干長くなってしまいますが、とりあえずはこれで目的が達成できるかと思います。

















この記事へのコメントはありません。