如何使用VBA测试字体是否安装?
使用 VBA 检查是否安装了特定字体的最简单方法是什么?
What is the easiest way to check if a particular font is installed using VBA?
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
使用 VBA 检查是否安装了特定字体的最简单方法是什么?
What is the easiest way to check if a particular font is installed using VBA?
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
接受
或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
发布评论
评论(3)
http://www.vbcity.com/forums/topic.asp?tid=57012
重定向至
http://vbcity.com/forums/t/55257.aspx
此 vb6 代码是与VBA兼容:
http://www.vbcity.com/forums/topic.asp?tid=57012
redirects to
http://vbcity.com/forums/t/55257.aspx
This vb6 code is compatible with VBA:
好的,确实如此,我在发布此内容后 30 秒找到了解决方案。 尽管在求助于 SO 之前进行了 10 分钟的搜索。...
列出已安装的字体
下面列出的过程在活动工作表的 A 列中显示已安装字体的列表。 它使用
FindControl
方法来定位“格式”工具栏上的“字体”控件。 如果未找到此控件(即,它已被用户删除),则会创建临时 CommandBar 并向其中添加 Font 控件。是否安装了字体?
下面的函数使用与 ShowInstalledFonts 过程相同的技术。 如果安装了指定的字体,则返回 True。
下面的语句演示了如何在 VBA 过程中使用此函数。 如果用户的系统包含 Comic Sans MS 字体,则它会在消息框中显示 True。
以上内容最初位于 此 URL,从 互联网档案 2020年2月5日。
OK, true to form I found a solution 30 seconds after posting this. This is despite a 10 minute search before resorting to SO....
List installed fonts
The procedure listed below displays a list of installed fonts in Column A of the active worksheet. It uses the
FindControl
method to locate the Font control on the Formatting toolbar. If this control is not found (i.e. it was removed by the user) a temporary CommandBar is created and the Font control is added to it.Is a font installed?
The function below uses the same technique as the ShowInstalledFonts procedure. It returns True if a specified font is installed.
The statement below demonstrates how to use this function in a VBA procedure. It displays True in a message box if the user's system contains the Comic Sans MS font.
The above was originally at this URL, retrieved from the Internet Archive on 2020-02-05.
使用 api 有
EnumFonts
EnumFonts 函数枚举指定设备上可用的字体。 对于具有指定字体名称的每种字体,EnumFonts 函数检索有关该字体的信息并将其传递给应用程序定义的回调函数。 该回调函数可以根据需要处理字体信息。 枚举将继续,直到不再有字体或回调函数返回零。
VB4-32,5,6
或
EnumFontFamilies 函数枚举指定设备上可用的指定字体系列中的字体。 此函数取代 EnumFonts 函数。
VB4-32,5,6
例程
using apis there are
EnumFonts
The EnumFonts function enumerates the fonts available on a specified device. For each font with the specified typeface name, the EnumFonts function retrieves information about that font and passes it to the application-defined callback function. This callback function can process the font information as desired. Enumeration continues until there are no more fonts or the callback function returns zero.
VB4-32,5,6
or
The EnumFontFamilies function enumerates the fonts in a specified font family that are available on a specified device. This function supersedes the EnumFonts function.
VB4-32,5,6
example routine