无法从变量中删除“Enter”

时间:2017-09-18 16:08:04

标签: vba excel-vba powerpoint-vba excel

因此我正在运行的代码将从ppt中的幻灯片中提取字符串,其中一些字符串可能带有空格或输入/换行符。下面的代码是我所拥有的,它可以很好地删除空格,但它不适用于Enters /换行符。

pptText = Shpe.TextFrame.TextRange
pptText = LCase(Replace(pptText," ",""))
pptText = Replace(pptText,vbNewLine,"")

如果有像这样输入的文字:

iq_42, iq_26, iq_72

在调试器中,变量pptText将如下所示:

pptText = iq_42, iq_26,iq_72

但是在该变量中保存了一个字符,调试器没有显示哪个与我程序的其余部分混淆。

我尝试过修剪和替换,我尝试使用vbNewLine / vbCrLf / vbCr / vbLf来识别Enter /换行符,但没有成功。

有关如何删除“enter”的所有痕迹的任何想法?

2 个答案:

答案 0 :(得分:3)

试试这个:

pptText = Replace(pptText, Chr$(10), "")

这将替换任何内容中的换行符(Excel中的CHAR(10))。你也可以做" Chr(10)"。 dolla $ ign只是说"将其作为字符串值返回。"

答案 1 :(得分:3)

你可以试试这个:

修改

正如@Kostas K明智地建议的那样,这是函数版本

Function RemoveEnter(ByVal YourString As String) As String
    RemoveEnter = Replace(Replace(Replace(YourString, vbCrLf, ""), vbCr, ""), vbLf, "")
End Function