ARRAY

ALEXLUGON 03/11/2009 20:31:18
#326846
boa noite pessoal, estou com um problema com array

é o seguinte em em um txt tenho as seguinte linha

Alex Lugon <alexlugon@evolutionaccess.com.br>
marcos <marcos@bol.com>
antonio@ig.com.br
marcos <marcos@bol.com>


etc

como faço para jogar os nomes em uma variavel chamada NOME e o Email em uma Variavel chamada EMAIL

tentei fazer assim

dim aArray as variant

aArray = [txt-color=#0000FF]Split[/txt-color]([txt-color=#0000FF]Replace[/txt-color](s, [Ô]>[Ô], [Ô][Ô]), [Ô]<[Ô])

so que quando tem apenas o email da erro

Como posso resolver isso.?

PH1959 03/11/2009 20:36:43
#326847
dá um if primeiro, buscando o Sinal [Ô]<[Ô] se não tiver vc manda procurar o @ para verificar se é email ou nome
ALEXLUGON 03/11/2009 20:41:15
#326848
sim mas como faço isso da um exemplo por favor?

ICEMAN 03/11/2009 21:51:49
#326859
dim X as integer

for x = 1 to len(ObjetoQueCarregaOTexto)


if mid(objetoquecarregaotexto,x,1)=[Ô]@[Ô] then
msgbox [Ô]E-mail[Ô],vbinformation+vbokonly,[Ô]Aviso ....[Ô]
end if

next


o basico é isso ai
HARRY.POTTER 03/11/2009 22:12:10
#326860
Resposta escolhida
Supondo que você tenha esse texto num Textbox (textbox1) com MultiLine=True:

Private Sub Command1_Click()
Dim Linhas() As String
Dim Nomes() As String
Dim Emails() As String

Linhas = Split(Text1.Text, vbCrLf)
ReDim Nomes(UBound(Linhas))
ReDim Emails(UBound(Linhas))

For i = 0 To UBound(Linhas)
inicio = InStr(1, Linhas(i), [Ô]<[Ô])
If inicio Then
Nomes(i) = Trim(Mid(Linhas(i), 1, inicio - 1))
Emails(i) = Trim(Mid(Linhas(i), inicio + 1, InStr(inicio, Linhas(i), [Ô]>[Ô]) - inicio - 1))
Else
Emails(i) = Linhas(i)
End If
Next

For i = 0 To UBound(Linhas)
MsgBox [Ô]Nome: [Ô] & Nomes(i) & vbCrLf & [Ô]Email: [Ô] & Emails(i)
Next
End Sub
Tópico encerrado , respostas não são mais permitidas