当我试图删除没有任何东西的项目符号时,我遇到了一个奇怪的问题。
为此,我开始尝试提出一个代码,宣布没有内容的项目符号编号。
我的问题:如何检查给定段落中没有内容。
当我使用以下代码行时:
Sub Announcer()
Dim DocPara As Paragraph
For Each DocPara In ActiveDocument.Paragraphs
If DocPara.Range.ListFormat.ListType = wdListSimpleNumbering Then
If DocPara.Range.Text = "" Then
MsgBox DocPara.Range.ListFormat.ListString
End If
End If
Next
它不会弹出msgbox,因为DocPara.Range.Text不在“”(空字符串)中而是在“(双引号)中求值。
我努力了解造成这种情况的原因,并且我更加努力地寻求解决方案。我试图做DocPara.Range.Text = chr(34)无济于事...
您是否有任何建议?
答案 0 :(得分:1)
问题是空格。
首先让我们定义一个Strip
函数以删除空白,这受python的strip的启发。
Function Strip(ByVal s As String) As String
Strip = Trim(Replace(Replace(s, Chr(13), " "), Chr(10), " "))
End Function
然后我们将替换
If DocPara.Range.Text = "" Then
使用
If Strip(DocPara.Range.Text) = "" Then
答案 1 :(得分:0)
好的,我只是更改了代码以检查:
If Len(DocPara.Range.Text) = 1 then
相反...因此对于我而言,它可以正常工作。
编辑: 正如Uri所建议的,如果与Chr(13)(回车)相比,则初始代码有效!
谢谢大家,
马克西