此代碼允許將「myStyleTwo」的樣式「myStyleOne」更改爲全部文本。將一種風格的最後一段變爲另一種風格,ms字,VBA
Option Explicit
Sub replaceStyleForAnotherStyle()
Selection.Find.ClearFormatting
Selection.Find.Style = ActiveDocument.Styles("myStyleOne")
Selection.Find.Replacement.ClearFormatting
Selection.Find.Replacement.Style = ActiveDocument.Styles("myStyleTwo")
With Selection.Find
.Text = ""
.Replacement.Text = ""
.Forward = True
.Wrap = wdFindContinue
.Format = True
.MatchCase = False
.MatchWholeWord = False
.MatchWildcards = False
.MatchSoundsLike = False
.MatchAllWordForms = False
End With
Selection.Find.Execute Replace:=wdReplaceAll
End Sub
應該採取什麼碼的樣子,如果我想打開僅最後一段「myStyleOne」到「myStyleTwo」的?
謝謝。我已經重寫了它,但是現在它找到了文本中的最後一段,而不是「myStyleOne」的最後一段... 代碼在這裏:[http://codepad.org/WqpN0AUx](http://codepad .ORG/WqpN0AUx)。 或者這是否意味着代碼必須包含一個循環來查找「myStyleOne」的最後一段?如果是這樣,那麼它應該是什麼樣子..? – ZolVas
@Zolvas是的它必須是一個簡單的循環,我將它添加到我編輯的答案。但是,正如你所看到的那樣,如果只是改變這個找到的段落的風格,那麼可以用一個陳述來完成。 –
謝謝! 1)在函數中:但是我認爲你應該替換「ActiveDocument.Paragraphs.Count」的「Paragraphs.Count」和「If ActiveDocument.Paragraphs(i).Style」中的「If Paragraphs(i).Style」。否則,它會解決一個錯誤; 2)在第二個代碼塊中:出於同樣的原因,「=」「MyStyle2」)也應該替換爲= =「MyStyle2」,即沒有括號。 如果你考慮以這種方式改進答案,那將是非常好的。然後,我會選擇這個答案作爲最有用的,並會顯示我的一堆代碼,這也可能曾經有用的人... – ZolVas