Excel Forum
ALTIN ÜYELİK Hakkında Bilgi


Geri Git   Excel Forum > EXCEL-Soruları > Makro-VBA
Atatürk
Şifremi Unuttum

DUYURU SİSTEMİ / REKLAM PANOSU

Makro-VBA Makro veya VBA ile ilgili sorularınızı buraya gönderebilirsiniz.
Dosya ekleyebilirsiniz

Özel Arama


Yanıtla
 
Paylaş Konu Araçları Görünüm Modları
Eski 13-02-2017, 15:56   #11
mustilem23
Altın Üye
 
Giriş: 29/10/2010
Şehir: bursa
Mesaj: 280
Excel Vers. ve Dili:
office 2010
Varsayılan

Asri usta farklı bir durum ,konu takibi ve çekilen teklif sayılarını tespit için kullanacağız .dolayısı ile kaç adet teklif resmi iletilmiş bunun tespitini yapmak amaçlıdır.yardımcı olabilirseniz çok müteşekkir olurum.
mustilem23 Çevrimdışı   Alıntı Yaparak Cevapla
Eski 13-02-2017, 16:00   #12
asri
Altın Üye
 
Giriş: 24/04/2005
Şehir: Istanbul
Mesaj: 2,183
Excel Vers. ve Dili:
Office 2016 TR 64 Bit
Varsayılan

Kontrol ediniz.

http://s3.dosya.tc/server10/o7jylx/t...tirme.zip.html

Kod: (Rahat kopyalayabilmeniz için tüm kodu seçmenizi sağlar)
Dim baslatarih, tarih, bitirtarih As Date
Dim konuadi, konubaslik, dosyala As String
Dim Satir As Long


Sub Menu()
    Dim olApp As Object
    Dim olNS As Object
    Dim olFldr As Object
    
    Set olApp = CreateObject("Outlook.Application")
    Set olNS = olApp.GetNamespace("MAPI")
    '5=olFolderSentMail, 6=olFolderInbox
    'Set olFldr = olNS.GetDefaultFolder(6)
    Set olFldr = olNS.PickFolder
    
    baslatarih = DateValue(Cells(1, 2).Value)
    bitirtarih = DateValue(Cells(2, 2).Value)
    
    dosyala = Cells(3, 2).Value
    konubaslik = Cells(4, 2).Value
    
    Satir = 5
    Range("A6:Z10000").ClearContents
    Call RecursiveFolders(olFldr)

    
 
End Sub

Sub RecursiveFolders(olFolder As Object)
    Dim olSubFolder As Object
    Dim olMail As Object

    For Each olMail In olFolder.Items
        If InStr(olMail.SentOn, " ") > 0 Then
            tarih = DateValue(Mid(olMail.SentOn, 1, InStr(olMail.SentOn, " ") - 1))
        Else
            tarih = olMail.SentOn
        End If
        
        veri = olMail.Subject
        
        If tarih >= baslatarih And tarih <= bitirtarih And InStr(veri, konubaslik) > 0 Then
            konuadi = olMail.Subject
            Satir = Satir + 1
            Cells(Satir, 3).Value = konuadi
            Cells(Satir, 2).Value = tarih
            
            If dosyala = "Listele ve Kaydet" Then
               Call ReplaceCharsForFileName(konuadi, "-")
            
               yol = ActiveWorkbook.Path & "\Mailler\"
               If Dir(yol, vbDirectory) = "" Then MkDir yol

               dtDate = olMail.ReceivedTime
               dosyaadi = Format(dtDate, "yyyymmdd", vbUseSystemDayOfWeek, _
                vbUseSystem) & Format(dtDate, "-hhnnss", _
                vbUseSystemDayOfWeek, vbUseSystem) & "-" & konuadi & ".msg"
    
               olMail.SaveAs yol & dosyaadi, 3
            End If
        End If
    Next
    
   ' For Each olSubFolder In olFolder.Folders
   '     Call RecursiveFolders(olSubFolder)
   ' Next olSubFolder
    
End Sub

