Word VBAで選択範囲のフォント設定を変更する方法とそのプロパティまとめ

★気に入ったらシェアをお願いします!

みなさん、こんにちは!
タカハシ(@ntakahashi0505)です。

Word VBAで色々な検索&置換をする方法についてお伝えしています。

前回はコチラの記事。

Word VBAでカーソル位置から連続で検索をして蛍光ペンでハイライトをする
Word VBAで色々な検索&置換をする方法についてお伝えしています。Word VBAで連続して検索して蛍光ペンでハイライトをする方法についてお伝えします!Executeメソッドのイケてる機能がポイントです。

カーソル位置以降を検索してマッチした文字列に蛍光ペンでハイライトをする方法についてお伝えしました。

さて、蛍光ペンは良いのですが、そもそもWord VBAで検索したときに設定できる書式って、どんなものがありましたっけ?

その多くはFontオブジェクトのプロパティが担っていて、とっても多くの種類があります。

ということで、今回はWord VBAでフォントの設定を変更する方法と、そのプロパティを一挙にまとめました

では、いってみましょう。

前回のおさらい

前回はカーソル位置以降の検索を行って、マッチした文字列に蛍光ペンでハイライトをするというプログラムを作りました。

検索するのはいいのですが、蛍光ペンだけでなくて、テキストの置換とか書式の設定とか、ほかにも色々とやりたいことがありますよね。

今回は、まずフォントの設定について変更をする方法についてお伝えします。

Fontオブジェクトとは

以前、こちらの記事でWordにおける書式設定は文字書式と段落書式の二種類があるということをお伝えしました。

Word VBAを使うなら知っておくべき「段落」の話とその操作方法
初心者向けのWord VBAのシリーズということで便利な文字を入力するマクロの作り方をお伝えしています。Word VBAで段落を表すParagraphオブジェクトとその操作方法についてお伝えしていきます。

スタイル、インデント、配置などそういったものは段落書式が担っていて、段落単位で設定をするものです。

フォントの種類、サイズなどそういう書式は文字書式といって、文字単位で設定していくものですが、Word VBAにおいてその多くはFontオブジェクトが担っています。

Fontオブジェクトは対象となる文字列のフォントの設定を表します。

検索結果に文字列に下線を引く

蛍光ペンはSelectionオブジェクトから直接設定できなかったのですが、FontオブジェクトはSelectionオブジェクトから取得することができます。

Selection.Font

つまり、現在の選択範囲のフォント設定ってなわけですね。

Fontオブジェクトには、それこそたくさんプロパティを持っていて、その一つ一つがいろいろな設定を保持しているのですが、まずは一例として、みんな大好きアンダーラインを使ってみましょうか。

アンダーラインはFontオブジェクトのUnderlineプロパティです。

Fontオブジェクト.Underline = True/False

当然、Trueなら下線あり、Falseなら下線なしになりますので、検索結果に下線を引くプロシージャは以下のようになりますね。

これを実際に実行すると

Word VBAで検索文字列に下線を引く

このようにマッチした文字列に下線を引くことができるというわけです。

Fontオブジェクトのプロパティまとめ

Fontオブジェクトですが、本当にたくさんのプロパティを持っています。全部が全部使うことはそうそうないと思いますが、なるべく多く紹介します。

書式のオン・オフを設定するプロパティ

まず、わかりやすくTrueまたはFalseの値を持つプロパティです。Trueにすれば有効になります。

プロパティ 機能
AllCaps 大文字
Bold 太字
DoubleStrikeThrough 二重取消線
Emboss エンボス
Engrave 浮彫
Italic 斜体
Outline 中抜き
Shadow 影付き
SmallCaps 小型英文字
StrikeThrough 取り消し線
Subscript 下付き
Superscript 上付き
Underline 下線のオン/オフおよび種類

これだけでも、たくさんありますね~。

Underlineプロパティだけは、TrueまたはFalse以外に、WdUnderline定数を指定することで下線の種類を設定できたりします。

数値や文字列で書式を設定するプロパティ

続いて、数値や文字列を値として持つプロパティです。

おそらくよく使いそうなのはフォントの種類のNameプロパティ、サイズのSizeプロパティですよね。

プロパティ 機能
EmphasisMark 傍点 WdEmphasisMark定数
Name フォント名 文字列
Position ベースラインからの位置 数値(pt)
Scaling 水平方向の拡大縮小倍率 数値(%)
Size フォントサイズ 数値(pt)
Spacing 文字の間隔 数値(pt)

オブジェクトで書式を設定するプロパティ

続いて、専用のオブジェクトでさらに詳細の設定をしていくタイプのプロパティです。

一つ一つ紹介することはできませんが、気になるものがあれば調べてみてください。

プロパティ 機能
Borders 文字列の罫線 Boardersコレクション
Duplicate Fontオブジェクトのコピー Fontオブジェクト
Fill 塗りつぶしの書式 FillFormatオブジェクト
Glow 光彩の書式 GrowFormatオブジェクト
Parent 親オブジェクト オブジェクト
Reflection 反射の書式 ReflectionFormat オブジェクト
Shading 網掛け書式 Shadingオブジェクト
TextColor 色の書式 ColorFormat オブジェクト
TextShadow 影付き書式 ShadowFormat オブジェクト
ThreeD 3D効果の書式 ThreeDFormat オブジェクト

まとめ

Word VBAでフォント設定を変更する方法と、Fontオブジェクトのプロパティのまとめということでお送りしました。

たくさんあってげんなりしてしまったかも知れませんが、実際に使うのはこのうちのいくつかだと思いますので、ザーっと見ておくだけでよいと思います。

では、次回はいよいよ置換の方法です。基本の3つのパターンを徹底解説しますよ!

Word VBAで文字列を置換する方法!いくつかの基本パターンを徹底解説
Word VBAでいろいろな検索や置換をする方法についてお伝えしています。Word VBAで置換をする方法は、いくつかのパターンがありますので、それぞれの組み方と特徴を徹底解説をしていきます。

どうぞお楽しみに!

連載目次:Word VBAで色々な検索&置換をする方法

Word VBAのFindオブジェクトを使えば色々な条件で目的を探し当てて置換、書式設定、その他、いろいろな処理を施すことができます。Word VBAの検索の最初の一歩から順番にお伝えしていきます!
  1. Word VBAで文字列を検索するFindオブジェクトを使った最も基本のプログラム
  2. Word VBAでカーソル位置から連続で検索をして蛍光ペンでハイライトをする
  3. Word VBAで選択範囲のフォント設定を変更する方法とそのプロパティまとめ
  4. Word VBAで文字列を置換する方法!いくつかの基本パターンを徹底解説
  5. Word VBAで検索オプションを設定して検索をする方法とそのプロパティ一覧
  6. Word VBAで検索の方向を変更する方向と文書全体を検索する方法
  7. Word VBAでワイルドカードを使ったパターン検索をする方法
  8. Word VBAでワイルドカードを使ってパターンで超便利な置換をする方法