首页 > 解决方案 > VBA通过字体名称而不是字体索引更改Visio字体样式?

问题描述

我希望使用 VBA 来更改形状中文本的字体样式(从 Calibri 到 Verdana)。目前我有(代码片段)

Visio.ActivePage.Shapes(1).Characters.CharProps(visCharacterFont) = 235# 

235 是我系统中 Verdana 的字体索引。但是,字体索引非常不稳定,在不同的计算机上可能会发生变化。有没有办法通过字体名称更改字体样式,例如... =“Verdana”?在 excel 中是可能的,但我在 Visio 中找不到类似的语法。提前致谢!

标签: vbavisio

解决方案


您可以在当前 PC 上查看 Verdana 字体 的ID是什么

Dim Verdana_ID As Integer
Verdana_ID = ActiveDocument.Fonts.Item("Verdana").ID

在这一步之后将此ID设置为字符的字体

Visio.ActivePage.Shapes(1).Characters.CharProps(visCharacterFont) = Verdana_ID

推荐阅读