使用中の文字サイズ検出するマクロ | みんなのワードマクロ

みんなのワードマクロ

ワードマクロで、文書作成とオフィス事務を効率化!!

文書で使用されている文字の大きさを表示するマクロです。


▼作成経緯

他の方がつくった文書って、その人のクセがありますよね。

ちなみに、私が作る文書もかなりクセがあります。


実害がない部分だと思うのですが、ヘッダーに案件番号を埋め込んであったり

文書ごとに変数を設定して、記憶させていたり。


これはマニアックな使い方ですが、機会があれば紹介します。


で、もっとわかりやすいところで、文字のサイズの使い方です。


ある翻訳者は、「下付き文字」を表示するために、文字サイズを小さくしていました。


具体的には、

 全体の標準的な文字の大きさ 12ポイント

 下付きに表示させたい文字の大きさ 8ポイント

です。


上記の8ポイントを使った表示と、下付き文字を使った表示の比較はこんな感じ。


みんなのワードマクロ


たしかに、8ポイントを使った表示(上記①)でも、わからないこともない。

本人曰く、「文字の下端部分がそろっていて美しい」とのこと。


「なるほど!」という考え方です。こういう工夫いいですね。


でも、他の人と文書を共有して使い回す場合には、あまりうれしくないです。。。

だって、このことを知らずに編集をしたりするとトラブルの原因になりえます。


たとえば、文字のサイズを10.5ポイントに変更するために、

全選択をして文字サイズを変更することもあるかも。


そうしたら、12ポイントと8ポイントで表示していた化学式が

すべて10.5ポイントになってしまい、下付き文字がなくなります。


というわけで、現在使われている文字サイズがいくつなのかを表示する

マクロを作ってみました。


▼作用

文書中の文字サイズを1~100まで0.5ポイントごとに有無を確認します。


最終的に、使われている文字のサイズをメッセージボックスで表示します。


みんなのワードマクロ


▼プログラムの工夫

20行から140行で、For Nextの繰り返し処理をします。


このときのstepを0.5としました。


文字の大きさをしめすmySizeという変数に入れる値を

1~100まで変更して繰り返します。


そのときに1、1.5、2、2.5 ・・・・ 99.5、100 と

段階をおうようにしました。


stepには、マイナスの値も入れられます。


たとえば、100、99.5 ・・・・ 1.5、1と逆にすることも

できます。


その場合には、20行のところを


  For mySize = 100 To 1 Step -0.5


と表記します。


▼登録方法

以下のページをご覧ください。


○ ワードマクロの作成(ver.95~2003)
○ ワードマクロの作成(ver.2007)
○ マクロにショートカットを割り当てる


▼プログラム

Sub 使用中の文字サイズ検出()

Dim myRange As Range
Dim mySize As Single
Dim FontSize As String


10 Set myRange = ActiveDocument.Range(0, 0)

20 For mySize = 1 To 100 Step 0.5

30 myRange.SetRange Start:=0, End:=0

40 With myRange.Find
50 .Text = ""
60 .Forward = True
70 .Font.Size = mySize
80 .Wrap = wdFindStop
90 .Execute

100 If .Found = True Then
110 FontSize = FontSize & "、" & mySize
120 End If

130 End With

140 Next

150 MsgBox "使用中の文字サイズは" & FontSize & "です。"

160 Set myRange = Nothing


End Sub