- ベストアンサー
Wordで使用されているフォントを知るには
Wordで使用されているフォントのリストを知りたいのですが、方法はありますでしょうか?
- みんなの回答 (5)
- 専門家の回答
質問者が選んだベストアンサー
#3 です。これならどうですか? 改行コードにもフォント属性があるみたいなので、 改行コードを含めないように修正しました。 Asc(Char) <> 13 の部分です。 その他細かい修正を行いましたので、コード全体 を差し替えます。 Sub 使用したフォント名の列挙() Dim Char As Object Dim Dic As Object Dim Shp As Shape Dim strMes As String Dim Fn As Variant Set Dic = CreateObject("Scripting.Dictionary") 'テキストのフォント名を調べる For Each Char In ActiveDocument.Characters If Not Dic.Exists(Char.Font.Name) And Asc(Char) <> 13 Then Debug.Print Asc(Char) Dic.Add Key:=Char.Font.Name, Item:=Empty End If Next Char 'シェープ中のフォント名を調べる For Each Shp In ActiveDocument.Shapes If Shp.TextFrame.HasText Then For Each Char In Shp.TextFrame.TextRange.Characters If Not Dic.Exists(Char.Font.Name) And Asc(Char) <> 13 Then Dic.Add Key:=Char.Font.Name, Item:=Empty End If Next Char End If Next Shp '結果表示 i = 1 strMes = "※埋め込みオブジェクト内で使用されたフォントを含みません" & vbCrLf & vbCrLf For Each Fn In Dic.Keys If Fn <> "" Then strMes = strMes & "・" & Fn & vbCrLf i = i + 1 End If Next Fn strMes = strMes & vbCrLf & "【計 " & i - 1 & " 種】" MsgBox Prompt:=strMes, Title:="使用されているフォント" Set Char = Nothing Set Shp = Nothing Set Dic = Nothing End Sub
その他の回答 (4)
- AstroGuy
- ベストアンサー率32% (30/92)
Wordを開く。 メニューバーの書式をクリックする。 リストの"フォント"をクリックする。 フォントのウィンドウが開いてフォントのタブを選択。 日本語用のフォント(T) 英数字用のフォント(F) でプルダウンを使用すればわかります。 下のプレビューに書体のイメージが表示されます。 どんな書体なのか目視でわかります。 後は、コントロールパネルを開いて、 クラシック表示にし、その中に"フォント"のフォルダがあります。 クリックして開くとお使いのPCで使えるフォントファイルが、 あります。 その画面で、メニューバーの表示をクリック。 一覧を選択すれば、リスト表示できます。
補足
教えて頂いた方法では、インストールされている全てのフォントが表示されてしまい、Word文書中で実際に使用されているフォントの特定をするのは困難でした。
- KenKen_SP
- ベストアンサー率62% (785/1258)
こんにちは。KenKen_SP です。 マクロを使ってフォント名をリストアップする一例です。ただし、下記の コードでは埋め込みオブジェクト(Excelの表とか)の中で使用されている フォント名までは拾えません。テキストボックスなどは OK です。 Word VBA です。Word2000 以上なら動くと思いますが確認はしてません。 Visual Basic Editor で Normal.dot に標準モジュールを挿入し、下記を コピー&ペーストしてお使い下さい。 Sub 使用したフォント名の列挙() Dim Char As Object Dim Dic As Object Dim Shp As Shape Dim strMes() As String Set Dic = CreateObject("Scripting.Dictionary") 'テキストのフォント名を調べる For Each Char In ActiveDocument.Characters If Not Dic.Exists(Char.Font.Name) Then Dic.Add Key:=Char.Font.Name, Item:=Empty End If Next Char 'シェープ中のフォント名を調べる For Each Shp In ActiveDocument.Shapes If Shp.TextFrame.HasText Then For Each Char In Shp.TextFrame.TextRange.Characters If Not Dic.Exists(Char.Font.Name) Then Dic.Add Key:=Char.Font.Name, Item:=Empty End If Next Char End If Next Shp '結果表示 ReDim strMes(Dic.Count + 1) i = 1 strMes(0) = "※埋め込みオブジェクト内で使用されたフォントを含みません" & vbCrLf For Each Fn In Dic.Keys If Fn <> "" Then strMes(i) = "・" & Fn i = i + 1 End If Next Fn strMes(i) = vbCrLf & "【計 " & i - 1 & " 種】" MsgBox Join$(strMes, vbCrLf), Title:="使用されているフォント" Set Char = Nothing Set Shp = Nothing Set Dic = Nothing End Sub
補足
ありがとうございます。 Word98で実行したところ、「Join$」のところで、「SubまたはFunctionが定義されていません」と出てしまいました。 結果を最後にまとめて表示させる部分だと思うのですが… 少々不便でも、何か実行させる回避方法はありませんでしょうか。
- enunokokoro
- ベストアンサー率74% (3543/4732)
私のWordは2002なので[作業ウィンドウ]に[スタイルと書式]を 表示させ、下にある[表示]を[使用されている書式]すると、 書式として使用されているフォントが表示されます。 Word2002/2003ならこれで判るのでは。
補足
回答ありがとうございます。 私の使用しているのはWord98です。 お教え頂いた機能はないようでした。
- yuko_july7
- ベストアンサー率31% (36/116)
知りたい文字をドラグしてから 右クリック。「フォント」を選べ詳細が出てきます。
補足
「この文字は何というフォントか?」 ではなく、 「Word文章で使われている全フォントを知るには?」 という意味での質問でした。
お礼
ありがとうございます! マクロ動作致しました。とても助かりました!