みなさん、こんにちは!
タカハシ(@ntakahashi0505)です。
PowerPoint VBAで選択した部分のフォントを変更するマクロの作り方をお伝えしています。
前回の記事はコチラ。
選択しているシェイプのフォントを変更するマクロの作り方をお伝えしました。
さて、スライド→シェイプ→…ときましたので、次は「テキスト」です。
では、PowerPoint VBAで選択しているテキスト範囲のフォントを変更するマクロの作り方について紹介していきます。
行ってみましょう!
選択している部分の取得のおさらい
では、再度「選択している部分」の取得についておさらいをしておきましょう。
コチラの記事で紹介していました、以下コードです。
Sub 選択状態を調べる()
With ActiveWindow.Selection
If .Type = ppSelectionNone Then Debug.Print "何も選択されていません"
If .Type >= ppSelectionSlides Then Debug.Print "スライドが選択されています"
If .Type >= ppSelectionShapes Then Debug.Print "シェイプが選択されています"
If .Type >= ppSelectionText Then Debug.Print "テキスト範囲が選択されています"
End With
End Sub
アクティブなウィンドウの「選択している部分」を取得、そのTypeプロパティを使って、その選択状態を判定しています。
今回テーマとしている「テキスト」が選択されていれば、「テキスト範囲が選択されています」とイミディエイトウィンドウに出力されるはずですね。
選択しているテキストを操作する
選択しているテキスト範囲を取得する
選択しているテキスト範囲を取得するには、SelectionオブジェクトのTextRangeプロパティを使います。
書式はコチラです。
以下の記事で紹介している方法であれば、シェイプに含まれるテキスト全体をTextRangeオブジェクトとして取得していましたね。
Selectionオブジェクトに対して実行をすれば、選択している箇所だけをTextRangeオブジェクトとして取得できるというわけです。
TextRangeオブジェクトを取得する例
例として、以下のようにいずれかのシェイプのテキストを選択した状態で…
コチラのプロシージャを実行してみましょう。
Sub 選択したテキスト範囲()
With ActiveWindow.Selection
If .Type >= ppSelectionText Then
Debug.Print "選択しているテキスト: " & .TextRange.Text
End If
End With
End Sub
イミディエイトウィンドウには、以下のように出力されました。
選択しているテキストのフォントを変更するプロシージャ
さて、では勢い余って選択テキストのフォントの変更をするプロシージャも作ってみましょう。
以下の記事でお伝えしている通り、TextRangeオブジェクトからFontプロパティでFontオブジェクトを取得できちゃうので簡単です。
プロシージャはコチラです。
Sub 選択したテキスト範囲のフォントを変更()
With ActiveWindow.Selection
If .Type >= ppSelectionText Then
With .TextRange.Font
.Name = "Meiryo UI"
.NameFarEast = "Meiryo UI"
.Color = RGB(89, 89, 89)
End With
End If
End With
End Sub
実行をすると、以下のようにフォントを変更することができますよ!
「うえ」の部分だけ、フォントが変更されましたよね。
まとめ
以上、PowerPoint VBAで選択しているテキスト範囲のフォントを変更するマクロの作り方をお伝えしました。
テキスト範囲はTextRangeオブジェクトで表されますが、Fontオブジェクトもすぐ取得できますし、すんなり便利ですね。
さて、では次回はこれまでの内容を踏まえてマクロを便利にしていきたいと思いますよ。
どうぞお楽しみに!
連載目次:初心者向けPowerPoint VBAで選択箇所を操作する
PowerPointでプレゼンテーションを作っている際に、「選択している部分のフォントを好きに変えたい!」ということありますよね。そのニーズに応えるマクロの作り方をシリーズでお伝えしていきます。- PowerPoint VBAでアクティブなウィンドウを取得する方法
- PowerPoint VBAで選択した部分を表すSelectionオブジェクトとその取得
- PowerPoint VBAのSelectionオブジェクトの4つのタイプについて理解しよう!
- PowerPoint VBAで選択しているスライドを操作するSlideRangeオブジェクト
- PowerPoint VBAで選択しているスライドのフォントを変更するマクロの作り方
- PowerPoint VBAで選択しているシェイプを操作するShapeRangeオブジェクト
- PowerPoint VBAで選択しているシェイプのフォントを変更するマクロの作り方
- PowerPoint VBAで選択しているテキスト範囲のフォントを変更するマクロの作り方
- PowerPoint VBAで選択した部分を判別してそのフォントを変更するマクロ
- PowerPoint VBAでフォームボタンからマクロを実行する方法