gpt4 book ai didi

vba - 微软Word : Change Font of Characters Missing In Default Font

转载 作者:行者123 更新时间:2023-12-02 04:28:02 25 4
gpt4 key购买 nike

我正在尝试在 Microsoft Word 中使用 VBA 自动执行大型文档的高度重复操作。

情况是这样的:我有一篇技术文本,其中包含很多特殊字符,例如❨ (U+2768) 和 ❩ (U+2769)。文字主要用Cambria排版,但有些特殊字符在该字体中找不到。然而,我确实知道一个事实,文档中使用的所有字符都存在于 DejaVu Sans Mono 中。因此,我希望所有字符都在 Cambria 中,除了那些无法以此字体显示的字符 - 我希望在 DejaVu Sans Mono 中显示的那些字符。

在 Microsoft Word 2007 中,我可以通过 Ctrl+A 轻松实现此目的,将字体设置为 DejaVu Sans Mono,将字体设置为 Cambria。第二次更改字体只会更改 Cambria 中可以显示的字符的字体。

但是,在 Microsoft Word 2010 中,这显然不起作用。每个字符都使用 Cambria 字体,并且不会显示 Cambria 中未找到的字符,而是显示带框的问号符号。

为了克服这个问题,我转向了 VBA。更改给定字符的字体非常容易,例如

Selection.Find.ClearFormatting
Selection.Find.Replacement.ClearFormatting
Selection.Find.Text = ChrW(10088)
Selection.Find.Replacement.Text = ChrW(10088)
Selection.Find.Replacement.Font.Name = "DejaVu Sans Mono"
Selection.Find.Execute Replace:=wdReplaceAll

但是,为 (C(DejaVu) ∖ C(Cambria)) ∩ C(Doc) 中的每个字符编写上述代码并不是很有趣,其中 C(DejaVu)、C(Cambria) 和 C (Doc) 分别是 DejaVu Sans Mono、Cambria 和我的文档中所有字符的集合。

是否有任何(相当简单的)方法可以自动完成此操作?当然,Microsoft Word 知道哪些字符可以在 Cambria 中找到,哪些不能。我希望 Cambria 中未找到的这些字符的所有实例都被指定为 DejaVu Sans Mono 字体。

最佳答案

我认为这个答案将帮助您实现目标:Script for changing fonts in a Word document

关于vba - 微软Word : Change Font of Characters Missing In Default Font,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/3488242/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com