【发布时间】:2013-09-29 18:09:46
【问题描述】:
我在试图将字符串绑定到 Outlook VBA 中所需的内容时遇到了很大的困难。我已经尝试了 100 种不同的东西,来自整个互联网,包括这里。
我使用以下:
CString = LTrim$(RTrim$(Mid(itm.Body, InStr(1, itm.Body, CCMark) + Len(CCMark), _
InStr(InStr(1, itm.Body, CCMark) + Len(CCMark), itm.Body, CCMark) - (InStr(1, itm.Body, CCMark) + Len(CCMark)))))
CCMark = "C/"
但由于邮件正文包含:C/test C/,变量(CString)转到“test”。
我尝试过使用第二个变量与 Trim、RTrim、LTrim、Trim$、LTrim$ 和 RTrim$。此外,我尝试过用双空格和单空格替换。我已经尝试过互联网上流行的 TrimAll 函数,它试图找到不同的 Chr() 值以及 vbTab 等。这些似乎都没有替代任何东西。
字符串保持不变。
这是固定长度与可变长度(“相当大”)字符串的问题吗?我还没有找到从固定长度转换为变量的方法。传递函数不起作用。
关于如何得出“测试”结果的任何建议?
非常感谢您的帮助。
【问题讨论】:
-
帖子删除了额外的“空格”(尽管我不认为 VBA 将它们视为空格)。想象一下“test”两边的任意数量的字符(显示为空格)。
-
要找出真正位于输出字符串开头的字符,请尝试打印出代码点:
Debug.Print(AscW(Left(CString,1)))。它打印什么? -
有帮助,谢谢你,约书亚。
标签: string vba outlook trim non-printable