none
Powerpoint2016の蛍光ペン機能をVBAで実行 RRS feed

  • 質問

  • こんにちは。

    Office365のPowerpoint2016に蛍光ペンの機能が搭載されたので、
    VBAでキーワードをハイライトするマクロを作成しています。

    選択部分を黄色くハイライトするところまではできたのですが、
    マクロを実行すると蛍光ペンを付けたテキストの文字サイズやカラーまで変わってしまいます。
    (フォントサイズは18pt、文字色は黒になってしまいます)

    元から設定されているサイズやカラーはそのままに、
    ハイライトだけ適用する方法をご存知でしたら、
    アドバイスを頂けるとありがたいです。

    Sub HighlightText()
        With ActiveWindow.Selection
            .TextRange2.Font.Highlight = vbYellow
        End With
    End Sub

    よろしくお願いいたします。

    2018年9月2日 15:52

回答

  • こんにちは。
    私も確認してみましたが、たしかにハイライト設定すると、先頭の文字列の書式が後の文字列にまで反映されてしまっているようですね。

    対策として、一文字ずつ処理してみてはいかがでしょうか。

    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


    2018年9月5日 0:44

すべての返信

  • こんにちは。
    私も確認してみましたが、たしかにハイライト設定すると、先頭の文字列の書式が後の文字列にまで反映されてしまっているようですね。

    対策として、一文字ずつ処理してみてはいかがでしょうか。

    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


    2018年9月5日 0:44
  • ご連絡が遅くなり、申し訳ありません。

    回答いただき、ありがとうございました。

    修正していただいたコードを試してみたのですが、うまくいく箇所といかない箇所がありました。

    いろいろと探ってみたところ、どうやら自分で新規に文字サイズやカラーを設定して
    作成したテキストボックスではうまくいくようなのですが、
    スライドマスターの設定が適用されているテキストボックスでは、その設定が外れてしまうようなのです。

    このマクロを使用したいファイルというのは、他の人が作成したファイルなので、
    良い方法がないかをもう少し考えてみます。。。

    また何かありましたら、よろしくお願いいたします。

    2018年10月11日 2:35