【问题标题】:Inserting special ascii characters into a file using VBA (excel)使用 VBA (excel) 将特殊的 ascii 字符插入文件
【发布时间】:2012-12-22 21:59:25
【问题描述】:



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

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

最后,下面是我想如何实现代码的简要 sn-p,仅包含关键语句。如果您有更好的建议,或者知道为什么这不是最好的方法,请告诉我。

Open sFullPath For Output As #1

(...一些代码来捕获要写入文件下一行的值...)

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


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

非常感谢!
问候,
迈克

【问题讨论】:

    标签: file vba text escaping ascii


    【解决方案1】:

    要使用代码编号打印 ASCII 字符,请使用 chr() 函数

    扩展 ASCII 并不是所有平台的标准。不管出于什么原因,需要的数字是 222。

    所以你需要

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

    【讨论】:

    • 相当确定所需的字符数实际上是 254。当我点击我的帖子时,您的答案还没有出现(我加载了几个页面几分钟前)。在即时窗口中输入:? asc("þ") 使用 Alt+231 作为字符。
    • 当我使用 chr(222) 时,我得到了刺字符。但似乎一个是大写的,另一个是小写的。很好的收获:)
    • 感谢你们!我似乎无法找到引用“Chr()”的文档。
    【解决方案2】:

    尝试将&lt;the thorn character&gt; 替换为Chr(254)。让我知道这是怎么回事。

    【讨论】:

    • @brettdj 我被过度补偿并感到内疚!哈哈。不过谢谢你,我很感激:)
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2019-10-13
    • 2016-11-24
    • 1970-01-01
    • 1970-01-01
    • 2020-02-04
    • 2021-06-17
    相关资源
    最近更新 更多