Private Sub ReplaceCharsForFileName(sName, _
  sChr As String _
)
  sName = Replace(sName, "'", sChr)
  sName = Replace(sName, "*", sChr)
  sName = Replace(sName, "/", sChr)
  sName = Replace(sName, "\", sChr)
  sName = Replace(sName, ":", sChr)
  sName = Replace(sName, "?", sChr)
  sName = Replace(sName, Chr(34), sChr)
  sName = Replace(sName, "<", sChr)
  sName = Replace(sName, ">", sChr)
  sName = Replace(sName, "|", sChr)
  konuadi = sName
End Sub
__________________
www.asriakdeniz.com

Bu mesaj en son " 18-02-2017 " tarihinde saat 11:15 itibariyle asri tarafından düzenlenmiştir....
asri Çevrimdışı   Alıntı Yaparak Cevapla
Eski 15-02-2017, 14:29   #13
mustilem23
Altın Üye
 
Giriş: 29/10/2010
Şehir: bursa
Mesaj: 280
Excel Vers. ve Dili:
office 2010
Varsayılan

üstad ,

verdiğiniz kodları yeni bir excel e ekledim fakat type mismatch hatası aldım çeşitli denemeler yaptım fakat bir sonuç elde edemedim.

verdiğiniz kodları excel vba kod bölümüne yapıştırıp akabin de veri kaynağını değiştirmem yeterli değil mi,bir de tarih aralıklı alamayacakmıyız excele konu başlıklarını ,takıldım üstad yardımcı olabilir misiniz.
mustilem23 Çevrimdışı   Alıntı Yaparak Cevapla
Eski 15-02-2017, 14:58   #14
asri
Altın Üye
 
Giriş: 24/04/2005
Şehir: Istanbul
Mesaj: 2,183
Excel Vers. ve Dili:
Office 2016 TR 64 Bit
Varsayılan

Alıntı:
mustilem23 tarafından gönderildi Mesajı Görüntüle
üstad ,

verdiğiniz kodları yeni bir excel e ekledim fakat type mismatch hatası aldım çeşitli denemeler yaptım fakat bir sonuç elde edemedim.

verdiğiniz kodları excel vba kod bölümüne yapıştırıp akabin de veri kaynağını değiştirmem yeterli değil mi,bir de tarih aralıklı alamayacakmıyız excele konu başlıklarını ,takıldım üstad yardımcı olabilir misiniz.
Dosya ve kodlar güncellendi.
__________________
www.asriakdeniz.com
asri Çevrimdışı   Alıntı Yaparak Cevapla
Eski 16-02-2017, 09:06   #15
mustilem23
Altın Üye
 
Giriş: 29/10/2010
Şehir: bursa
Mesaj: 280
Excel Vers. ve Dili:
office 2010
Varsayılan

üstad eline sağlık ,


Set olFldr = olNS.GetDefaultFolder(6) olduğunda
Aşağıdaki hatayı alıyorum .
Alıntı:

Object doesn't support this property or method
debug da ,

If InStr(olMail.SentOn, " ") > 0 Then gösteriyor.

Set olFldr = olNS.GetDefaultFolder(5) yapınca çalışıyor tek bir eksiği var hem excele hemde dosya kopyalama istersem masa üstüne alıyor ,excelin olduğu klasörün içine alamıyor direk masa üstü .

gelen kutusundaki hatanın giderilmesi ve klasöre kopyalama için yardımcı olabilir misiniz,

Asri usta konu açılmışken bir sorum olabilir mi ? bir ışık belirdi bende outloktaki açık bir emailin içindeki yazışmalar satır ve sutnlar olacak şekilde ayrılabilmesi mümkün müdür ?

şöyleki ;servis biriminden yada argeden gelen envanter kod tanım ve adet bilgilerini ayrı sutunlara yazdırabilmek mümkün olabilir mi ?

(tespit yaptırıyoruz müşterilerin istediği parçalar için birde excele ekleyin gönderin dediğimiz de malum iyice kızarlar )
mustilem23 Çevrimdışı   Alıntı Yaparak Cevapla
Eski 16-02-2017, 20:03   #16
mustilem23
Altın Üye
 
Giriş: 29/10/2010
Şehir: bursa
Mesaj: 280
Excel Vers. ve Dili:
office 2010
Varsayılan

Üstad 1. konuya bakabilme imakanın oldumu acaba ?

2 konu için bir makro buldum fakat basit duzeyde kalıyor sizinkine benzer fakat içeriği bana hiç uygun değil ne kadar email var ise mesaj kutusundakileri sadece bir hücreye alabiliyor fakat dolayısı ile ayrıştıramıyor.

http://www.bayramdede.com/wp-content...rden-Alma.xlsm
mustilem23 Çevrimdışı   Alıntı Yaparak Cevapla
Eski 17-02-2017, 07:00   #17
asri
Altın Üye
 
Giriş: 24/04/2005
Şehir: Istanbul
Mesaj: 2,183
Excel Vers. ve Dili:
Office 2016 TR 64 Bit
Varsayılan

Alıntı:
mustilem23 tarafından gönderildi Mesajı Görüntüle
Set olFldr = olNS.GetDefaultFolder(6) olduğunda
Aşağıdaki hatayı alıyorum .
..
İlk mesajımdaki dosya ve kod güncellendi.

Programın çalışması ve kaydetmesi ile ilgili bir sorun göremedim.

Açılışta outlook klasör seçeme eklendi.
Hem listeleme hem de kaydetme eklendi.


Diğer dediğiniz konuya ayrıca bakmak lazım.
__________________
www.asriakdeniz.com
asri Çevrimdışı   Alıntı Yaparak Cevapla
Eski 18-02-2017, 08:45   #18
mustilem23
Altın Üye
 
Giriş: 29/10/2010
Şehir: bursa
Mesaj: 280
Excel Vers. ve Dili:
office 2010
Varsayılan

Üstad eline sağlık fakat gelen kutusunda arama yaptığımızda öğler de işlem yapamıyor debugda bu hat sarı görünüyor.gelen kutusundaki soruna bakabilme imkanınız varmıdır .

If InStr(olMail.SentOn, " ") > 0 Then


kod bölümünde 'Set olFldr = olNS.GetDefaultFolder(6) bu hattı 5 yaptım sonuç aynı ,


gönderilmişler tam bahsettiğpiniz gibi çalışıyor fakat kopyaladığı emailleri masa üstüne kopyalıyor resmen ekran doldu belirli klasöre kopyalatmanın imkanı var mıdır .


2 konu için haklısınız çünki ben açık olan emaili bir excele alıp işlem yapacağım dolayısı ile outlokta bir işleme gerek yok ona daha sonra haklısınız.
mustilem23 Çevrimdışı   Alıntı Yaparak Cevapla
Eski 18-02-2017, 11:15   #19
asri
Altın Üye
 
Giriş: 24/04/2005
Şehir: Istanbul
Mesaj: 2,183
Excel Vers. ve Dili:
Office 2016 TR 64 Bit
Varsayılan

Alıntı:
...gelen kutusunda arama yaptığımızda öğler de işlem yapamıyor ...
Programın hata verdiği gündeki maillere bakmak lazım. Konusu format dışı yada konusu boş yada başka bir sorun olabilir. Bunu tespit edip kodu ona göre güncellemek lazım. Dediğim gibi bende kod sorunsuz çalııyor.


Alıntı:
gönderilmişler tam bahsettiğpiniz gibi çalışıyor fakat kopyaladığı emailleri masa üstüne kopyalıyor resmen ekran doldu belirli klasöre kopyalatmanın imkanı var mıdır .
Program kaydetme yeri olarak, excel dosyasının bulunduğu yerde Mailler klasörü olarak tanımlandı. Klasör yok ise oluşturulacaktır.

Sadece kod güncellendi.
__________________
www.asriakdeniz.com
asri Çevrimdışı   Alıntı Yaparak Cevapla
Eski 20-02-2017, 13:21   #20
mustilem23
Altın Üye
 
Giriş: 29/10/2010
Şehir: bursa
Mesaj: 280
Excel Vers. ve Dili:
office 2010
Varsayılan

Üstad ,
şirkette başka pclerde'de deneme yaptım ilk çalıştırdığımız da şu hatayı (microsoft excel başka bir uygulamamnın OLE eylemini tamamlamasını bekliyor)veriyor sonra aradan zaman geçiyor yine debug da

If InStr(olMail.SentOn, " ") > 0 Then

kullanıcı modunda kullandığımızdan kayanklı olabilir mi ? yada başka bir hata göremedim.
mustilem23 Çevrimdışı   Alıntı Yaparak Cevapla
Yanıtla


Konu Araçları
Görünüm Modları

Gönderme Kuralları
You may not post new threads
You may not post replies
You may not post attachments
You may not edit your posts

BB code is Açık
SimgelerAçık
[IMG] kodu Açık
HTML kodu Kapalı


Saat 10:59


Bu forum Elit NET - www.elitnet.com.tr tarafından sunulmaktadır.

Excel Eğitimi - Mobil Uygulama - Çorlu - Torna - Çorlu Web Tasarım - Tarot Falı - invest in turkey - Hurda - Lingerie - Dyeing Machine - Çorlu Temizlik- Karton Bardak- Çorlu Pimapenci- İstanbul Avukat- Çorlu Kekemelik- Edirne Su Arıtma- Çorlu Perde Yıkama- Site Yönetimi- Led Aydınlatma- Pronet Tekirdağ- Çorlu Kamera- Pronet Edirne- Pronet Kırklareli- Pronet Çerkezköy- Pronet Çorlu- Pronet Lüleburgaz- Pronet Keşan- Çorlu Araç Takip- Çorlu Su Arıtma- Çorlu İnşaat- Marmara Ereğlisi Yurt- Çorlu Solucan Gübresi- Boru Profil- Gebze Emlak- Beylikdüzü Temizlik- İstanbul Burun Estetiği- Su Deposu Temizliği- Bakır Sülfat- Rampa- Rotary-
Powered by vBulletin Version 3.7.2
Copyright ©2000 - 2017, Jelsoft Enterprises Ltd.
Advertisement System V2.6 By   Branden