无法拆分电子邮件地址并在文本框中显示

时间:2016-01-03 10:51:14

标签: excel vba email

我正在使用Excel中的表单从组合框中选择一个电子邮件地址,并希望拆分电子邮件地址并仅显示所选电子邮件地址中的名字。请检查以下代码:

Private Sub UserForm_Initialize()

    Me.CboBugSts.List = Array("Open-Crtical", "Open-ShowStopper")
    Me.CboCC.List = Array("Nandesh.kalyankar@wipro.com")
    Me.CboToEmail.List = Array("firstName.LastName@Email.com")
    Me.CboGrtngs.List = Array("Hi", "Dear")
    TxtSubj.Value = "Bug notification logged by " & Environ("Username") & " - " & Now

End Sub

Private Sub TxtMsg_Change()

    arTemp = Split(Me.CboToEmail.Text, "@")
    Fname = arTemp(LBound(arTemp))
    TxtMsg.Text = Me.CboGrtngs.Text & " " & Fname

End Sub

此处Me.CboToEmail.text是用户从组合框文本中选择的值,然后我拆分电子邮件地址并将其与另一个组合框文本Me.CboGrtngs.text连接,但它显示整个电子邮件,而不仅仅是来自电子邮件的名字。

1 个答案:

答案 0 :(得分:0)

不确定(不是vba程序员),但由于CboToEmail被定义为列表或数组(带有一个项目):

Me.CboToEmail.List = Array("firstName.LastName@Email.com")

你不需要在这里提取第一个元素,而不是在整个列表中调用.Text吗?

arTemp = Split(Me.CboToEmail.Text, "@")

如果没有,Me.CboToEmail.Text的价值是什么?