我是.Net世界的新手。我正在为Excel编写一个C#(vsto)插件,在那里我想读出给定的Excel文件中所有可用的字体样式。我想知道用户是否为Office应用程序自定义安装了任何字体。下面的代码帮助检索所有已安装的字体,包括自定义安装的字体和默认的办公字体。
InstalledFontCollection installedFontCollection = new InstalledFontCollection();
FontFamily[] fontFamilies = installedFontCollection.Families; 您能告诉我有没有办法通过编程来区分默认的Office应用程序字体和自定义安装的字体?
发布于 2020-08-09 00:02:12
您可以使用以下代码获取Office应用程序中可用字体的列表:
Option Explicit
Sub listFonts()
Dim wd As Object, fontID As Variant
Set wd = CreateObject("Word.Application")
For Each fontID In wd.FontNames
Sheet1.cmbFonts.AddItem fontID
Next
wd.Quit
Set wd = Nothing
End SubFontNames Interface表示所有可用字体的名称列表。不能在可用字体名称列表中添加或删除名称。
没有其他方法来区分内置字体或其他字体。我认为Office应用程序总是处理已安装的字体。
https://stackoverflow.com/questions/63313888
复制相似问题