2013-01-08 379 views
2



我对VBA相当陌生,但对一般编码不太熟悉。我有一个Excel工作表,其中的一部分我需要导出到一个文本文件。但是,为了确保转义字符不会与工作表中写入的任何内容相冲突,并且要与我们公司的其他应用程序(Java & C)中的转义字符处理方式相匹配,我希望使用ascii字符“ thorn“。

我知道的一些语言,比如perl,只会让你输入一个转义字符和符号的ascii数字。例如,我可以输入“\ 231”以获得“thorn”。看来这在VBA中不受支持。或者如果是这样,我不知道如何。

最后,下面是我想如何实现代码的一个简短片段,只是关键语句。如果你有更好的建议,或者知道为什么这不是最好的方式,请告诉我。使用VBA(excel)将特殊ascii字符插入到文件中

Open sFullPath For Output As #1 

(...一些代码来捕捉的值被写入到该文件的下一行...)

sLine = Join(sValues, <the thorn character>) 
Print #1, sLine 


上面的代码将被放置在一个循环中该会重新生成“sValues”,即将要打印到文本文件的下一行中的相关单元格集合。

非常感谢!
问候,
迈克

回答

2

打印使用它的代码数量的ASCII字符,使用chr()功能

扩展ASCII是不是在所有平台上的标准。无论出于何种原因,所需要的数量是222

所以你需要

sLine = Join(sValues, chr(222)) 
Print #1, sLine 
+0

我*相当*确定所需的字符数量实际上是254.当我打我的帖子(我几分钟前加载页面)时,您的回答没有出现。在即时窗口中输入:'? asc(“þ”)'使用Alt + 231作为字符。 – mkingston

+0

当我使用字符(222)我得到刺角色。但似乎一个是大写字母,另一个是小写字母。好的赶上:) –

+0

感谢你们俩!我似乎无法找到涉及“Chr()”的文档。 –

1

尝试用Chr(254)更换<the thorn character>。让我知道那是怎么回事。

+0

+1复仇投票更正。 – brettdj

+0

@brettdj我一直过度补偿,感到内疚!哈哈。谢谢,但我很欣赏它:) – mkingston