• DİKKAT

    DOSYA İndirmek/Yüklemek için ÜCRETLİ ALTIN ÜYELİK Gereklidir!
    Altın Üyelik Hakkında Bilgi

Outlook VBA Destek

ozgurpeh

Altın Üye
Katılım
30 Eylül 2007
Mesajlar
383
Excel Vers. ve Dili
2010 Türkçe
Merhaba,

Aşağıdaki kod gelen maili otomatik otamatik olarak farklı bir mail adresine iletiyor (Forward) sadece belli bir konuda gelen mail için bu makroyu çalıştırmak için nasl bir değişiklik yapmalıyız


Kod:
Option Explicit

Sub MyFwd(olItem As MailItem)
Dim olFWD As MailItem
Dim olInsp As Outlook.Inspector
Dim wdDoc As Object
Dim oRng As Object
    Set olFWD = olItem.Forward
    With olFWD
        .Display
        .Subject = "The new subject"
        .To = "someone@somewhere.com"
        Set olInsp = .GetInspector
        Set wdDoc = olInsp.WordEditor
        Set oRng = wdDoc.Range(0, 0)
        oRng.Text = "Please see the correspondence below."
        .Send
    End With
    olItem.UnRead = False
lbl_Exit:
    Set olFWD = Nothing
    Set olInsp = Nothing
    Set wdDoc = Nothing
    Set oRng = Nothing
    Exit Sub
End Sub
 
Merhaba.
Asri adlı kullanıcı nin mesajlarını kontrol ediniz cep telden giriyorum link iletemiyorum.
 
Aşağıdaki kod ile abc@abc.com kullanıcısından gelen , konusunda "defeter" kelimesi geçen mailleri xyz@xyz.com mailine gönderir.
Kendinize göre değişiklik yapabilirsiniz.

Bu kodu outlook da ThisOutlookSession bölümüne kopyalayın.


Kod:
'Kişiye ve konuya göre gelen maili yönlendirme
'Option Explicit
Public WithEvents myOlItems As Outlook.Items

Public Sub Application_Startup()
    Set myOlItems = Outlook.Session.GetDefaultFolder(olFolderInbox).Items
End Sub

Private Sub myOlItems_ItemAdd(ByVal Item As Object)
    Dim myForward As MailItem
    If TypeName(Item) = "MailItem" Then
        If Item.SenderEmailAddress = "abc@abc.com" And instr(Item.Subject,"defeter")>0 Then
            Set myForward = Item.Forward
            myForward.Recipients.Add "xyz@xyz.com"
            Item.Subject = Item.Subject
            Item.Save
            myForward.Send
        End If
    End If
End Sub
 
Özgür Bey,

Foruma kod eklerken mesaj yazdığınız pencerede "#" sembolünü kullanırsanız kodlarınız daha derli-toplu görünür.
 
Aşağıdaki kod ile abc@abc.com kullanıcısından gelen , konusunda "defeter" kelimesi geçen mailleri xyz@xyz.com mailine gönderir.
Kendinize göre değişiklik yapabilirsiniz.

Bu kodu outlook da ThisOutlookSession bölümüne kopyalayın.


Kod:
'Kişiye ve konuya göre gelen maili yönlendirme
'Option Explicit
Public WithEvents myOlItems As Outlook.Items

Public Sub Application_Startup()
    Set myOlItems = Outlook.Session.GetDefaultFolder(olFolderInbox).Items
End Sub

Private Sub myOlItems_ItemAdd(ByVal Item As Object)
    Dim myForward As MailItem
    If TypeName(Item) = "MailItem" Then
        If Item.SenderEmailAddress = "abc@abc.com" And instr(Item.Subject,"defeter")>0 Then
            Set myForward = Item.Forward
            myForward.Recipients.Add "xyz@xyz.com"
            Item.Subject = Item.Subject
            Item.Save
            myForward.Send
        End If
    End If
End Sub

Referance ayarlarında yapmama gereken bir işlem var mı ekteki hatayı veriyor ?
 

Ekli dosyalar

  • Untitled.png
    Untitled.png
    4.7 KB · Görüntüleme: 4
Referance ayarlarında yapmama gereken bir işlem var mı ekteki hatayı veriyor ?

bu hatayı çözdüm kapatım yenşiden açmak gerekiyormuş outlook u fakat makra çalışıyor herhangi bir hatada vermiyor ama sonuç yok hiçbirşey olmuyor
 
bu hatayı çözdüm kapatım yenşiden açmak gerekiyormuş outlook u fakat makra çalışıyor herhangi bir hatada vermiyor ama sonuç yok hiçbirşey olmuyor

