Outlook: Cómo extraer todas las URL de un correo electrónico
Si un correo electrónico contiene cientos de URL que necesitan ser extraídas a un archivo de texto, copiar y pegar una por una será una tarea tediosa. Este tutorial introduce VBAs que pueden extraer rápidamente todas las URL de un correo electrónico.
VBA para extraer URL de un correo electrónico a un archivo de texto
VBA para extraer URL de varios correos electrónicos a un archivo de Excel
- Mejora tu productividad de correo electrónico con tecnología de inteligencia artificial, permitiéndote responder rápidamente correos electrónicos, redactar nuevos, traducir mensajes y mucho más eficientemente.
- Automatiza el envío de correos electrónicos con CC/BCC automático, Reenvío automático por reglas; envía Respuesta automática (Fuera de la oficina) sin necesidad de un servidor de intercambio...
- Recibe recordatorios como Indicar al responder a un correo electrónico en el que estoy en CCO cuando respondes a todos estando en la lista CCO, y Recordatorio cuando falten adjuntos para adjuntos olvidados...
- Mejora la eficiencia del correo electrónico con Responder (todos) Con adjuntos, Auto Agregar Saludo o Fecha y Hora en la firma o Asunto, Responder múltiples correos electrónicos...
- Optimiza el envío de correos electrónicos con Recuperar correos electrónicos, Herramientas de archivos adjuntos (Comprimir archivos adjuntos, Guardar automáticamente), Eliminar duplicados y Informe rápido...
VBA para extraer URL de un correo electrónico a un archivo de texto
1. Seleccione un correo electrónico del que desee extraer las URL y presione las teclas Alt + F11 para habilitar la ventana de Microsoft Visual Basic para Aplicaciones.
2. Haga clic en Insertar > Módulo para crear un nuevo módulo en blanco, luego copie y pegue el siguiente código en el módulo.
VBA: extraer todas las URL de un correo electrónico a un archivo de texto.
Sub ExportUrlToTextFileFromEmail()
'UpdatebyExtendoffice20220413
Dim xMail As Outlook.MailItem
Dim xRegExp As RegExp
Dim xMatchCollection As MatchCollection
Dim xMatch As Match
Dim xUrl As String, xSubject As String, xFileName As String
Dim xFs As FileSystemObject
Dim xTextFile As Object
Dim i As Integer
Dim InvalidArr
On Error Resume Next
If Application.ActiveWindow.Class = olInspector Then
Set xMail = ActiveInspector.CurrentItem
ElseIf Application.ActiveWindow.Class = olExplorer Then
Set xMail = ActiveExplorer.Selection.Item(1)
End If
Set xRegExp = New RegExp
With xRegExp
.Pattern = "(https?[:]//([0-9a-z=\?:/\.&-^!#$;_])*)"
.Global = True
.IgnoreCase = True
End With
If xRegExp.test(xMail.Body) Then
InvalidArr = Array("/", "\", "*", ":", Chr(34), "?", "<", ">", "|")
xSubject = xMail.Subject
For i = 0 To UBound(InvalidArr)
xSubject = VBA.Replace(xSubject, InvalidArr(i), "")
Next i
xFileName = "C:\Users\Public\Downloads\" & xSubject & ".txt"
Set xFs = CreateObject("Scripting.FileSystemObject")
Set xTextFile = xFs.CreateTextFile(xFileName, True)
xTextFile.WriteLine ("Export URLs:" & vbCrLf)
Set xMatchCollection = xRegExp.Execute(xMail.Body)
i = 0
For Each xMatch In xMatchCollection
xUrl = xMatch.SubMatches(0)
i = i + 1
xTextFile.WriteLine (i & ". " & xUrl & vbCrLf)
Next
xTextFile.Close
Set xTextFile = Nothing
Set xMatchCollection = Nothing
Set xFs = Nothing
Set xFolderItem = CreateObject("Shell.Application").NameSpace(0).ParseName(xFileName)
xFolderItem.InvokeVerbEx ("open")
Set xFolderItem = Nothing
End If
Set xRegExp = Nothing
End Sub
En este código, se creará un nuevo archivo de texto nombrado con el asunto del correo electrónico y colocado en la ruta: C:\Users\Public\Downloads, puede cambiarla según sea necesario.

3. Haga clic en Herramientas > Referencias para abrir el cuadro de diálogo Referencias – Proyecto 1, marque la casilla Microsoft VBScript Regular Expressions 5.5. Haga clic en Aceptar.


4. Presione la tecla F5 o haga clic en el botón Ejecutar para ejecutar el código, ahora aparecerá un archivo de texto y todas las URL se habrán extraído en él.


Nota: si es usuario de Outlook 2010 y Outlook 365, también debe marcar la casilla Windows Script Host Object Model en el Paso 3. Luego haga clic en Aceptar.
VBA para extraer URL de varios correos electrónicos a un archivo de Excel
Si desea extraer URL de varios correos electrónicos seleccionados a un archivo de Excel, el siguiente código VBA puede ayudarlo.
1. Seleccione un correo electrónico del que desee extraer las URL y presione las teclas Alt + F11 para habilitar la ventana de Microsoft Visual Basic para Aplicaciones.
2. Haga clic en Insertar > Módulo para crear un nuevo módulo en blanco, luego copie y pegue el siguiente código en el módulo.
VBA: extraer todas las URL de varios correos electrónicos a un archivo de Excel
'UpdatebyExtendoffice20220414
Dim xExcel As Excel.Application
Dim xExcelWb As Excel.Workbook
Dim xExcelWs As Excel.Worksheet
Sub ExportAllUrlsToExcelFromMultipleEmails()
Dim xMail As MailItem
Dim xSelection As Selection
Dim xWordDoc As Word.Document
Dim xHyperlink As Word.Hyperlink
On Error Resume Next
Set xSelection = Outlook.Application.ActiveExplorer.Selection
If (xSelection Is Nothing) Then Exit Sub
Set xExcel = CreateObject("Excel.Application")
Set xExcelWb = xExcel.Workbooks.Add
Set xExcelWs = xExcelWb.Sheets(1)
xExcelWb.Activate
With xExcelWs
.Range("A1") = "Subject"
.Range("B1") = "DisplayText"
.Range("C1") = "Link"
End With
With xExcelWs.Range("A1", "C1").Font
.Bold = True
.Size = 12
End With
For Each xMail In xSelection
Set xWordDoc = xMail.GetInspector.WordEditor
If xWordDoc.Hyperlinks.Count > 0 Then
For Each xHyperlink In xWordDoc.Hyperlinks
Call ExportToExcelFile(xMail, xHyperlink)
Next
End If
Next
xExcelWs.Columns("A:C").AutoFit
xExcel.Visible = True
End Sub
Sub ExportToExcelFile(curMail As MailItem, curHyperlink As Word.Hyperlink)
Dim xRow As Integer
xRow = xExcelWs.Range("A" & xExcelWs.Rows.Count).End(xlUp).Row + 1
With xExcelWs
.Cells(xRow, 1) = curMail.Subject
.Cells(xRow, 2) = curHyperlink.TextToDisplay
.Cells(xRow, 3) = curHyperlink.Address
End With
End Sub
En este código, se extraen todos los hipervínculos, los textos de visualización correspondientes y los asuntos de los correos electrónicos.

3. Haga clic en Herramientas > Referencias para abrir el cuadro de diálogo Referencias – Proyecto 1, marque las casillas Microsoft Excel 16.0 Object Library y Microsoft Word 16.0 Object Library. Haga clic en Aceptar.


4. Luego coloque el cursor dentro del código VBA, presione la tecla F5 o haga clic en el botón Ejecutar para ejecutar el código, ahora aparece un libro y todas las URL se han extraído en él, luego puede guardarlo en una carpeta.

Nota: todos los VBAs anteriores extraen todos los tipos de hipervínculos.
Las mejores herramientas de productividad para Office
Noticia de última hora: ¡Kutools para Outlook lanza su versión gratuita!
¡Descubre el nuevo Kutools para Outlook con más de100 increíbles funciones! Haz clic para descargar ahora.
📧 Automatización de correo electrónico: Respuesta automática (disponible para POP e IMAP) / Programar envío de correo electrónico / CC/BCC automático por regla al enviar correo / Reenvío automático (Regla avanzada) / Agregar saludo automáticamente / Dividir automáticamente correos con múltiples destinatarios en emails individuales...
📨 Gestión de correo electrónico: Recuperar correo electrónico / Bloquear correos fraudulentos por asunto y otros filtros / Eliminar duplicados / Búsqueda Avanzada / Organizar carpetas...
📁 Adjuntos Pro: Guardar en lote / Desanexar en lote / Comprimir en lote / Guardar automáticamente / Desconectar automáticamente / Auto Comprimir...
🌟 Magia en la interfaz: 😊Más emojis bonitos y modernos / Avisos cuando llegan emails importantes / Minimizar Outlook en vez de cerrar...
👍 Funciones en un clic: Responder a Todos con Adjuntos / Correos antiphishing / 🕘Mostrar la zona horaria del remitente...
👩🏼🤝👩🏻 Contactos y Calendario: Agregar contacto en lote desde emails seleccionados / Dividir un grupo de contactos en grupos individuales / Eliminar recordatorio de cumpleaños...
Utiliza Kutools en tu idioma preferido — disponible en Inglés, Español, Alemán, Francés, Chino y más de40 idiomas adicionales.


🚀 Descarga con un solo clic — Consigue todos los complementos para Office
Muy recomendado: Kutools para Office (5 en1)
Descarga los cinco instaladores a la vez con solo un clic — Kutools para Excel, Outlook, Word, PowerPoint y Office Tab Pro. Haz clic para descargar ahora.
- ✅ Comodidad en un solo clic: Descarga los cinco paquetes de instalación en una sola acción.
- 🚀 Listo para cualquier tarea en Office: Instala los complementos que necesites cuando los necesites.
- 🧰 Incluye: Kutools para Excel / Kutools para Outlook / Kutools para Word / Office Tab Pro / Kutools para PowerPoint