VBA - UserForm上控件字体的奇怪问题

时间:2009-12-11 14:33:51

标签: vba ms-word

我有一个VBA UserForm(在Word文档中),CheckBox控件中有一些Frame个控件。

我的所有CheckBox控件都设置为使用Tahoma字体(控件的默认设置),但其中一个显示为Verdana。也就是说,它在属性对话框中显示Tahoma,但实际用于显示文本的字体是Verdana(在设计时和运行时)。

[现在,我应该提一下,我确实搞乱了一段时间的字体,Verdana是我曾经使用过的字体之一,但现在我已经把所有东西都放回了Tahoma。]

您可能正在考虑 - 只需删除并重新创建CheckBox即可。试过了。我还尝试复制其中一个正确显示的CheckBox。没有快乐。

这是真正的疯狂事情:CheckBox(或我创建的任何其他CheckBox)只显示为Verdana,如果它位于表单上的特定位置。如果我向上或向下移动几个凹口,那很好。 任何 CheckBox我移动到这个特定位置神奇地显示为Verdana,直到我将其移动到其他地方。不幸的是,我需要它在那个位置(而不是Verdana)!

我已经和它斗争了好几个小时,并尝试导出并重新导入代码,保存为Word 2007文档(我最初使用的是2003),我能想到的一切都是从头开始重新创建表单(我不想做,因为它很大)。

我认为表单存在某种损坏,但保存的.frx文件是二进制格式,所以我无法检查(或编辑)它。

有人见过这个问题吗?那里有解决方案吗?

编辑:我上面说的问题CheckBox显示为Verdana。那不对。我通过反复试验确定它实际上是 Tahoma - 但是 9pt 而不是8pt。上面的其他所有内容仍然存在,但问题在于文本的大小,而不是字体。

2 个答案:

答案 0 :(得分:1)

我的一位同事遇到了同样的问题,并发现如果你改变受影响的形式场的大小(使其略高),就会使问题消失。 (为什么???!)

答案 1 :(得分:1)

我在框架内有复选框时遇到了同样的问题。一些复选框变得很小,但不是全部,框架上半部分的复选框保持不变。

通过将框架的fontsize属性更改为更大的字体大小,这个问题从复选框中神奇地消失了。