2014-10-29 40 views
6

我有一個宏可以在我的文檔中查找所有'標題1'樣式,並將它們列出在用戶窗體上的組合框中。刪除字符串中的段落標記

我的問題是,我正在使用的查找程序也選擇了段落標記()後我想要複製的文本,並顯示在組合框中。

我該如何從字符串中刪除它?我試過期運用replace(),與""更換vbCrLfvbCrvbLfvbNewLine^pvChr(244)Asc(244),但一切都沒有succeeeded。例如 -

sanitizedText = Replace(Selection.Text, "^v", "") 

任何人都可以請幫助解決這個問題嗎?謝謝。

這裏是我的表單外觀 -

enter image description here

+2

如果段落標記總是在最後,也許您可​​以使用myString = Left(myString,Len(myString) - 1) – 2014-10-29 15:40:53

+0

嘗試Chr(182)來刪除最後一個字符。 http://www.ascii-code.com/ – Peekay 2014-10-29 15:42:15

+0

@MiguelFebres,你的建議在這裏做的伎倆。添加它作爲答案,我會很樂意接受。 – 2014-10-29 16:38:09

回答

9

您應該使用ChrW$()爲Unicode字符:

sanitizedText = Replace(Selection.Text, ChrW$(244), "") 

或者,如果段落標記總是在最後,也許你可以刪除使用的最後一個字符

myString = Left(myString, Len(myString) - 1) 
+0

感謝您的建議,但它不起作用。 – 2014-10-29 16:36:36

+0

正如在問題評論中提到的,這裏的第二個建議對我來說工作得很好。謝謝你的幫助。 – 2014-10-30 10:13:26

4

我成功使用了sanitizedText = Replace(Selection.Text, Chr(13), ""); 13是'回車'的ASCII值。

0

這個小小的腳本用文檔中選定的一段文字(即用光標標記)替換了一行開頭的連字符。它用一個即興點代替它們:(o)

該腳本搜索「段落標記後跟連字符」的發生。

我有一個類似的問題,因爲我確定段落標記應該是'Chr(13)& Chr(10)',它等於'VbCrLF',它等於'回車,行飼料'。然而,'Chr(13)& Chr(10)'錯了。赤裸的Chr(13)完成了這項工作。

Sub MakeAppFormListPoints() 

'Replace list hyphens by (o) 

    Dim myRange As Range 
    Set myRange = Selection.Range 'What has been marked with the cursor 

     Debug.Print myRange ' Just for monitoring what it does 

    myRange = replace(myRange, Chr(13) & "-", Chr(13) & "(o)") 

     Debug.Print myRange ' Just for monitoring what it does 

End Sub 

(我用這個調節寫在Word中的瘋狂受限的字符集爲歐盟伊拉斯謨+計劃正式申請表格文本,促進終身學習活動。好吧,我學到了一些東西。)