2016-05-24 43 views
4

我想就這個問題發表看法。每次我想發送包含我的母語變音符號的vba字符串時,都會回到我的excel或outlook中。如何在發送vba字符串到excel/outlook時保留變音符號?

我已經更改了vba編輯器中的字體,所以它在代碼中顯示了正確的標記,並且在工作表/ outlook消息中手動輸入這些標記時它也能正常工作。問題發生在宏執行時,就像辦公室錯誤地編碼vba發送給程序的動作一樣。

例如: 我可以在單元格中輸入「英鎊」字母。

我可以輸入在編輯器,以及:

Sub example() 
Range("A1").Value = "Ł" 
End Sub 

但是執行宏的情況下,範圍A1示出了 「£」。

你知道問題在哪裏嗎?

順便說一句,當我從vba代碼複製到這個窗口時發生了同樣的情況。 (以下簡稱「L」的代碼轉化爲「£」。

非常感謝! 塞巴斯蒂安。

回答

2

如果你知道你要在單元格中放置然後使用CHRW功能字符的Unicode值例如,對於變音的A:

ActiveSheet.Cells(1, 1).Value = ChrW(&H00c4) 

注意,輸入功能是十六進制的字符,你想嘗試並找到Unicode值與&^h前綴它讓VBA知道你是路過一個十六進制值。

+1

謝謝羅賓。這對單數發生的情況肯定有用,但我希望有某種方法,因爲當發送一些長字符串,比如消息正文時,編輯所有內容並將其替換爲unicode會非常痛苦。特別是當我需要經常用不同的句子使用帶有變音符號的字符串時。 – Sebastian

+0

也許檢查'StrConv'函數https://msdn.microsoft.com/en-us/library/office/gg264628.aspx –

+0

不幸的是,它似乎並沒有工作......嘗試了不同的配置,我認爲這可能會提供一個解決方案。 – Sebastian

相關問題