• ベストアンサー

Wordで使用されているフォントを知るには

Wordで使用されているフォントのリストを知りたいのですが、方法はありますでしょうか?

質問者が選んだベストアンサー

  • ベストアンサー
  • KenKen_SP
  • ベストアンサー率62% (785/1258)
回答No.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

hirumin
質問者

お礼

ありがとうございます! マクロ動作致しました。とても助かりました!

その他の回答 (4)

  • AstroGuy
  • ベストアンサー率32% (30/92)
回答No.4

Wordを開く。 メニューバーの書式をクリックする。 リストの"フォント"をクリックする。 フォントのウィンドウが開いてフォントのタブを選択。 日本語用のフォント(T) 英数字用のフォント(F) でプルダウンを使用すればわかります。 下のプレビューに書体のイメージが表示されます。 どんな書体なのか目視でわかります。 後は、コントロールパネルを開いて、 クラシック表示にし、その中に"フォント"のフォルダがあります。 クリックして開くとお使いのPCで使えるフォントファイルが、 あります。 その画面で、メニューバーの表示をクリック。 一覧を選択すれば、リスト表示できます。

hirumin
質問者

補足

教えて頂いた方法では、インストールされている全てのフォントが表示されてしまい、Word文書中で実際に使用されているフォントの特定をするのは困難でした。

  • KenKen_SP
  • ベストアンサー率62% (785/1258)
回答No.3

こんにちは。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

hirumin
質問者

補足

ありがとうございます。 Word98で実行したところ、「Join$」のところで、「SubまたはFunctionが定義されていません」と出てしまいました。 結果を最後にまとめて表示させる部分だと思うのですが… 少々不便でも、何か実行させる回避方法はありませんでしょうか。

回答No.2

私のWordは2002なので[作業ウィンドウ]に[スタイルと書式]を 表示させ、下にある[表示]を[使用されている書式]すると、 書式として使用されているフォントが表示されます。 Word2002/2003ならこれで判るのでは。

hirumin
質問者

補足

回答ありがとうございます。 私の使用しているのはWord98です。 お教え頂いた機能はないようでした。

回答No.1

知りたい文字をドラグしてから 右クリック。「フォント」を選べ詳細が出てきます。

hirumin
質問者

補足

「この文字は何というフォントか?」 ではなく、 「Word文章で使われている全フォントを知るには?」 という意味での質問でした。

関連するQ&A