【問題】請問如何在Word中把中英對話的中文去除【問題】 - PCZONE 討論區

返回   PCZONE 討論區 > ▲ -- 電 腦 軟 體 討 論 區 > -- OFFICE 相 關 軟 體 討 論 版


PCZONE 討論區



通知

-- OFFICE 相 關 軟 體 討 論 版 Word、Excel、PowerPoint、Access、Outlook、FrontPage或Office XP等的問題解答與經驗分享

會員
【問題】請問如何在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輔助說明的習慣
與技巧, 並多加測試以求透徹瞭解,
對活用、精簡程式係很有幫助滴~
回覆
會員

引用:
最初由 Leon Chou 發表
錄製的巨集, 其實有很多內容都是預設值或是重複的動作,
實際寫的時候都可以省略. 只要把握重點即可~
但何者是重點? 何者可以省略?? 所以
必需先詳細了解這個功能的用法和要訣,
才能把程式寫的更好...
個人覺得?..
說的好,就是粉多動作都是重複。但是想省略、把握重點,卻不簡單,只好在努力了,(偶是工作上有需要用到WORD的巨集)。查過市面上的書,偶覺得在巨集這部分都說的含混其詞,功力也不如您(偶不是在拍馬屁喔!)
高手,如果有好ㄉ書,希望能推介一下,謝謝!

回覆







 XML   RSS 2.0   RSS 
本站使用 vBulletin 合法版權程式
站務信箱 : [email protected]

本論壇所有文章僅代表留言者個人意見,並不代表本站之立場,討論區以「即時留言」方式運作,故無法完全監察所有即時留言,若您發現文章可能有異議,請 email :[email protected] 處理。