如何在Access格式窗体中添加可用字体下拉选择控件?
Access窗体添加系统字体选择下拉控件方案
方案一:原生组合框+VBA动态加载系统字体(推荐)
这是兼容性最优的实现方式,完全依赖Access原生能力,无需额外控件:
- 在「Format Form」窗体中添加一个组合框控件,命名为
cboFonts - 编写窗体
Load事件代码,动态获取系统所有可用字体并填充到组合框:Private Sub Form_Load() Dim i As Integer Me.cboFonts.Clear ' 遍历系统字体集合,添加到下拉列表 For i = 0 To Screen.FontCount - 1 Me.cboFonts.AddItem Screen.Fonts(i) Next i ' 设置默认选中字体(可根据需求修改) Me.cboFonts.Value = "宋体" End Sub - 在组合框的
AfterUpdate事件中调用你已有的批量修改代码:Private Sub cboFonts_AfterUpdate() ' 获取选中的字体名称 Dim selectedFont As String selectedFont = Me.cboFonts.Value ' 调用你的批量修改文本框字体函数 ' UpdateAllTextBoxFonts selectedFont End SubScreen.Fonts会自动读取当前系统安装的所有字体,完美适配不同设备,无需硬编码字体列表。
方案二:使用ActiveX字体控件
如果想要和微软程序完全一致的字体选择界面,可以用Office自带的ActiveX控件:
- 在窗体设计模式下,右键控件工具箱→选择「附加控件」,找到并勾选「Microsoft Font Control 6.0」,点击确定后将该控件添加到窗体,命名为
FontSelector - 编写控件的
Change事件代码,获取选中字体并触发修改:
注意:ActiveX控件存在版本和位数(32/64位)兼容性风险,若数据库需要跨多环境使用,优先选方案一。Private Sub FontSelector_Change() Dim selectedFont As String selectedFont = Me.FontSelector.FontName ' 调用你的批量修改代码 ' UpdateAllTextBoxFonts selectedFont End Sub
内容的提问来源于stack exchange,提问作者Alan
相关产品推荐
相关产品推荐

