Mail Gövdesini Excel Tablosuna yapıştırma

tamer42

Destek Ekibi
Destek Ekibi
Katılım
11 Mart 2005
Mesajlar
3,040
Excel Vers. ve Dili
Office 2013 İngilizce
Merhaba Arkadaşlar,

Outlook' ta mail gövdesinde gelen tablonun Excel sayfasına yapıştırma konusunda desteğe ihtiyacım bulunmakta;
mail gövdesini olduğu gibi excel ortamına aktaracak, bu konuda yabancı bir kaynakta olabilir.

yardımlarınız için şimdiden teşekkürler,

iyi akşamlar.
 

tamer42

Destek Ekibi
Destek Ekibi
Katılım
11 Mart 2005
Mesajlar
3,040
Excel Vers. ve Dili
Office 2013 İngilizce
Merhaba Arkadaşlar,

Outlook' ta mail gövdesinde gelen tablonun Excel sayfasına yapıştırma konusunda desteğe ihtiyacım bulunmakta;
mail gövdesini olduğu gibi excel ortamına aktaracak, bu konuda yabancı bir kaynakta olabilir.

yardımlarınız için şimdiden teşekkürler,

iyi akşamlar.
bu konuda aşağıdaki kodu buldum, mail gövdesini Excel' e kopyalama yapıyor, sorun yok.

benim işlemim bundan sonra başlıyor, excel' e kopyalanan verinin "A" sütununda bir kritere göre (>100) filtre edilmesi, buradan kopyala yapılıp başka sayfaya yapıştırmayı nasıl yapabilir? özetle Outlook ortamından excel içinde işlem yaptırmak.

teşekkürler


Kod:
Sub ImportTableToExcel()
Dim xMailItem As MailItem
Dim xTable As Word.Table
Dim xDoc As Word.Document
Dim xExcel As Excel.Application
Dim xWb As Workbook
Dim xWs As Worksheet
Dim I As Integer
Dim xRow As Integer
On Error Resume Next
Set xExcel = New Excel.Application
Set xWb = xExcel.Workbooks.Add
xExcel.Visible = True
Set xWs = xWb.Sheets(1)
xRow = 1
For Each xMailItem In Application.ActiveExplorer.Selection
    Set xDoc = xMailItem.GetInspector.WordEditor
    For I = 1 To xDoc.Tables.Count
        Set xTable = xDoc.Tables(I)
        xTable.Range.Copy
        xWs.Paste
        xRow = xRow + xTable.Rows.Count + 1
        xWs.Range("A" & CStr(xRow)).Select
    Next
Next
End Sub
 

Korhan Ayhan

Administrator
Yönetici
Admin
Katılım
15 Mart 2005
Mesajlar
42,160
Excel Vers. ve Dili
Microsoft 365 Tr-En 64 Bit
Verileri geçici bir sayfada derleyip istediğiniz alana aktarabilirsiniz.

Bunu yapabileceğinizi düşünüyorum.
 

tamer42

Destek Ekibi
Destek Ekibi
Katılım
11 Mart 2005
Mesajlar
3,040
Excel Vers. ve Dili
Office 2013 İngilizce
Verileri geçici bir sayfada derleyip istediğiniz alana aktarabilirsiniz.

Bunu yapabileceğinizi düşünüyorum.
Korhan hocam işlemleri outlook üzerinde yönlendirdiğimiz için; aşağıdaki kısımda tıkandım, daha ileri gidemedim.
burada excel ortamında aktif sayfanın adı nasıl değiştirilebilir? excel de yeni sayfa nasıl eklenebilir? bunları yapamadım, biraz yönlendirebilirseniz devamını getireceğimi düşünüyorum

Kod:
...........................
...................
       xRow = xRow + xTable.Rows.Count + 1
        xWs.Range("A" & CStr(xRow)).Select
        xWs.Cells.AutoFit
iyi akşamlar.
 

Korhan Ayhan

Administrator
Yönetici
Admin
Katılım
15 Mart 2005
Mesajlar
42,160
Excel Vers. ve Dili
Microsoft 365 Tr-En 64 Bit
Makro kaydet ile istediğiniz kod satırlarını elde edebilirsiniz.
 

