我有一个从Excel中的单元格读取的字符串,如下所示:
""Horace Lai" & vbNewLine & Date"
或者
"Chr(149) & "level 1" & vbNewLine & Chr(9) & Chr(149) & "level 2" & Chr(149) & "level 1" & vbNewLine & Chr(9) & Chr(149) & "level 2" & vbNewLine & Chr(9) & Chr(9) & Chr(149) & "level 3""
我希望能够评估这些字符串,以便""Horace Lai" & vbNewLine & Date"
成为:
Horace Lai
2014-06-20
到目前为止,我已经尝试过ScriptControl而没有成功。当我有字符串的双引号时,它似乎不喜欢它。
Sub testing()
Dim sc As ScriptControl
Set sc = CreateObject("ScriptControl")
sc.Language = "JScript"
MsgBox sc.Eval(""Horace Lai" & vbNewLine & Date")
End Sub
MsgBox行变为红色,我无法运行它。
有什么想法吗?谢谢 -Horace
答案 0 :(得分:0)
首先将名称加载到变量即name = """Horace Lai"""
(这将包含引号)
然后使用replace函数搜索名称为name = Replace(name,"""","")
然后运行MsgBox (name & vbNewLine & Date)
这应该删除额外的"你要面对的标志
答案 1 :(得分:0)
您指定 JScript ,而不是:
Dim test As String, result As String
test = "Chr(149) & ""level 1"" & vbNewLine & Chr(9) & Chr(149) & ""level 2"" & Chr(149) & ""level 1"" & vbNewLine & Chr(9) & Chr(149) & ""level 2"" & vbNewLine & Chr(9) & Chr(9) & Chr(149) & ""level 3"""
Dim sc As Object
Set sc = CreateObject("ScriptControl")
sc.Language = "VBScript"
result = sc.Eval(test)
Debug.Print result
•level 1
•level 2•level 1
•level 2
•level 3