Sizin son düzenleme sonrası makronuzu ekleyebilir misiniz?
Verdiğim makro da bazı alanların değiştirilmiş olması gerekiyor.

Ayrıca Outlook da Seçenekler günvelikte makroların etkinleştirilmesi gerekiyor.
 
Son düzenleme:
bu hatayı çözdüm kapatım yenşiden açmak gerekiyormuş outlook u fakat makra çalışıyor herhangi bir hatada vermiyor ama sonuç yok hiçbirşey olmuyor

Bu konuyu inceler misiniz?
Buradaki özel işlemler ve kurallar programını yüklediğinizde otomaitk olarak outlook kodlarınız düzenlenecektir.

Daha sonra vba bölümünde ThisOutlookSession bölümünde alıcımail ve gönderilenmail kodlarını kendinize göre düzenleyin.


http://www.excel.web.tr/f52/outlook-zel-kurallar-lemler-menusu-test-surumu-t164412.html
 
Bu konuyu inceler misiniz?
Buradaki özel işlemler ve kurallar programını yüklediğinizde otomaitk olarak outlook kodlarınız düzenlenecektir.

Daha sonra vba bölümünde ThisOutlookSession bölümünde alıcımail ve gönderilenmail kodlarını kendinize göre düzenleyin.


http://www.excel.web.tr/f52/outlook-zel-kurallar-lemler-menusu-test-surumu-t164412.html

Bu programı inceledim elinize sağlık güzel bir tool olmuş fakat kullandığım makinaya kurmam mümkün değil policy ayarlarıdan dolayı, bir önceki mesajınızdaki kodlar mantıklı geldi fakat çalışmıyor olması ilginç,


aslında bu işlemi kuralla yapabiliyorum ama kural ile bir iletiyi başka birine ilettiğimiz zaman konunun yanına "ilt:" ifadesi ekleniyor bunu bir türlü kaldıramadım. bunun nasıl kaldırıldığına dair bir fikir varsa buda benim işimi çözer
 
Bu programı inceledim elinize sağlık güzel bir tool olmuş fakat kullandığım makinaya kurmam mümkün değil policy ayarlarıdan dolayı, bir önceki mesajınızdaki kodlar mantıklı geldi fakat çalışmıyor olması ilginç,


aslında bu işlemi kuralla yapabiliyorum ama kural ile bir iletiyi başka birine ilettiğimiz zaman konunun yanına "ilt:" ifadesi ekleniyor bunu bir türlü kaldıramadım. bunun nasıl kaldırıldığına dair bir fikir varsa buda benim işimi çözer


Thisoutlooksession daki kodlarınızı yazabilir misiniz?
 
Siizn gönderdiğiniz var şuanda

Hiç yardımcı olmuyorsunuz :)
Benim gönderdiğim kodları bire bir aynı eklediyseniz, bir sonuç alamazsınız.
Yok değiştirdiyseniz değiştiriken nokta virgün farklı bir değişiklik kodların çalışmasını engelliyor olabilir.

Bu yüzden sizin eklediğiniz kodları yazın diyorum ki inceleyebileyim. :)
 
Hiç yardımcı olmuyorsunuz :)
Benim gönderdiğim kodları bire bir aynı eklediyseniz, bir sonuç alamazsınız.
Yok değiştirdiyseniz değiştiriken nokta virgün farklı bir değişiklik kodların çalışmasını engelliyor olabilir.

Bu yüzden sizin eklediğiniz kodları yazın diyorum ki inceleyebileyim. :)

'Kişiye ve konuya göre gelen maili yönlendirme
'Option Explicit
Public WithEvents myOlItems As Outlook.Items

Public Sub Application_Startup()
Set myOlItems = Outlook.Session.GetDefaultFolder(olFolderInbox).Items
End Sub

Private Sub myOlItems_ItemAdd(ByVal Item As Object)
Dim myForward As MailItem
If TypeName(Item) = "MailItem" Then
If Item.SenderEmailAddress = "deneme@gmail.com" And InStr(Item.Subject, "test12") > 0 Then
Set myForward = Item.Forward
myForward.Recipients.Add "deneme2@gmail.com"
Item.Subject = Item.Subject
Item.Save
myForward.Send
End If
End If
End Sub
 
'Kişiye ve konuya göre gelen maili yönlendirme
'Option Explicit
Public WithEvents myOlItems As Outlook.Items

Public Sub Application_Startup()
Set myOlItems = Outlook.Session.GetDefaultFolder(olFolderInbox).Items
End Sub

