會員 ![]() | 【問題】請問如何在Word中把中英對話的中文去除【問題】 想請問各位高手前輩可否有好的方法(巨集),可以在Word中把中英對話的中文去除,而只留下英文句子,謝謝。 ![]() |
回覆 |
Take it easy~ | Sub 去掉中文() Selection.HomeKey wdStory With Selection.Find .ClearFormatting .Replacement.ClearFormatting .Execute "^p", Replacewith:="^l", MatchWildcards:=False, Replace:=wdReplaceAll .Execute "[!A-z 0-9 . ^t^l]", Replacewith:=" ", MatchWildcards:=True, Replace:=wdReplaceAll .Execute "^l", Replacewith:="^p", MatchWildcards:=False, Replace:=wdReplaceAll End With End Sub 這個巨集是用[取代]的方式把中文字改為全形空白. 為什麼可以用取代? 因為Word 尋找/取代 有[萬用字元]的功能可以 自訂靈活的搜尋條件, 如同程式中的 [!A-z 0-9 . ^t^l]. 若你不想把中文字取代為全形空白(也就是不預留中文字的位置), 那麼請把中間Replacewith:=" " 的全形空白去掉. 有關萬用字元/特殊字元的: 基本應用, 請參考 http://www.pczone.com.tw/vbb3/showthread.php?t=31624 http://www.pczone.com.tw/vbb3/showthread.php?t=62955 詳細說明, 請參閱Word輔助說明. |
回覆 |
會員 ![]() | 真是謝謝你阿,偶把他設ㄉ好複雜,偶是利用顏色來錄製,更改刪除,還是你ㄉ簡潔多了,真是高手,有機會還請多教導(以下是我錄製ㄉ,我實在不會設成那ㄇ簡約,我會再研究,謝謝您!)。 Sub 刪中文對話() ' ' 刪中文對話 巨集 ' 巨集錄製於 2002/9/12,錄製者 arti ' Selection.Find.ClearFormatting Selection.Find.Font.Color = wdColorLightBlue Selection.Find.Replacement.ClearFormatting With Selection.Find .Text = "^?" .Replacement.Text = "" .Forward = True .Wrap = wdFindContinue .Format = True .MatchCase = False .MatchWholeWord = False .MatchByte = True .MatchWildcards = False .MatchSoundsLike = False .MatchAllWordForms = False End With Selection.WholeStory Selection.Font.Color = wdColorRed Selection.Find.ClearFormatting Selection.Find.Replacement.ClearFormatting Selection.Find.Replacement.Font.Color = wdColorLightBlue With Selection.Find .Text = "^$" .Replacement.Text = "" .Forward = True .Wrap = wdFindContinue .Format = True .MatchCase = False .MatchWholeWord = False .MatchByte = True .MatchWildcards = False .MatchSoundsLike = False .MatchAllWordForms = False End With Selection.Find.Execute Replace:=wdReplaceAll Selection.Find.ClearFormatting Selection.Find.Replacement.ClearFormatting Selection.Find.Replacement.Font.Color = wdColorLightBlue With Selection.Find .Text = "^#" .Replacement.Text = "" .Forward = True .Wrap = wdFindContinue .Format = True .MatchCase = False .MatchWholeWord = False .MatchByte = True .MatchWildcards = False .MatchSoundsLike = False .MatchAllWordForms = False End With Selection.Find.Execute Replace:=wdReplaceAll Selection.Find.ClearFormatting Selection.Find.Replacement.ClearFormatting Selection.Find.Replacement.Font.Color = wdColorLightBlue With Selection.Find .Text = "^p" .Replacement.Text = "" .Forward = True .Wrap = wdFindContinue .Format = True .MatchCase = False .MatchWholeWord = False .MatchByte = True .MatchWildcards = False .MatchSoundsLike = False .MatchAllWordForms = False End With Selection.Find.Execute Replace:=wdReplaceAll Selection.Find.ClearFormatting Selection.Find.Replacement.ClearFormatting Selection.Find.Replacement.Font.Color = wdColorLightBlue With Selection.Find .Text = "^w" .Replacement.Text = "" .Forward = True .Wrap = wdFindContinue .Format = True .MatchCase = False .MatchWholeWord = False .MatchByte = True .MatchWildcards = False .MatchSoundsLike = False .MatchAllWordForms = False End With Selection.Find.Execute Replace:=wdReplaceAll Selection.Find.ClearFormatting Selection.Find.Replacement.ClearFormatting Selection.Find.Replacement.Font.Color = wdColorLightBlue With Selection.Find .Text = "." .Replacement.Text = "" .Forward = True .Wrap = wdFindContinue .Format = True .MatchCase = False .MatchWholeWord = False .MatchByte = True .MatchWildcards = False .MatchSoundsLike = False .MatchAllWordForms = False End With Selection.Find.Execute Replace:=wdReplaceAll Selection.Find.ClearFormatting Selection.Find.Replacement.ClearFormatting Selection.Find.Replacement.Font.Color = wdColorLightBlue With Selection.Find .Text = "?" .Replacement.Text = "" .Forward = True .Wrap = wdFindContinue .Format = True .MatchCase = False .MatchWholeWord = False .MatchByte = True .MatchWildcards = False .MatchSoundsLike = False .MatchAllWordForms = False End With Selection.Find.Execute Replace:=wdReplaceAll Selection.Find.ClearFormatting Selection.Find.Replacement.ClearFormatting Selection.Find.Replacement.Font.Color = wdColorLightBlue With Selection.Find .Text = "," .Replacement.Text = "" .Forward = True .Wrap = wdFindContinue .Format = True .MatchCase = False .MatchWholeWord = False .MatchByte = True .MatchWildcards = False .MatchSoundsLike = False .MatchAllWordForms = False End With Selection.Find.Execute Replace:=wdReplaceAll Selection.Find.ClearFormatting Selection.Find.Font.Color = wdColorRed Selection.Find.Replacement.ClearFormatting With Selection.Find .Text = "^?" .Replacement.Text = "" .Forward = True .Wrap = wdFindContinue .Format = True .MatchCase = False .MatchWholeWord = False .MatchByte = True .MatchWildcards = False .MatchSoundsLike = False .MatchAllWordForms = False End With Selection.Find.Execute Replace:=wdReplaceAll End Sub |
回覆 |
Take it easy~ | 錄製的巨集, 其實有很多內容都是預設值或是重複的動作, 實際寫的時候都可以省略. 只要把握重點即可~ 但何者是重點? 何者可以省略?? 所以 必需先詳細了解這個功能的用法和要訣, 才能把程式寫的更好... 個人覺得養成詳查VBA輔助說明的習慣 與技巧, 並多加測試以求透徹瞭解, 對活用、精簡程式係很有幫助滴~ ![]() |
回覆 |
會員 ![]() | 引用:
高手,如果有好ㄉ書,希望能推介一下,謝謝! ![]() | |
回覆 |
|
XML | RSS 2.0 | RSS |
本論壇所有文章僅代表留言者個人意見,並不代表本站之立場,討論區以「即時留言」方式運作,故無法完全監察所有即時留言,若您發現文章可能有異議,請 email :[email protected] 處理。