Extraer múltiples direcciones de correo electrónico de destinatarios desde Lotus Notes utilizando VBA.
Edité un código VBA que obtuve de internet para obtener la dirección de correo del destinatario y todas las direcciones de correo del campo CC. El código que se muestra a continuación solo muestra una dirección de correo electrónico, sin embargo, hay varios destinatarios. ¿Cómo puedo editar el programa a continuación para obtener todos los destinatarios de los campos SendTo y CopyTo?
“`vba
Public Sub Get_Notes_Email_Address()
Dim NSession As Object 'NotesSession
Dim NMailDb As Object 'NotesDatabase
Dim NDocs As Object 'NotesDocumentCollection
Dim NDoc As Object 'NotesDocument
Dim NNextDoc As Object 'NotesDocument
Dim NItem As Object 'NotesItem
Dim view As String
Dim vn As Integer
Dim filterText As String
filterText = "texto a buscar"
Set NSession = CreateObject("Notes.NotesSession")
'Set NMailDb = NSession.CurrentDatabase
Set NMailDb = NSession.getDatabase("<nombreservidor>", "<localización>")
'MsgBox NMailDb.AllEntries()
If Not NMailDb.IsOpen Then
NMailDb.OPENMAIL
End If
Set NDocs = NMailDb.AllDocuments
If filterText <> "" Then
NDocs.FTSEARCH filterText, 0
End If
'MsgBox NDocs.Count
Set NDoc = NDocs.GetFirstDocument
'MsgBox NDocs.GetFirstDocument
vn = 2
Do Until NDoc Is Nothing
Set NNextDoc = NDocs.GetNextDocument(NDoc)
Set NItem = NDoc.GETFIRSTITEM("Body")
If Not NItem Is Nothing Then
<pre><code> Cells(vn, 3) = NDoc.GETITEMVALUE("Subject")(0)
'MsgBox prompt:=NDoc.GETITEMVALUE("CopyTo")(0), Title:="CopyTo"
Cells(vn, 4) = NDoc.GETITEMVALUE("CopyTo")
'MsgBox prompt:=NDoc.GETITEMVALUE("SendTo")(0), Title:="SendTo"
Cells(vn, 5) = NDoc.GETITEMVALUE("SendTo")
End If
Set NDoc = NNextDoc
vn = vn + 1
</code></pre>
Loop
'restablecer todos los objetos a nulos
Set NMailDb = Nothing
Set NSession = Nothing
End Sub
“`</localización>
davy.ai
Para obtener todos los destinatarios de los campos SendTo y CopyTo, debes modificar el código de la siguiente manera:
La función ‘Join()’ une el array de destinatarios en una cadena con un delimitador de tu elección (
"; "
en este caso) para que puedan ser escritos en la hoja de trabajo.Con estos cambios, el código modificado obtendrá todas las direcciones de correo electrónico tanto de los campos SendTo como CopyTo y las escribirá en la hoja de trabajo.