首頁會計ExcelVBA

VBA如何處理文字亂碼情形

應該蠻多人操作電腦遇到過亂碼,例如瀏覽網頁、開啓word文件、偶爾安裝其他國家其他语系的應用程式時,操作畫面也會出現亂碼。相較而言,Excel出現亂碼的機率比較少,我自己幾乎沒遇到。不過,最近第二本書要在馬來西亞新加坡發行,內容文字要改成簡體中文,截圖操作畫面要改成英文版Excel,在處理VBA的時候,發現原來繁體中文的正常檔案,於其他語言環境開啓變成亂碼,下了一番苦工研究對策,在此分享:

一、原本正常的繁體中文,一切都是那麼美好。

二、將Excel介面語言切換到英文,一瞬間悲劇了!

三、執行巨集,同樣是火星文字,不過,意外發現還是可以「Run」。

四、硬著頭皮跑程式,果不其然報錯了。

五、在上個步驟選擇「Debug」,VBA會幫忙跳到錯誤的那一行代碼,標明黃色。

六、江湖一點訣,說穿了不值錢。第一次遇到這種情形,我花了一些時間摸索,後來發現解決方法很直觀,既然是文字格式出問題,那麼就切換所使用字體:「Tools(工具)」、「Options(選項)」。

七、在跳出來的「Options(選項)」視窗中,移到「Editor Format(撰寫風格)」頁籤,在「Font(字型)」方塊中選擇「PMingLiu(CHINESE BIG5)」,這個就是大家很熟悉的新細明體,「PMingLiu」是它在非中文環境的名稱。

八、更改所使用字型後,終於正常顯示繁體中文,然而再次執行巨集,還是會在同樣一行代碼報錯。

九、又是一陣摸索之後,解決方法是將原來的工作表名稱「參數」刪除,以倉頡輸入法再打一次「參數」。從選字菜單推知確實是輸入「參數」,但在視窗中卻顯示空白,變成幽靈文字,然後可以執行巨集不再報錯。

電腦程式多語言兼容看似容易,其實不是一件簡單的事。最強大的微軟windows作業系統,也是摸索了一段時間之後才推行多語言版本。到如今,微軟的win 10和2016年office(也許更早版本)都可以支持不同語言的切換。操作Excel的時候,只要下載其他語言的微軟語言包,便可快速切換語言介面,不會遇到什麼問題。但如果要從Excel進一步到VBA,畢竟VBA為外掛的Basic語言,這篇文章的範例已經證明,語言包應該主要是針對Excel本身的切換,對於VBA支持度不是很全面,至少在工作表名稱和程式代碼方面,沒辦法順利地切換語言。所幸這篇文章範例的VBA資料不多,稍加修改不花太多時間。倘若是編寫大型的VBA,勢必會是個災難。所以如果預知會有不同語言的使用者,建議於Excel工作表命名和VBA變數宣告時,儘量以英文替代中文,因為英文是最為通用的語言。

Excel整理術 - 入門密技+進階實作 台北場淡江大學台北校區
2017-12-23(星期六) 09:00~16:00

http://smart.businessweekly.com.tw/ecourse/product.aspx?PROD_TYPE_NO=PROD000008934

《會計人的Excel小教室》:每位會計人都應該具備的武功秘笈!

http://www.books.com.tw/products/0010734874

《會計人的Excel VBA小教室》:會計人Excel強化並且VBA入門!

http://www.books.com.tw/products/0010753074