运行时改变字体的操作方法(VBA)

运行时改变字体的操作方法(VBA)
[日期:2009-01-12] 来源: 作者: [字体:大 中 小]

虽然有上述选项,这些解决方法仍有限制。下面的示例是应用程序在运行时,使用全局解决方法改变其中的字体。下面的代码可在 Windows 的任何语言版本上运行,它决定驻留在系统中的字体,应用程序将在该系统下运行,将适当的字体应用到参数中指定的 Font 对象。

Private Const DEFAULT_CHARSET = 1
Private Const SYMBOL_CHARSET = 2
Private Const SHIFTJIS_CHARSET = 128
Private Const HANGEUL_CHARSET = 129
Private Const CHINESEBIG5_CHARSET = 136
Private Const CHINESESIMPLIFIED_CHARSET = 134
Private Declare Function GetUserDefaultLCID Lib "kernel32" () As Long

Public Sub SetProperFont(obj As Object)
On Error GoTo ErrorSetProperFont
Select Case GetUserDefaultLCID
Case &H404 ' 繁体中文
obj.Charset = CHINESEBIG5_CHARSET
https://www.360docs.net/doc/8c9867758.html, = ChrW(&H65B0) + ChrW(&H7D30) + ChrW(&H660E) _
+ ChrW(&H9AD4) 'New Ming-Li
obj.Size = 9
Case &H411 ' 日语
obj.Charset = SHIFTJIS_CHARSET
https://www.360docs.net/doc/8c9867758.html, = ChrW(&HFF2D) + ChrW(&HFF33) + ChrW(&H20) + _
ChrW(&HFF30) + ChrW(&H30B4) + ChrW(&H30B7) + ChrW(&H30C3) + _
ChrW(&H30AF)
obj.Size = 9
Case &H412 '朝鲜 UserLCID
obj.Charset = HANGEUL_CHARSET
https://www.360docs.net/doc/8c9867758.html, = ChrW(&HAD74) + ChrW(&HB9BC)
obj.Size = 9
Case &H804 ' 简体中文
obj.Charset = CHINESESIMPLIFIED_CHARSET
https://www.360docs.net/doc/8c9867758.html, = ChrW(&H5B8B) + ChrW(&H4F53)
obj.Size = 9
Case Else ' 其他国家/地区
obj.Charset = DEFAULT_CHARSET
https://www.360docs.net/doc/8c9867758.html, = "" ' 获得缺省 UI 字体。
obj.Size = 8
End Select
Exit Sub
ErrorSetProperFont:
Err.Number = Err也可更改这个简单的示例代码将字体应用到其它字体设置上,如打印选项。


相关文档
最新文档