vba - 更改 MS Word 宏中选定文本的字体
问题描述
我必须为 MS Word 的现有宏添加一些功能。这个特定的宏在现有的 MS Word 文档中查找特定文本“#code_bar#”并将其替换为不同的文本,即3541589479。
现在,一旦找到并替换了此文本(宏已经正确执行),就意味着将字体更改为“Free 3 of 9 Extended”,该字体已导入 Word。
这是代码,它工作正常,除了我尝试更改字体和大小的部分,这实际上没有发生。有人可以帮忙吗?谢谢。
Public Function sustituirCodigoBarras(codigo_barras)
Dim codigoDeBarras As String
Set codigoBarras = ActiveDocument.Content
'#barras_pedido# codigo de barras del pedido
codigoDeBarras = "#code_bar#"
With obj_Word.ActiveWindow.Selection.Find
.Text = codigoDeBarras
.Replacement.Text = "*" & codigo_barras & "*"
.Replacement.Font.Name = "Free 3 of 9 Regular"
.Replacement.Font.Size = 34
.Forward = True
.Wrap = wdFindContinue
.Format = False
.MatchCase = False
.MatchWholeWord = False
.MatchWildcards = False
.MatchSoundsLike = False
.MatchAllWordForms = False
.Execute Replace:=wdReplaceAll, Forward:=True, Wrap:=wdFindContinue
End With
End Function
解决方案
经过一些额外的挖掘和睡个好觉后,答案是:
- .Format 需要 = true 才能使这些更改真正发生
- 字体名称必须正确。在我的情况下,我试图使用Free 3 of 9 Extended(已导入我的计算机)而不是常规(未导入,因此未找到),如上面的代码所示。
菜鸟失误。
希望这可以帮助别人
推荐阅读
- python - 使用 Drive API 从 Google Drive 下载文件后无法重命名或移动文件
- json - 如何从同一个 DocumentContext 对象中提取和更新?
- linux - FBGrab 提供黑色 .png 图像
- python - 在for循环Python中修改和运行函数
- sql - 连接 3 个表时 SQL 对象名称无效
- swift - Swift:如何将 NSView 转 45 度?
- c++ - 找不到“Leptonica”提供的包配置文件
- kibana - Elasticsearch 有条件地查询多个索引
- python - Python,检查是否在'with'语句中调用
- javascript - 如何从 Bing Maps API 获取 JSON?