こんにちは。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
お礼
ありがとうございます! マクロ動作致しました。とても助かりました!