Outlook: cómo extraer todas las URL de un correo electrónico
Si un correo electrónico contiene cientos de URL que se deben extraer a un archivo de texto, copiarlas y pegarlas una por una será un trabajo tedioso. Este tutorial presenta VBA 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 múltiples correos electrónicos a un archivo de Excel
- Automatiza el envío de correos electrónicos con Auto CC / BCC, Reenvío automático por reglas; enviar Respuesta automática (Fuera de la oficina) sin necesidad de un servidor Exchange...
- Recibe recordatorios como Advertencia de BCC al responder a todos mientras estás en la lista CCO, y Recordar si faltan archivos adjuntos para apegos olvidados...
- Mejore la eficiencia del correo electrónico con Responder (todos) con archivos adjuntos, Agregar automáticamente saludo o fecha y hora a la firma o al asunto, Responder varios correos electrónicos...
- Optimice el envío de correos electrónicos con Recuperar correos electrónicos, Herramientas de adjunto (Comprimir todo, Guardar todo automáticamente...), Eliminar duplicadosy 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 otro + F11 claves para habilitar Microsoft Visual Basic para aplicaciones ventana.
2. Hacer clic en recuadro > Módulo para crear un nuevo módulo en blanco, luego copie y pegue el código debajo del módulo.
VBA: extraiga 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, creará un nuevo archivo de texto que se nombra con el asunto del correo electrónico y se coloca en la ruta: C:\Usuarios\Público\Descargas, puedes cambiarlo según lo necesites.
3. Hacer clic en Herramientas > Referencias para permitir Referencias – Proyecto 1 cuadro de diálogo, marque la Expresiones regulares de Microsoft VBScript 5.5 caja. Hacer clic OK.
4. Prensa F5 tecla o clic Ejecutar para ejecutar el código, ahora aparece un archivo de texto y todas las URL se han extraído en él.
Note: si es usuario de Outlook 2010 y Outlook 365, marque también la casilla de verificación Modelo de objetos de host de secuencias de comandos de Windows en el Paso 3. Luego haga clic en Aceptar.
VBA para extraer URL de múltiples 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 de VBA puede ayudarlo.
1. Seleccione un correo electrónico del que desee extraer las URL y presione otro + F11 claves para habilitar Microsoft Visual Basic para aplicaciones ventana.
2. Hacer clic en recuadro > Módulo para crear un nuevo módulo en blanco, luego copie y pegue el código debajo del módulo.
VBA: extraiga todas las URL de varios correos electrónicos en 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, extrae todos los hipervínculos y los textos de visualización correspondientes y los asuntos del correo electrónico.
3. Hacer clic en Herramientas > Referencias para permitir Referencias – Proyecto 1 cuadro de diálogo, marcar Biblioteca de objetos de Microsoft Excel 16.0 y Biblioteca de objetos de Microsoft Word 16.0 casillas de verificación Hacer clic OK.
4. Luego coloque el cursor dentro del código VBA, presione F5 tecla o clic Ejecutar para ejecutar el código, ahora aparece un libro de trabajo y todas las URL se han extraído en él, luego puede guardarlo en una carpeta.
Note: todos los VBA anteriores extraen todo tipo de hipervínculos.
Las mejores herramientas de productividad de oficina
Kutools para Outlook - Más de 100 potentes funciones para potenciar tu perspectiva
🤖 Asistente de correo AI: Correos electrónicos profesionales instantáneos con magia de IA: respuestas geniales con un clic, tono perfecto y dominio multilingüe. ¡Transforme el correo electrónico sin esfuerzo! ...
📧 Automatización de correo electrónico: Fuera de la oficina (disponible para POP e IMAP) / Programar envío de correos electrónicos / CC/CCO automático según reglas al enviar correo electrónico / Reenvío automático (reglas avanzadas) / Agregar saludo automáticamente / Divida automáticamente correos electrónicos de múltiples destinatarios en mensajes individuales ...
📨 Gestión de correo electrónico: Recuperar correos electrónicos fácilmente / Bloquear correos electrónicos fraudulentos por sujetos y otras personas / Eliminar correos electrónicos duplicados / Búsqueda Avanzada / Consolidar carpetas ...
📁 Archivos adjuntos profesionales: Guardar lote / Separación de lotes / Comprimir por lotes / Ahorro automático / Desconexión automática / Autocompresión ...
???? Interfaz mágica: 😊Más emojis bonitos y geniales / Aumente su productividad en Outlook con vistas con pestañas / Minimizar Outlook en lugar de cerrar ...
👍 Maravillas con un clic: Responder a todos los archivos adjuntos entrantes / Correos electrónicos antiphishing / 🕘Mostrar zona horaria del remitente ...
👩🏼🤝👩🏻 Contactos y calendario: Agregar por lotes contactos de correos electrónicos seleccionados / Dividir un grupo de contactos en grupos individuales / Eliminar recordatorios de cumpleaños ...
Mas de Características 100 ¡Espere su exploración! Haga clic aquí para descubrir más.