Outlook: Bir e-postadan tüm URL'leri nasıl çıkarılır
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
- Yapay zeka teknolojisiyle e-posta üretkenliğinizi artırın, size hızlı cevap verme, yeni taslaklar oluşturma, mesajları çevirme ve daha fazlasını daha verimli bir şekilde yapma imkanı sağlar.
- Otomatik CC/BCC, kurallara göre Otomatik Yönlendirme ile e-posta göndermeyi otomatikleştirin; Exchange sunucusu gerektirmeden Otomatik Yanıt (Dışarıda) gönderin...
- BCCde olduğunuzda tümünü yanıtla seçeneğini kullandığınızda BCC Uyarısı veya unutulmuş ekler için Eklenti Hatırlatma gibi hatırlatıcılar alın...
- Ekleri İçeren Tümünü Yanıtla, Selamlama veya Tarih & Saat Bilgisini Otomatik Ekleme veya Konu, Birden Fazla E-postayı Yanıtlama gibi özelliklerle e-posta verimliliğini artırın...
- E-postaları geri çağırma, Ek Araçları (Tüm Ekleri Sıkıştır, Tüm Ekleri Otomatik Kaydet...), Yinelenenleri Kaldır ve Hızlı Rapor ile e-posta işlemlerini akıcı hale getirin...
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.

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.


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.


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.

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.


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.

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!
📧 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!

