Skip to main content

Outlook: Bir e-postadan tüm URL'leri nasıl çıkarılır

Author: Sun Last Modified: 2025-08-07

Bir e-postada yüzlerce URL varsa ve bunların bir metin dosyasına çıkarılması gerekiyorsa, bunları teker teker kopyalayıp yapıştırmak oldukça yorucu bir iş olacaktır. Bu öğretici, bir e-postadan tüm URL'leri hızlıca çıkarabilen VBA kodlarını tanıtmaktadır.

Tek bir e-postadan URL'leri metin dosyasına çıkarmak için VBA

Birden fazla e-postadan URL'leri Excel dosyasına çıkarmak için VBA

Office Tab - Sekmeli düzenleme ve Microsoft Office'de gezinmeyi etkinleştirin, işleri kolaylaştırın.
Kutools for Outlook'u şimdi açın ve sınırsız erişimle 100'den fazla özelliği hemen kullanmaya başlayın.
Outlook 2024 - 2010 veya Outlook 365'inizi bu gelişmiş özellikleri kullanarak güçlendirin. 100'den fazla güçlü özelliğin keyfini çıkarın ve e-posta deneyiminizi geliştirin!

Tek bir e-postadan URL'leri metin dosyasına çıkarmak için VBA

 

1. URL'lerini çıkarmak istediğiniz e-postayı seçin ve Microsoft Visual Basic for Applications penceresini açmak için Alt + F11 tuşlarına basın.

2. Ekle > Modül'e tıklayarak yeni boş bir modül oluşturun, ardından aşağıdaki kodu modüle kopyalayıp yapıştırın.

VBA: Tek bir e-postadan tüm URL'leri metin dosyasına çıkarır.

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

Bu kodda, e-posta konusuyla adlandırılmış ve şu yolda yerleştirilmiş yeni bir metin dosyası oluşturulacaktır: C:\Users\Public\Downloads. İhtiyaçlarınıza göre bu yolu değiştirebilirsiniz.

steps on extracting all URLs from one email

3. Araçlar > Referanslar'a tıklayarak Referanslar – Proje 1 iletişim kutusunu etkinleştirin, Microsoft VBScript Normal İfadeler 5.5 onay kutusunu işaretleyin. Tamam'a tıklayın.

steps on extracting all URLs from one email
steps on extracting all URLs from one email

4. Kodu çalıştırmak için F5 tuşuna basın veya Çalıştır düğmesine tıklayın, şimdi bir metin dosyası açılacak ve tüm URL'ler bu dosyaya çıkarılacaktır.

steps on extracting all URLs from one email
steps on extracting all URLs from one email

Not: Eğer Outlook 2010 ve Outlook 365 kullanıyorsanız, lütfen 3. Adımda Windows Script Host Object Model onay kutusunu da işaretleyin. Ardından Tamam'a tıklayın.


Birden fazla e-postadan URL'leri Excel dosyasına çıkarmak için VBA

 

Birden fazla seçili e-postadan URL'leri bir Excel dosyasına çıkarmak istiyorsanız, aşağıdaki VBA kodu size yardımcı olabilir.

1. URL'lerini çıkarmak istediğiniz e-postayı seçin ve Microsoft Visual Basic for Applications penceresini açmak için Alt + F11 tuşlarına basın.

2. Ekle > Modül'e tıklayarak yeni boş bir modül oluşturun, ardından aşağıdaki kodu modüle kopyalayıp yapıştırın.

VBA: Birden fazla e-postadan tüm URL'leri Excel dosyasına çıkarır.

'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

Bu kodda, tüm köprüler, ilgili görüntü metinleri ve e-posta konuları çıkarılmaktadır.

steps on extracting all URLs from one email

3. Araçlar > Referanslar'a tıklayarak Referanslar – Proje 1 iletişim kutusunu etkinleştirin, Microsoft Excel 16.0 Nesne Kitaplığı ve Microsoft Word 16.0 Nesne Kitaplığı onay kutularını işaretleyin. Tamam'a tıklayın.

steps on extracting all URLs from one email
steps on extracting all URLs from one email

4. Daha sonra imleci VBA kodunun içine yerleştirin, kodu çalıştırmak için F5 tuşuna basın veya Çalıştır düğmesine tıklayın, şimdi bir çalışma kitabı açılacak ve tüm URL'ler bu dosyaya çıkarılacaktır, ardından bunu bir klasöre kaydedebilirsiniz.

steps on extracting all URLs from one email

Not: Yukarıdaki tüm VBA'lar tüm türdeki köprüleri çıkarır.


En İyi Ofis Verimlilik Araçları

Flaş Haber: Kutools for Outlook Ücretsiz Sürümü Yayında!

Yepyeni Kutools for Outlook'u100’den fazla harika özellikle deneyimleyin! Hemen indirin!

🤖 Kutools AI : Gelişmiş yapay zeka teknolojisi sayesinde e-postalarınızı zahmetsizce yönetir; yanıtlama, özetleme, optimize etme, genişletme, çeviri ve e-posta oluşturma işlemlerini kolayca yapar.

📧 E-posta Otomasyonu: Otomatik Yanıt (POP ve IMAP için Mevcut) / E-postaları Zamanla Gönder / Gönderirken Kural ile Otomatik CC/BCC / Otomatik Yönlendirme (Gelişmiş Kurallar) / Otomatik Selamlama Ekle / Birden Fazla Alıcılı E-postaları Otomatik Olarak Bireysel E-postalara Böl ...

📨 E-posta Yönetimi: E-postayı Geri Çağır / Konu ve Diğerlerine Göre Sahtekarlık E-postalarını Engelle / Yinelenen E-postaları Sil / Gelişmiş Arama / Klasörleri düzenle ...

📁 Ekler Pro: Toplu Kaydet / Toplu Ayır / Toplu Sıkıştır / Otomatik Kaydet / Otomatik Ayır / Otomatik Sıkıştır ...

🌟 Arayüz Sihri: 😊Daha Fazla Şık ve Güzel Emoji / Önemli e-postalar geldiğinde seni uyarır / Outlook’u Kapatmak Yerine Küçült ...

👍 Tek Tıkla Harikalar: Tümüne Eklerle Yanıtla / Kimlik Avı (Phishing) E-postalarına Karşı Koruma / 🕘Gönderenin Saat Dilimini Göster ...

👩🏼‍🤝‍👩🏻 Kişiler & Takvim: Seçili E-postalardan Toplu Kişi Ekle / Bir Kişi Grubunu Bireysel Gruplara Böl / Doğum günü hatırlatıcısını kaldır ...

Kutools'u tercih ettiğiniz dilde kullanın – İngilizce, İspanyolca, Almanca, Fransızca, Çince ve40’tan fazla dil desteği!

Kutools for Outlook'un tüm özelliklerini tek tıkla hemen açın. Beklemeyin, şimdi indirip verimliliğinizi artırın!

kutools for outlook features1 kutools for outlook features2