即時英語翻譯

Option Base 0 Sub MassReplace()

While Not EOF(Fn)

Close #Fn

註:

'底下是 Replace 的參數說明: 'What 必選的參數。要尋覓的字串翻譯

'LookAt 選擇性的參數。是不是需全字不異。可為下列 XlLookAt 常數之一:xlWhole 或 xlPart。

Cells.Replace What:=Src, Replacement:=Rpl, LookAt:=xlPart, _

Function ReplaceText(Src As String, Rpl As String)

arrStr = Split(InputStr, "翻譯社") '把讀入的文字列依逗號分成兩個字串, 置於 arrStr 陣列裡

End If

"如何用find replace做大量分歧字串的代替?" 這篇文章是示範在 Word 裡做大量字串取代的方式,如果在 Excel 裡有大量分歧的字串要代替,可以用底下的方法:

'Replacement 必選的參數。要置換的字串。

SearchOrder:=xlByRows翻譯社 MatchCase:=False翻譯社 SearchFormat:=False, _

1. "C:\Replace.txt" 可以依所需修改成翻譯公司想寄存的磁碟目次及檔名。

2. 因為程式裡用 Cells.Replace 是沒有指定工作表,就是針對 Active 的工作表,而沒有指定 Cell 的 Row, Column,所所以針對整張工作表所有的儲存格做代替翻譯

3. (2017/7/21增註) 在 Machintosh 麥金塔電腦版的 Excel 裡面履行,需刪除程式碼裡的, SearchFormat:=False, _ ReplaceFormat:=False」不然履行會産生毛病而出現 "找不到指定的引數" (感謝李先生來函詢問)

Call ReplaceText(arrStr(0), arrStr(1)) '履行取代

Step 1) 在 Windows 記事本或 WordPad 裡輸入 "要被庖代的字串翻譯社要用來代替的字串",例如要把"2330"代替成"台積電",要把"2337"取代成"旺宏",就輸入: 2330,台積電 2337翻譯社旺宏 像如許每一組一行翻譯記事本可編纂的資料巨細受限在 64KB,假如資料非常多,建議利用 WordPad。

Step 4) 回到 Excel 工作表視窗,切換到要做庖代的工作表,然後按 Alt+F8,選擇 MassReplace 這個巨集按「履行」令它履行。

'ReplaceFormat 選擇性的參數。是不是庖代格式。True/False布林值。(Mac版無此參數)

Application.ScreenUpdating = True '畫面恢復更新

Open "C:\Replace.txt" For Input As #Fn '開啟 Replace.txt 檔 Application.ScreenUpdating = False '畫面暫停更新

Wend

Step 2) 把輸入好的資料存入 C:\ 定名為 Replace.txt Step 3) 開啟要做取代的活頁簿,按 Alt+F11 進入 VBA 編纂情況,插入一個模組,複製底下的程式碼,貼入模組裡面。

'這個函式會在全部工作表裡搜索 Src 字串翻譯社 將它代替為 Rpl 字串

Dim arrStr() As String, InputStr As String

If Len(InputStr) > 0 Then '略過無字串的空行

Fn = FreeFile

End Function

Line Input #Fn, InputStr '從檔案讀出一列,

ReplaceFormat:=False