Office関連

選択中の図形の文字列を蛍光ペンでハイライトするPowerPointマクロ

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

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

【アイカツフレンズ!】フレンズスカウト(友希あいね)に参加しました。前のページ

[Win32 API]PowerPointマクロにショートカットキーを割り当てる。次のページ

関連記事

  1. Office関連

    [Excel Services ECMAScript]アクティブセルが変更されたときのイベントを利用…

    埋め込んだExcelワークブックの、アクティブセルが変更されたときのイ…

  2. Office関連

    「ExcelVBAを実務で使い倒す技術」レビュー

    @ateitexeさんの下記ツイートで、高橋宣成氏が執筆された「Exc…

  3. Office関連

    Excel 2013で追加された「UNICHAR」関数を使って特殊文字を表示する。

    「Excel 2013で追加された「WEBSERVICE」関数を使って…

  4. Office関連

    [Excel Services ECMAScript]選択範囲が変更されたときのイベントを利用する。…

    埋め込んだExcelワークブックの、選択範囲が変更されたときのイベント…

  5. Office関連

    ZIP形式で圧縮・解凍を行うVBAマクロ

    この記事のように、処理の中でZIP形式のファイルを扱うことはありました…

  6. Office アドイン

    [Officeアドイン]ワークシートで選択範囲を変更したときに発生するイベント

    ワークシート上で選択範囲の変更を検知する際、VBAでは通常「Works…

コメント

  • コメント (0)

  • トラックバックは利用できません。

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

Time limit is exhausted. Please reload CAPTCHA.

※本ページはプロモーションが含まれています。

Translate

最近の記事

アーカイブ

PAGE TOP