Outlook: Hogyan nyerhet ki minden URL-t egyetlen e-mailből
Ha egy e-mail több száz URL-t tartalmaz, amelyeket szöveges fájlba kell kibontani, akkor ezek egyenkénti másolása és beillesztése fárasztó munka lesz. Ez az oktatóanyag olyan VBA-kat mutat be, amelyek gyorsan kinyerhetik az összes URL-t az e-mailekből.
VBA az URL-ek kinyerésére egy e-mailből egy szöveges fájlba
VBA több e-mail URL-címek kinyeréséhez egy Excel-fájlba
- Automatizálja az e-mailezést ezzel Auto CC / BCC, Automatikus továbbítás szabályok szerint; Küld Autómatikus válasz (Out of Office) Exchange szerver nélkül...
- Szerezzen emlékeztetőket BCC figyelmeztetés amikor mindenkinek válaszol, miközben a Titkos másolat listában van, és Emlékeztessen a hiányzó mellékletekre az elfelejtett mellékletekhez...
- Növelje az e-mailek hatékonyságát Válasz (mindenre) mellékletekkel, Üdvözlés vagy dátum és idő automatikus hozzáadása az aláíráshoz vagy a tárgyhoz, Válasz több e-mailre...
- Egyszerűsítse az e-mailezést ezzel E-mailek visszahívása, Melléklet eszközök (Összes tömörítése, Összes automatikus mentése...), Távolítsa el a másolatokatés Gyorsjelentés...
VBA az URL-ek kinyerésére egy e-mailből egy szöveges fájlba
1. Válasszon ki egy e-mailt, amelyből ki szeretné bontani az URL-eket, és nyomja meg a gombot más + F11 gombokat az engedélyezéshez Microsoft Visual Basic for Applications ablak.
2. kettyenés betétlap > Modulok egy új üres modul létrehozásához, majd másolja ki és illessze be az alábbi kódot a modulba.
VBA: bontsa ki az összes URL-t egy e-mailből egy szöveges fájlba.
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
Ebben a kódban létrehoz egy új szöveges fájlt, amely az e-mail tárgyával lesz elnevezve, és az elérési útba kerül: C:\Felhasználók\Nyilvános\Letöltések, szükség szerint módosíthatja.
3. kettyenés Eszközök > Referenciák engedélyezni Referenciák – 1. projekt párbeszédpanelen jelölje be a Microsoft VBScript rendszeres kifejezések 5.5 jelölőnégyzetet. Kattintson a gombra OK.
4. nyomja meg F5 vagy kattintson futás gombot a kód futtatásához, most kiugrik egy szöveges fájl, és az összes URL-címet kicsomagolta.
Megjegyzések: ha Ön az Outlook 2010 és az Outlook 365 felhasználói, kérjük, jelölje be a Windows Script Host Object Model jelölőnégyzetet is a 3. lépésben. Ezután kattintson az OK gombra.
VBA több e-mail URL-címek kinyeréséhez egy Excel-fájlba
Ha több kiválasztott e-mailből szeretne URL-eket kinyerni egy Excel-fájlba, az alábbi VBA-kód segíthet.
1. Válasszon ki egy e-mailt, amelyből ki szeretné bontani az URL-eket, és nyomja meg a gombot más + F11 gombokat az engedélyezéshez Microsoft Visual Basic for Applications ablak.
2. kettyenés betétlap > Modulok egy új üres modul létrehozásához, majd másolja ki és illessze be az alábbi kódot a modulba.
VBA: bontsa ki az összes URL-t több e-mailből egy Excel-fájlba
'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
Ebben a kódban kibontja az összes hiperhivatkozást, a megfelelő megjelenített szövegeket és az e-mailek tárgyait.
3. kettyenés Eszközök > Referenciák engedélyezni Referenciák – 1. projekt párbeszédpanel, pipa Microsoft Excel 16.0 objektumkönyvtár és a Microsoft Word 16.0 objektumtár jelölőnégyzeteket. Kattintson OK.
4. Ezután vigye a kurzort a VBA kódba, és nyomja meg a gombot F5 vagy kattintson futás gombot a kód futtatásához, most kiugrik egy munkafüzet, és az összes URL-címet kicsomagolta, majd elmentheti egy mappába.
Megjegyzések: a fenti VBA-k minden típusú hiperhivatkozást kivonnak.
A legjobb irodai hatékonyságnövelő eszközök
Kutools az Outlook számára - Több mint 100 hatékony funkció az Outlook feltöltéséhez
???? E-mail automatizálás: Hivatalon kívül (POP és IMAP esetén elérhető) / Ütemezze az e-mailek küldését / Automatikus CC/BCC szabályok szerint e-mail küldésekor / Automatikus továbbítás (Speciális szabályok) / Automatikus üdvözlet hozzáadása / A több címzettnek szóló e-mailek automatikus felosztása egyedi üzenetekre ...
📨 Email Management: Könnyen visszahívhatja az e-maileket / Blokkolja az alanyok és mások átverő e-mailjeit / Törölje az ismétlődő e-maileket / Részletes keresés / Mappák összevonása ...
📁 Attachments Pro: Kötegelt mentés / Batch Detach / Batch tömörítés / Automatikus mentés / Automatikus leválasztás / Automatikus tömörítés ...
🌟 Interface Magic: 😊További szép és menő hangulatjelek / Növelje Outlook termelékenységét a füles nézetekkel / Minimalizálja az Outlookot a bezárás helyett ...
👍 Csodák egy kattintással: Válasz mindenkinek a bejövő mellékletekkel / Adathalászat elleni e-mailek / 🕘A feladó időzónájának megjelenítése ...
👩🏼🤝👩🏻 Névjegyek és naptár: Névjegyek kötegelt hozzáadása a kiválasztott e-mailekből / Egy kapcsolattartó csoport felosztása egyéni csoportokra / Távolítsa el a születésnapi emlékeztetőket ...
Több, mint 100 Jellemzők Várja felfedezését! Kattintson ide, ha többet szeretne megtudni.