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
今回の場合は「●」でしたが、もしかしたら他にもフォントが変更できない文字があるかもしれません。
そういった場合は、上記マクロをお試しください。
この記事へのコメントはありません。