[心得] VBA如何處理文字亂碼情形

作者: moodyblue   2017-09-30 21:19:21
VBA如何處理文字亂碼情形
網誌圖文版:
http://www.b88104069.com/archives/4243
應該蠻多人操作電腦遇到過亂碼,例如瀏覽網頁、開啓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如何以Cell函數自動更新會計期間
http://www.b88104069.com/archives/4237
VBA如何編寫Vlookup公式整理財產目錄
http://www.b88104069.com/archives/4234
Excel編製預算時如何限制特定範圍編輯
http://www.b88104069.com/archives/4233

Links booklink

Contact Us: admin [ a t ] ucptt.com