2016-05-24 41 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

相关问题