Msdn フォーラムに「Word VBAで、「Century」フォントで「●」を入力したい」という質問がありました。
下記コードのようにマクロから「●」(黒丸(BLACK CIRCLE):U+25CF)を入力し、フォントを変更しようとしてもフォントが変わらない、というものです。
Public Sub Test()
With Selection
.TypeText ChrW(&H25CF) '黒丸(BLACK CIRCLE):U+25CF
.MoveLeft Unit:=wdCharacter, Count:=1, Extend:=wdExtend
.Font.Name = "Century"
End With
End Sub
Word 2010で試してみると、たしかにフォントが変わらないようです。
ただし、「フォント」コンボ ボックスを手動で変更した場合は、フォントがちゃんと変更できるようなので、マクロからコンボ ボックスを変更する、下記のようなコードを考えてみました。
Option Explicit
Public Sub Sample()
TypeTextFont String(10, ChrW(&H25CF)), "Century"
End Sub
Public Sub TypeTextFont(ByVal Text As String, ByVal FontName As String)
Dim r As Word.Range
Set r = Selection.Range
r.Text = Text
r.Select
With Application.CommandBars.FindControl(ID:=1728)
If .Enabled = True Then .Text = FontName 'フォント(ComboBox)を操作
End With
Selection.Collapse wdCollapseEnd
End Sub
今回の場合は「●」でしたが、もしかしたら他にもフォントが変更できない文字があるかもしれません。
そういった場合は、上記マクロをお試しください。


















この記事へのコメントはありません。