Private Sub myOlItems_ItemAdd(ByVal Item As Object)
Dim myForward As MailItem
If TypeName(Item) = "MailItem" Then
If Item.SenderEmailAddress = "deneme@gmail.com" And InStr(Item.Subject, "test12") > 0 Then
Set myForward = Item.Forward
myForward.Recipients.Add "deneme2@gmail.com"
Item.Subject = Item.Subject
Item.Save
myForward.Send
End If
End If
End Sub

Bu şekilde yaparsanız çalışmaz. Gerekli değişiklikleri yapmanız gerekiyor.
Konusu ne olan mailleri hangi maile yönlendirme yapmak istiyorsunuz.

Şimdi baktımda değişiklik yapmışsınız. deneme@gmail.com mailinden, konusu test12 olan maili, outlook daki mail hesabınıza gönderdiniz mi?
 
Bu şekilde yaparsanız çalışmaz. Gerekli değişiklikleri yapmanız gerekiyor.
Konusu ne olan mailleri hangi maile yönlendirme yapmak istiyorsunuz.

Şimdi baktımda değişiklik yapmışsınız. deneme@gmail.com mailinden, konusu test12 olan maili, outlook daki mail hesabınıza gönderdiniz mi?

tamam mantığı şimdi anladım ;) ama ciddi bir sorunumuz var konu alanı karşı tarafa gttiğinde yine "ilt:" ifadesi eklenerek gitmiş asıl aşılması gereken sorun bu, makroda konu alnı içinde sabir bir ifade belirleyebilirmiyiz ?
 
tamam mantığı şimdi anladım ;) ama ciddi bir sorunumuz var konu alanı karşı tarafa gttiğinde yine "ilt:" ifadesi eklenerek gitmiş asıl aşılması gereken sorun bu, makroda konu alnı içinde sabir bir ifade belirleyebilirmiyiz ?


konusu test123 olan mailleri, alicimail@gmail.com adresibe gönderir.
Konusunu Sabit Konu larak değiştirir.

Bu kodu güncelledikten sonra VBA da kaydet yapın. outlook u kapatıp açın.

Test edildi.

Kod:
'Kişiye ve konuya göre gelen maili yönlendirme
'Option Explicit
Public WithEvents myOlItems As Outlook.Items

Public Sub Application_Startup()
    Set myOlItems = Outlook.Session.GetDefaultFolder(olFolderInbox).Items
End Sub

Private Sub myOlItems_ItemAdd(ByVal Item As Object)
    Dim myForward As MailItem
    If TypeName(Item) = "MailItem" Then
        If InStr(Item.Subject, "test123") > 0 Then
            Set myForward = Item.Forward
            myForward.Recipients.Add "alicimail@gmail.com"
            myForward.Subject = "Sabit konu"
            myForward.Send
        End If
    End If
End Sub
 
konusu test123 olan mailleri, alicimail@gmail.com adresibe gönderir.
Konusunu Sabit Konu larak değiştirir.

Bu kodu güncelledikten sonra VBA da kaydet yapın. outlook u kapatıp açın.

Test edildi.

Kod:
'Kişiye ve konuya göre gelen maili yönlendirme
'Option Explicit
Public WithEvents myOlItems As Outlook.Items

Public Sub Application_Startup()
    Set myOlItems = Outlook.Session.GetDefaultFolder(olFolderInbox).Items
End Sub

Private Sub myOlItems_ItemAdd(ByVal Item As Object)
    Dim myForward As MailItem
    If TypeName(Item) = "MailItem" Then
        If InStr(Item.Subject, "test123") > 0 Then
            Set myForward = Item.Forward
            myForward.Recipients.Add "alicimail@gmail.com"
            myForward.Subject = "Sabit konu"
            myForward.Send
        End If
    End If
End Sub

Harikasın, Teşekkürler. Gerçekten çok başarılı ve işimi gerçekten çözen bir çalışma oldu
 
Son halide bu şekilde iş görür sanırım :)



Kod:
'Kişiye ve konuya göre gelen maili yönlendirme
'Option Explicit
Public WithEvents myOlItems As Outlook.Items

Public Sub Application_Startup()
    Set myOlItems = Outlook.Session.GetDefaultFolder(olFolderInbox).Items
End Sub

Private Sub myOlItems_ItemAdd(ByVal Item As Object)
    Dim myForward As MailItem
    If TypeName(Item) = "MailItem" Then
        If InStr(Item.Subject, "test123") > 0 Then
            Set myForward = Item.Forward
            myForward.Recipients.Add "alicimail@gmail.com"
            myForward.Subject = "Sabit konu"
            myForward.CC = xxx@xx.com
            myForwar.Body = " deneme mailidir"
            myForward.Send
        End If
    End If
End Sub
 
Geri
Üst