vba - 如何使用 VBA 将文本添加到 Microsoft Word 中的空项目符号点?
问题描述
我正在尝试将文本添加到 Word 文档中的空格式项目符号点,但是我似乎找不到任何成功的方法。我不是很擅长 VBA,我只是用它来自动化重复发生的报告。
这是我一直用来查找和替换文本的 VBA subs 的格式,我只是找不到调整添加到项目符号点的方法:
Private Sub FixedReplacements()
Dim Rng As Range
Dim SearchString As String
Dim EndString As String
Dim Id As String
Dim Link As String
Set Rng = ActiveDocument.Range
Rng.Find.ClearFormatting
Rng.Find.Replacement.ClearFormatting
With Rng.Find
.Text = ""
.Replacement.Text = ""
.Forward = True
.Wrap = wdFindContinue
.Format = False
.MatchCase = False
.MatchWholeWord = False
.MatchWildcards = False
.MatchSoundsLike = False
.MatchAllWordForms = False
End With
Rng.Find.Execute Replace:=wdReplaceAll
End Sub
我为空项目符号设定的目标是让他们按照“没有更多信息”的方式显示一些内容。<<只是一个例子。
解决方案
如何做到这一点在很大程度上取决于子弹的插入方式。没有办法专门搜索子弹本身。有评论提到
项目符号点是直接从单词中找到的格式化项目符号点。
在这种情况下,默认设置是使用List Paragraph
样式格式化段落。如果是这种情况,则Find
可以在此处搜索使用该样式的段落。问题中的Find
代码将如下所示。(还要注意对Format
和Wrap
属性的更改。)
With Rng.Find
.Text = "^p"
.Replacement.Text = "No further information.^p"
.Forward = True
.Style = "List Paragraph"
.Wrap = wdFindStop
.Format = True
.MatchCase = False
.MatchWholeWord = False
.MatchWildcards = False
.MatchSoundsLike = False
.MatchAllWordForms = False
End With
如果已使用不同的样式来应用项目符号,则可以搜索该样式名称。请记住,样式名称区分大小写。
文件/选项/高级,编辑选项部分中有一个选项:对项目符号或编号列表使用普通样式。如果这已被激活,那么事情将变得非常困难。最好的办法是尝试匹配应用的段落格式(缩进等)。
推荐阅读
- unix - 从数据文件中删除注释。有什么区别?
- react-native - React-native-router-flux 结合 react-native-side-menu 问题
- python-3.x - Python 2 与 3 中的映射、lambda
- git - 当我“git push origin local-branch”时,我想将更改推送到的远程分支在哪里?
- c# - 从 linq 表达式中检索对象列表
- react-native - React Native 将 Firebase 对象传递到下一页 - React Navigation
- python - Python函数错误:'<'类型'str'和'int'之间不支持
- php - 在第一个错误代码点火器上停止表单验证
- python - 正则表达式在双引号字段中查找管道并替换它们
- docker - 如何使用 gitlab ci 测试和部署我的 php 应用程序?