イグトランス様、ありがとう御座います。
> > szFaceName[LF_FACESIZE*2+1] As Byte <---変更箇所
> これはVBがUnicodeを使っているからでしょう。
誤)
szFaceName[LF_FACESIZE]
-1] As Byte
正)
szFaceName[LF_FACESIZE+1] As Byte
コード:
Type CHARFORMAT2
cbSize As DWord
dwMask As DWord
dwEffects As DWord
yHeight As Long
yOffset As Long
crTextColor As DWord
bCharSet As Byte
bPitchAndFamily As Byte
szFaceName[LF_FACESIZE+1] As Byte <---変更箇所
wWeight As Word
sSpacing As Integer
crBackColor As DWord
lcid As DWord
dwReserved As DWord
sStyle As Integer
wKerning As Word
bUnderlineType As Byte
bAnimation As Byte
bRevAuthor As Byte
bReserved1 As Byte
End Type