首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >区分C# vsto中的自定义安装字体和办公应用程序内置(默认)字体

区分C# vsto中的自定义安装字体和办公应用程序内置(默认)字体
EN

Stack Overflow用户
提问于 2020-08-08 17:37:06
回答 1查看 78关注 0票数 0

我是.Net世界的新手。我正在为Excel编写一个C#(vsto)插件,在那里我想读出给定的Excel文件中所有可用的字体样式。我想知道用户是否为Office应用程序自定义安装了任何字体。下面的代码帮助检索所有已安装的字体,包括自定义安装的字体和默认的办公字体。

代码语言:javascript
复制
InstalledFontCollection installedFontCollection = new InstalledFontCollection();
FontFamily[] fontFamilies = installedFontCollection.Families; 

您能告诉我有没有办法通过编程来区分默认的Office应用程序字体和自定义安装的字体?

EN

回答 1

Stack Overflow用户

发布于 2020-08-09 00:02:12

您可以使用以下代码获取Office应用程序中可用字体的列表:

代码语言:javascript
复制
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 Sub

FontNames Interface表示所有可用字体的名称列表。不能在可用字体名称列表中添加或删除名称。

没有其他方法来区分内置字体或其他字体。我认为Office应用程序总是处理已安装的字体。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/63313888

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档