2013-10-06 30 views
0

我試圖把一個韓文詞彙的大文件,並設置它順利導入閃卡程序。該文件的格式是[韓文詞/短語] [英文翻譯] [韓文例句]。例如:寫詞宏 - 我該如何編寫一個Find來找到一行上的下一個韓文字符?

因爲我累了不知道該怎麼辦。

我可以編寫一個宏來查找第一個英文字母,並用製表符替換它之前的空格。我通過搜索範圍[a-Z]確定了第一個英文字母。之後,我想通過搜索遇到的下一個韓文字符來找到例句的開頭,但是韓文字符的範圍是什麼?

我發現了一個關於韓文字符的unicode常見問題,它似乎暗示每個字符實際上只是單個字母的組合,而在某些類型的編程中可以看作單獨的字母,但我可能會誤解。這個想法是,像「식」這樣的東西真的是三個字母「ㅅ」+「ㅣ」+「ㄱ」。所以我試着搜索一個字母「ㅅ」(它出現在我的輸入文件中的字符數量很多)並且沒有命中。這確實有可能讓事情變得簡單,但沒有骰子。

+0

只是一個想法,作爲一種解決方法你能搜索不在範圍[aZ]內的空格後面的第一個字符嗎? – stobin

+0

我完全嘗試過這樣的路線,這不是沒有問題,但我也遇到過問題。首先,我打標點符號,所以我試圖從搜索中排除單個標點符號。儘管輸入文件有單引號(儘管在上面的示例中,請參閱「我是」),並且雖然我能夠從Find中排除其他標點符號,但我昨晚在熬夜時試圖逃避單引號宏,並沒有我嘗試過的不同方法(反斜槓,雙反斜槓,使用兩個單引號,用雙引號括起單引號等)。 – user2031082

+0

你可以使用'ASC'函數來獲取字符的Unicode值嗎?請參見[MSDN](http://msdn.microsoft.com/en-us/library/aa262678%28VS.60%29.aspx)鏈接 –

回答

2

好,知道了 - 在這裏發現的範圍: http://en.wikipedia.org/wiki/Korean_language_and_computers#Hangul_in_Unicode

下面的代碼在我的宏找到下一個韓語字符在Word文檔中:

With Selection.Find 
    .Text = "[" & ChrW(44032) & "-" & ChrW(55203) & "]" 
    .Replacement.Text = "" 
    .Forward = True 
    .Wrap = wdFindContinue 
    .Format = False 
    .MatchCase = False 
    .MatchWholeWord = False 
    .MatchWildcards = True 
    .MatchSoundsLike = False 
    .MatchAllWordForms = False 
End With 
Selection.Find.Execute 
相關問題