Note: The other languages of the website are Google-translated. Back to English

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

Office fül - Füles szerkesztés és böngészés engedélyezése az Office-ban, és a munka sokkal könnyebb ...
Kutools for Outlook - 100 hatékony speciális funkciót hoz a Microsoft Outlook programba
  • Auto CC / BCC szabályok szerint e-mail küldéskor; Automatikus továbbítás Több e-mail szabályok szerint; Autómatikus válasz csere szerver és további automatikus funkciók nélkül ...
  • BCC figyelmeztetés - mutasson üzenetet, amikor megpróbálja megválaszolni az összeset, ha az Ön e-mail címe szerepel a BCC listában; Emlékeztessen a hiányzó mellékletekre, és további funkciók emlékeztetnek ...
  • Válasz (összes) az összes melléklettel a levelezési beszélgetésben; Válaszoljon egyszerre sok e-mailt; Automatikus üdvözlet hozzáadása amikor válasz; Dátum és idő automatikus hozzáadása a tárgyhoz ...
  • Melléklet eszközök: Automatikus leválasztás, Összes tömörítése, Átnevezés, Automatikus mentés ... Gyorsjelentés, A kiválasztott levelek megszámlálása, Távolítsa el az ismétlődő leveleket és névjegyeket ...
  • Több mint 100 speciális funkcióval rendelkezik megoldja a legtöbb problémáját az Outlook 2010-2019-ben és a 365-ben. A teljes funkciók 60 napos ingyenes próbaidőszak.

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.

doc kivonat url 1

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.

doc kivonat url 1

doc kivonat url 1

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.

doc kivonat url 1

doc kivonat url 1

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.

doc kivonat url 1

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 Microsoft Word 16.0 objektumtár jelölőnégyzeteket. Kattintson OK.

doc kivonat url 1

doc kivonat url 1

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.

doc kivonat url 1

Megjegyzések: a fenti VBA-k minden típusú hiperhivatkozást kivonnak.


Kutools for Outlook - 100 speciális funkciót hoz az Outlookba, és sokkal könnyebbé teszi a munkát!

  • Auto CC / BCC szabályok szerint e-mail küldéskor; Automatikus továbbítás Több e-mail egyedi; Autómatikus válasz csere szerver és további automatikus funkciók nélkül ...
  • BCC figyelmeztetés - üzenet megjelenítése, amikor megpróbál válaszolni az összesre ha az e-mail címed szerepel a BCC listában; Emlékeztessen a hiányzó mellékletekre, és további funkciók emlékeztetnek ...
  • Válasz (minden) az összes melléklettel az e-mail beszélgetésben; Válasz sok e-mailre másodpercek alatt; Automatikus üdvözlet hozzáadása amikor válasz; Dátum hozzáadása a tárgyhoz ...
  • Mellékleteszközök: Az összes levél összes mellékletének kezelése, Automatikus leválasztás, Tömörítsen mindent, Átnevezés, Összes mentése ... Gyorsjelentés, Számolja ki a kiválasztott leveleket...
  • Erőteljes levélszemét szokás szerint; Távolítsa el az ismétlődő leveleket és névjegyeket... Lehetővé teszi, hogy okosabban, gyorsabban és jobban végezze el az Outlook programot.
lövés kutools outlook kutools fül 1180x121
shot kutools outlook kutools plus tab 1180x121
 
A megjegyzések rendezése szerint
Hozzászólások (0)
Még nincs értékelés. Legyen Ön az első, aki értékel!
Még senki sem írt megjegyzést
Hagyja meg észrevételeit
Feladás vendégként
×
Értékeld ezt a bejegyzést:
0  Karakterek
Javasolt helyek