Access-VBA 更改表单中文本的字体和大小
Posted
技术标签:
【中文标题】Access-VBA 更改表单中文本的字体和大小【英文标题】:Access-VBA Changing Font and Size of text in form 【发布时间】:2016-08-11 02:04:50 【问题描述】:我正在尝试更改表单的一个框中文本的字体和字体大小
With Me.[Notes:]
.SetFocus
.FontName = "Verdana"
.FontSize = 8
.ForeColor = vbBlack
End With
我已经看过了
Access VBA programmatically setting font/size not working
而且似乎可以正常工作,尽管我还有一些问题。
-
它会更改右侧框中的文本,但会更改我的每条记录,而不仅仅是我正在编辑的记录。
它只适用于直接输入到文本框中的文本。不在已粘贴到表单中的文本上。 (这首先是按钮的原因)
如果重要的话,我使用的是 MS Access 2016
提前致谢,
丹尼尔
【问题讨论】:
这是一个连续的表格/子表格吗?或数据表 - 或常规形式? 我相信它是“部分”中的“文本框” 这是设计使然。一个控件在连续视图中的所有记录上显示相同。 您是否尝试根据值更改格式?您的问题中似乎没有任何内容表明您为什么要更改字体,但如果是这种情况,那么条件格式可能对您有用。 啊,格式化的原因是,在编写我们的客户报告时,我们经常从其他来源复制/粘贴文本,通常是电子邮件,我们希望有一种更简单的方法来使报告保持一致它的格式 【参考方案1】:如果它不是一个连续的形式,听起来你需要添加一个 IF 语句来指定应该在什么条件下发生。然后将它放在表单的当前事件上。
Private Sub Form_Current()
if condition met then
With Me.[Notes:]
.SetFocus
.FontName = "Verdana"
.FontSize = 8
.ForeColor = vbBlack
End With
end if
end sub
对于第二个问题,您可以在字段的更新后事件上设置代码(或创建一个过程并调用它)
Private Sub notes_AfterUpdate()
if condition met then
With Me.[Notes:]
.SetFocus
.FontName = "Verdana"
.FontSize = 8
.ForeColor = vbBlack
End With
end if
End Sub
【讨论】:
这听起来很神,我会在接下来的工作中测试它,但是我会使用什么条件来选择这个表单? 您希望何时显示字体和大小的这种更改? 离开文本字段或按下按钮时(现在正在处理离开文本字段) 这已经在文本框的更新后事件中发生了。如果没有其他条件,则忘记 if 语句。您只需将字体颜色和大小设置回它在表单当前事件中的原始值。也许如果我了解您这样做的目的,我可以提供更多帮助。你想完成什么? 抱歉,我以为我在原帖中提到过。目的是当从其他地方(例如 Outlook)将文本粘贴到表单中时,所有文本都将以相同的方式格式化以上是关于Access-VBA 更改表单中文本的字体和大小的主要内容,如果未能解决你的问题,请参考以下文章