从stringvar中删除带有书签文字

时间:2016-01-14 01:13:20

标签: vba ms-word

在Word 2010 VBA宏中,我将书签文本复制到名为“strMsgBoxMsg”的字符串变量。

我想从与名为“Title”的书签相关联的文本中删除回车符,但我无法删除书签文本中的回车符。

以下内容不会删除回车符:

string2FindAndDelete1 = " " & Chr(13) & " "
string2FindAndDelete1 = " " & vbCrLf
string2FindAndDelete1 = " " & Chr(13)
string2FindAndDelete1 = Chr(13) & " "

If InStr(FnA.fnEnumerateDocBkMrks, "Title") Then
    strMsgBoxMsg = ""
    strMsgBoxMsg = ActiveDocument.Bookmarks("Title").Range.Text
    strMsgBoxMsg = Replace(strMsgBoxMsg, string2FindAndDelete1, "%%REPLACE_THIS%%")
    strMsgBoxMsg = Replace(strMsgBoxMsg, string2FindAndDelete2, "%%REPLACE_THIS%%")
    strMsgBoxMsg = Replace(strMsgBoxMsg, string2FindAndDelete3, "%%REPLACE_THIS%%")
    strMsgBoxMsg = Replace(strMsgBoxMsg, "%%REPLACE_THIS%%", " ")
    MsgBox "MessageBox after Search and Replace:" & vbCrLf & strMsgBoxMsg
End If

我将Word文件发布到网址:http://tinyurl.com/h7vul2p

文件中的VBA宏是:subSaveAsPdfInSameDir

1 个答案:

答案 0 :(得分:0)

以下是我的更正,这是有效的,感谢Cindy和Tim(值得信赖,但我无法弄清楚如何给予他们解决我的问题的功劳)。

我的目标是在一行的最后一个单词和修改后的文本的下一行的第一个单词之间留一个空格。

我原本打算让前四个变量有不同的名称(例如,string2FindAndDelete1,string2FindAndDelete2等。

string2FindAndDelete1 = " " & Chr(13) & " "
string2FindAndDelete2 = " " & Chr(13)
string2FindAndDelete3 = Chr(13) & " "
string2FindAndDelete4 = Chr(13)


If InStr(fn_EnumerateDocBkMrks, "Title") Then
    strMsgBoxMsg = ""
    strMsgBoxMsg = ActiveDocument.Bookmarks("Title").Range.Text
    strMsgBoxMsg = Replace(strMsgBoxMsg, string2FindAndDelete1, "%%REPLACE_THIS%%")
    strMsgBoxMsg = Replace(strMsgBoxMsg, string2FindAndDelete2, "%%REPLACE_THIS%%")
    strMsgBoxMsg = Replace(strMsgBoxMsg, string2FindAndDelete3, "%%REPLACE_THIS%%")
    strMsgBoxMsg = Replace(strMsgBoxMsg, string2FindAndDelete4, "%%REPLACE_THIS%%")
    strMsgBoxMsg = Replace(strMsgBoxMsg, "%%REPLACE_THIS%%", " ")
    MsgBox "MessageBox after Search and Replace Carriage Returns:" & vbCr & vbCrLf & strMsgBoxMsg
    Call subWriteProp(sPropName:="Title", sValue:=strMsgBoxMsg)
End If