tamer42

Destek Ekibi
Destek Ekibi
Katılım
11 Mart 2005
Mesajlar
3,040
Excel Vers. ve Dili
Office 2013 İngilizce
Makro kaydet ile istediğiniz kod satırlarını elde edebilirsiniz.
Korhan hocam bahsettiğiniz yöntemle aşağıdaki gibi ilerlemeye çalışıyorum.
Burada yeni eklenen sayfada xWb.ActiveSheet olarak ilerliyorum
yeni eklenen bu sayfayı;
Set xWs2 = .............................."
gibi bir atamasını nasıl yapabiliriz?



Kod:
                xWs.Cells.AutoFit
                xWs.Columns("A:I").EntireColumn.AutoFit
        
                xWs.Range("A1:C1").Select
                Selection.AutoFilter
                xWs.Range("A1").Select
                xWs.Range("$A$1:$C$31").AutoFilter Field:=1, Criteria1:="4"
                
                    xWs.Range("A1:C37").Select
                    Selection.Copy
                    xWb.Sheets.Add After:=xWb.ActiveSheet
                    xWb.ActiveSheet.Paste
                 
                     xWb.ActiveSheet.Columns("A:E").EntireColumn.AutoFit
teşekkürler,
 

Korhan Ayhan

Administrator
Yönetici
Admin
Katılım
15 Mart 2005
Mesajlar
42,160
Excel Vers. ve Dili
Microsoft 365 Tr-En 64 Bit
Biraz deneme yaparsanız çözeceğinize eminim.
 

tamer42

Destek Ekibi
Destek Ekibi
Katılım
11 Mart 2005
Mesajlar
3,040
Excel Vers. ve Dili
Office 2013 İngilizce
Biraz deneme yaparsanız çözeceğinize eminim.
Korhan hocam iyi pazarlar,

aşağıdaki şekilde yaptım.

ikinci aşama olarak bu sayfadaki verileri kopyalayıp, yeni bir mail gövdesine yapıştırıp mail atmaya çalışacağım, bu konuda yardımcı olabilir misiniz.

Kod:
 Dim sht As Worksheet
                    Set sht = xWb.Sheets.Add(After:=xWb.Worksheets(xWb.Worksheets.Count))
                    sht.Paste
                     sht.Columns("A:E").EntireColumn.AutoFit
ilginize teşekkürler,
 

tamer42

Destek Ekibi
Destek Ekibi
Katılım
11 Mart 2005
Mesajlar
3,040
Excel Vers. ve Dili
Office 2013 İngilizce
Korhan hocam iyi pazarlar,

aşağıdaki şekilde yaptım.

ikinci aşama olarak bu sayfadaki verileri kopyalayıp, yeni bir mail gövdesine yapıştırıp mail atmaya çalışacağım, bu konuda yardımcı olabilir misiniz.

Kod:
Dim sht As Worksheet


                xWs.Range("$A$1:$C$100").AutoFilter Field:=1, Criteria1:="4"
                xWs.Range("A1:C100").Select
                Selection.Copy
                   
                    Set sht = xWb.Sheets.Add(After:=xWb.Worksheets(xWb.Worksheets.Count))
                    sht.Paste
                     sht.Columns("A:E").EntireColumn.AutoFit
Korhan hocam burada kodda filtre yaptıktan sonra bir sorun var, manuel kopyala yapıştır yapınca sadece filtre edilen verileri kopyala-yapıştır yapmasına karşın;
kodu çalıştırdığımızda kopyala yapıştır işleminde hiç filtre yokmuş gibi verilerin tamamını yapıştırıyor, yalnızca filtre edilen verilen yapıştırılsın istiyorum.

bu sorunu nasıl aşabiliriz?
teşekkürler,
 

Korhan Ayhan

Administrator
Yönetici
Admin
Katılım
15 Mart 2005
Mesajlar
42,160
Excel Vers. ve Dili
Microsoft 365 Tr-En 64 Bit
F5 komutundaki "Yalnızca Görünür Hücreler" parametresini deneyiniz.
 
Üst