プロが教えるわが家の防犯対策術!

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

A 回答 (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
    • good
    • 3
この回答へのお礼

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

お礼日時:2005/10/08 20:02

Wordを開く。


メニューバーの書式をクリックする。
リストの"フォント"をクリックする。
フォントのウィンドウが開いてフォントのタブを選択。
日本語用のフォント(T)
英数字用のフォント(F)
でプルダウンを使用すればわかります。

下のプレビューに書体のイメージが表示されます。
どんな書体なのか目視でわかります。

後は、コントロールパネルを開いて、
クラシック表示にし、その中に"フォント"のフォルダがあります。
クリックして開くとお使いのPCで使えるフォントファイルが、
あります。
その画面で、メニューバーの表示をクリック。
一覧を選択すれば、リスト表示できます。

この回答への補足

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

補足日時:2005/10/08 10:14
    • good
    • 0

こんにちは。

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が定義されていません」と出てしまいました。
結果を最後にまとめて表示させる部分だと思うのですが…
少々不便でも、何か実行させる回避方法はありませんでしょうか。

補足日時:2005/10/08 10:02
    • good
    • 1

私のWordは2002なので[作業ウィンドウ]に[スタイルと書式]を


表示させ、下にある[表示]を[使用されている書式]すると、
書式として使用されているフォントが表示されます。

Word2002/2003ならこれで判るのでは。

この回答への補足

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

補足日時:2005/10/08 09:58
    • good
    • 0

知りたい文字をドラグしてから


右クリック。「フォント」を選べ詳細が出てきます。

この回答への補足

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

補足日時:2005/10/07 21:48
    • good
    • 0

お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!

このQ&Aを見た人はこんなQ&Aも見ています