Araç Servis Takip Programı (AST-v.2) foruma eklenmiştir. 
http://www.excelce.net/forum/index.php?topic=1656.0

Gönderen Konu: Dış işlemler ile makro çalıştırmak  (Okunma sayısı 35393 defa)

0 Üye ve 1 Ziyaretçi konuyu incelemekte.

Çevrimdışı Bülent Öztürk

  • Excelce.Net Yönetici
  • *
  • İleti: 1413
  • Puan +19/-0
  • Cinsiyet: Bay
  • Türkçe Konuşup Excelce Yazıyoruz...
    • Bülent Öztürk
  • Ad Soyad: Bülent Öztürk
  • Doğum Yılınız: 1976
  • İl / İlçe: İstanbul / Çorlu
  • İşletim Sisteminiz: Win.10
  • Mesleğiniz: Bilgi Teknolojileri
  • Office Versiyonunuz: 2016
Ynt: Dış işlemler ile makro çalıştırmak
« Yanıtla #15 : 03 Ocak 2011, 15:41:21 »
Kodları Application_NewMailEx olayına taşıyıp denediniz mi??
(Ücretli program talepleriniz için iletişime geçebilirsiniz, excelvbprogram@gmail.com)

Çevrimdışı Hüseyin Çoban

  • Excelce.Net Yönetici
  • *
  • İleti: 182
  • Puan +11/-0
  • Cinsiyet: Bay
  • Ad Soyad: Hüseyin Çoban
  • İl / İlçe: Denizli
  • İşletim Sisteminiz: Windows 7 - 64 bit
  • Mesleğiniz: Ü.Tğm.
  • Office Versiyonunuz: Office 2007 TR
Ynt: Dış işlemler ile makro çalıştırmak
« Yanıtla #16 : 03 Ocak 2011, 15:45:15 »
Kodları Application_NewMailEx olayına taşıyıp denediniz mi??

Evet Bülent Bey denedim bir değişiklik olmadı.

Çevrimdışı Bülent Öztürk

  • Excelce.Net Yönetici
  • *
  • İleti: 1413
  • Puan +19/-0
  • Cinsiyet: Bay
  • Türkçe Konuşup Excelce Yazıyoruz...
    • Bülent Öztürk
  • Ad Soyad: Bülent Öztürk
  • Doğum Yılınız: 1976
  • İl / İlçe: İstanbul / Çorlu
  • İşletim Sisteminiz: Win.10
  • Mesleğiniz: Bilgi Teknolojileri
  • Office Versiyonunuz: 2016
Ynt: Dış işlemler ile makro çalıştırmak
« Yanıtla #17 : 03 Ocak 2011, 15:51:33 »
Hımm...  :hımm

Kodların en başına
Kod: [Seç]
On Error Resume Next
satırı ekleyin, son çare olarak...
(Ücretli program talepleriniz için iletişime geçebilirsiniz, excelvbprogram@gmail.com)

Çevrimdışı Hüseyin Çoban

  • Excelce.Net Yönetici
  • *
  • İleti: 182
  • Puan +11/-0
  • Cinsiyet: Bay
  • Ad Soyad: Hüseyin Çoban
  • İl / İlçe: Denizli
  • İşletim Sisteminiz: Windows 7 - 64 bit
  • Mesleğiniz: Ü.Tğm.
  • Office Versiyonunuz: Office 2007 TR
Ynt: Dış işlemler ile makro çalıştırmak
« Yanıtla #18 : 03 Ocak 2011, 16:21:50 »
Bütün çareler çaresiz Hocam, hâlâ aynı ilginç hata devam ediyor.

Çevrimdışı Bülent Öztürk

  • Excelce.Net Yönetici
  • *
  • İleti: 1413
  • Puan +19/-0
  • Cinsiyet: Bay
  • Türkçe Konuşup Excelce Yazıyoruz...
    • Bülent Öztürk
  • Ad Soyad: Bülent Öztürk
  • Doğum Yılınız: 1976
  • İl / İlçe: İstanbul / Çorlu
  • İşletim Sisteminiz: Win.10
  • Mesleğiniz: Bilgi Teknolojileri
  • Office Versiyonunuz: 2016
Ynt: Dış işlemler ile makro çalıştırmak
« Yanıtla #19 : 03 Ocak 2011, 16:24:17 »
On error resume next
yazdığınız halde mi hata veriyor?

Bende şu an sorunsuz çalışıyor.
(Ücretli program talepleriniz için iletişime geçebilirsiniz, excelvbprogram@gmail.com)

Çevrimdışı Hüseyin Çoban

  • Excelce.Net Yönetici
  • *
  • İleti: 182
  • Puan +11/-0
  • Cinsiyet: Bay
  • Ad Soyad: Hüseyin Çoban
  • İl / İlçe: Denizli
  • İşletim Sisteminiz: Windows 7 - 64 bit
  • Mesleğiniz: Ü.Tğm.
  • Office Versiyonunuz: Office 2007 TR
Ynt: Dış işlemler ile makro çalıştırmak
« Yanıtla #20 : 03 Ocak 2011, 16:32:45 »
Alıntı
Private Sub Application_NewMailEx(ByVal EntryIDCollection As String)
On Error Resume Next
Dim OUT As NameSpace
Set OUT = Outlook.GetNamespace("MAPI")
Dim Gelenler As Outlook.MAPIFolder
Set Gelenler = OUT.GetDefaultFolder(olFolderInbox)
On Error GoTo bir
If Gelenler.Items(Gelenler.Items.Count).Subject = "Deneme" Then
    Set Excelce = Application.CreateObject("Excel.Application")
    Excelce.Visible = True
    Set Kitap = Excelce.Workbooks.Open("D:\Kitap1.xls")
    Excelce.Run "Kitap1.xls!Sayfa1.Makro1"
    'Excel'i kapatmak isterseniz
    Excelce.Quit
End If
Exit Sub
bir:
On Error Resume Next
If Gelenler.Items(1).Subject = "Deneme" Then
    Set Excelce = Application.CreateObject("Excel.Application")
    Excelce.Visible = True
    Set Kitap = Excelce.Workbooks.Open("D:\Kitap1.xls")
    Excelce.Run "Kitap1.xls!Sayfa1.Makro1"
    'Excel'i kapatmak isterseniz
    Excelce.Quit
End If
End Sub

Kendi dosya yollarıma ve örnek dosyaya göre kodların uyarladığım son şekli bu Hocam.
Ancak hâlâ ilk mailde hata veriyor.
Rica etsen Bülent Bey uygun bir anınızda TeamViewer veya vb. bir programda bağlanıp kontrol edebilir misiniz?

Çevrimdışı Bülent Öztürk

  • Excelce.Net Yönetici
  • *
  • İleti: 1413
  • Puan +19/-0
  • Cinsiyet: Bay
  • Türkçe Konuşup Excelce Yazıyoruz...
    • Bülent Öztürk
  • Ad Soyad: Bülent Öztürk
  • Doğum Yılınız: 1976
  • İl / İlçe: İstanbul / Çorlu
  • İşletim Sisteminiz: Win.10
  • Mesleğiniz: Bilgi Teknolojileri
  • Office Versiyonunuz: 2016
Ynt: Dış işlemler ile makro çalıştırmak
« Yanıtla #21 : 03 Ocak 2011, 16:39:12 »
Şu şekilde deneyin bakalım bir netice alacak mısınız?

Kod: [Seç]
Private Sub Application_NewMailEx(ByVal EntryIDCollection As String)
Dim OUT As NameSpace
Set OUT = Outlook.GetNamespace("MAPI")
Dim Gelenler As Outlook.MAPIFolder
Set Gelenler = OUT.GetDefaultFolder(olFolderInbox)
On error resume next
MsgBox Gelenler.Items(Gelenler.Items.Count).Subject
End Sub
(Ücretli program talepleriniz için iletişime geçebilirsiniz, excelvbprogram@gmail.com)

Çevrimdışı Hüseyin Çoban

  • Excelce.Net Yönetici
  • *
  • İleti: 182
  • Puan +11/-0
  • Cinsiyet: Bay
  • Ad Soyad: Hüseyin Çoban
  • İl / İlçe: Denizli
  • İşletim Sisteminiz: Windows 7 - 64 bit
  • Mesleğiniz: Ü.Tğm.
  • Office Versiyonunuz: Office 2007 TR
Ynt: Dış işlemler ile makro çalıştırmak
« Yanıtla #22 : 03 Ocak 2011, 16:48:51 »
Gelen kutusu boş olursa çalışmıyor.
Gelen kutusunda yeni veya eski bir mail olunca çalışıyor.
Bir önceki mailin başlığını msgbox ile veriyor.

Çevrimdışı Bülent Öztürk

  • Excelce.Net Yönetici
  • *
  • İleti: 1413
  • Puan +19/-0
  • Cinsiyet: Bay
  • Türkçe Konuşup Excelce Yazıyoruz...
    • Bülent Öztürk
  • Ad Soyad: Bülent Öztürk
  • Doğum Yılınız: 1976
  • İl / İlçe: İstanbul / Çorlu
  • İşletim Sisteminiz: Win.10
  • Mesleğiniz: Bilgi Teknolojileri
  • Office Versiyonunuz: 2016
Ynt: Dış işlemler ile makro çalıştırmak
« Yanıtla #23 : 03 Ocak 2011, 16:53:39 »
Yeni mail geldiği halde, gelen kutusuna düşmeden önce kod çalışıyor demek ki...  :hımm
Ben 2003 versiyon Outlook'ta kullandığımda mail geldiği anda, en son gelen mailin başlığını mesaj olarak görüntülüyorum.
Versiyon farkından da böyle bir fark olmaması gerekir.
Yine de evde 2007'de deneyeyim bakalım...
(Ücretli program talepleriniz için iletişime geçebilirsiniz, excelvbprogram@gmail.com)

Çevrimdışı Bülent Öztürk

  • Excelce.Net Yönetici
  • *
  • İleti: 1413
  • Puan +19/-0
  • Cinsiyet: Bay
  • Türkçe Konuşup Excelce Yazıyoruz...
    • Bülent Öztürk
  • Ad Soyad: Bülent Öztürk
  • Doğum Yılınız: 1976
  • İl / İlçe: İstanbul / Çorlu
  • İşletim Sisteminiz: Win.10
  • Mesleğiniz: Bilgi Teknolojileri
  • Office Versiyonunuz: 2016
Ynt: Dış işlemler ile makro çalıştırmak
« Yanıtla #24 : 06 Ocak 2011, 08:18:23 »
Hüseyin Bey, şu kod ile nasıl bir netice alıyorsunuz?

Kod: [Seç]
Private Sub Application_NewMailEx(ByVal EntryIDCollection As String)
Dim OUT As NameSpace
Set OUT = Outlook.GetNamespace("MAPI")
Dim Gelenler As Outlook.MAPIFolder
Set Gelenler = OUT.GetDefaultFolder(olFolderInbox)
On error resume next
If Gelenler.Items(Gelenler.Items.Count).UnRead = True Then   MsgBox Gelenler.Items(Gelenler.Items.Count).Subject
End Sub
« Son Düzenleme: 06 Ocak 2011, 08:42:56 Gönderen: Bülent Öztürk »
(Ücretli program talepleriniz için iletişime geçebilirsiniz, excelvbprogram@gmail.com)

Çevrimdışı Hüseyin Çoban

  • Excelce.Net Yönetici
  • *
  • İleti: 182
  • Puan +11/-0
  • Cinsiyet: Bay
  • Ad Soyad: Hüseyin Çoban
  • İl / İlçe: Denizli
  • İşletim Sisteminiz: Windows 7 - 64 bit
  • Mesleğiniz: Ü.Tğm.
  • Office Versiyonunuz: Office 2007 TR
Ynt: Dış işlemler ile makro çalıştırmak
« Yanıtla #25 : 06 Ocak 2011, 08:47:40 »
Merhaba Bülent Bey,
İlk mail geldiğin ekteki hata mesajı geliyor (Resim 1). End butonunu tıklayıp hatayı kapattıktan sonra, ikinci mail geldiğinde Msgboxda ilk gelen mailin başlığını yazıyor. (Resim 2)

Hata mesajında koda gittiğimde
"If Gelenler.Items(Gelenler.Items.Count).UnRead = True Then" satırını sarıya boyuyor.




Çevrimdışı Bülent Öztürk

  • Excelce.Net Yönetici
  • *
  • İleti: 1413
  • Puan +19/-0
  • Cinsiyet: Bay
  • Türkçe Konuşup Excelce Yazıyoruz...
    • Bülent Öztürk
  • Ad Soyad: Bülent Öztürk
  • Doğum Yılınız: 1976
  • İl / İlçe: İstanbul / Çorlu
  • İşletim Sisteminiz: Win.10
  • Mesleğiniz: Bilgi Teknolojileri
  • Office Versiyonunuz: 2016
Ynt: Dış işlemler ile makro çalıştırmak
« Yanıtla #26 : 06 Ocak 2011, 09:01:16 »
Size zahmet bir de şunu deneyin:

Kod: [Seç]
Private Sub Application_NewMailEx(ByVal EntryIDCollection As String)
Dim OUT As NameSpace
Set OUT = Outlook.GetNamespace("MAPI")
Dim Gelenler As Outlook.MAPIFolder
Set Gelenler = OUT.GetDefaultFolder(olFolderInbox)
Dim ilksayi As Integer
ilksayi = Gelenler.Items.Count

While Gelenler.Items.Count = ilksayi
Wend
    MsgBox Gelenler.Items(Gelenler.Items.Count).Subject
End sub
(Ücretli program talepleriniz için iletişime geçebilirsiniz, excelvbprogram@gmail.com)

Çevrimdışı Hüseyin Çoban

  • Excelce.Net Yönetici
  • *
  • İleti: 182
  • Puan +11/-0
  • Cinsiyet: Bay
  • Ad Soyad: Hüseyin Çoban
  • İl / İlçe: Denizli
  • İşletim Sisteminiz: Windows 7 - 64 bit
  • Mesleğiniz: Ü.Tğm.
  • Office Versiyonunuz: Office 2007 TR
Ynt: Dış işlemler ile makro çalıştırmak
« Yanıtla #27 : 06 Ocak 2011, 09:34:26 »
Bülent Bey, asıl ben size zahmetler veriyorum.

Kodları uygulattım, yeni bir mail geldiğinde Outlook'u kilitliyor. İşlemi sonlandırmak zorunda kaldım.

Çevrimdışı Hüseyin Çoban

  • Excelce.Net Yönetici
  • *
  • İleti: 182
  • Puan +11/-0
  • Cinsiyet: Bay
  • Ad Soyad: Hüseyin Çoban
  • İl / İlçe: Denizli
  • İşletim Sisteminiz: Windows 7 - 64 bit
  • Mesleğiniz: Ü.Tğm.
  • Office Versiyonunuz: Office 2007 TR
Ynt: Dış işlemler ile makro çalıştırmak
« Yanıtla #28 : 06 Ocak 2011, 09:37:44 »
İşlemi tekrar denedim, bu sefer sonuna kadar bekledim.
Ekteki hata mesajını verdi.


Çevrimdışı Bülent Öztürk

  • Excelce.Net Yönetici
  • *
  • İleti: 1413
  • Puan +19/-0
  • Cinsiyet: Bay
  • Türkçe Konuşup Excelce Yazıyoruz...
    • Bülent Öztürk
  • Ad Soyad: Bülent Öztürk
  • Doğum Yılınız: 1976
  • İl / İlçe: İstanbul / Çorlu
  • İşletim Sisteminiz: Win.10
  • Mesleğiniz: Bilgi Teknolojileri
  • Office Versiyonunuz: 2016
Ynt: Dış işlemler ile makro çalıştırmak
« Yanıtla #29 : 06 Ocak 2011, 10:03:17 »
Evet, sonsuz göngüye giriyor...  :hımm

Sanırım doğrudan Outlook içinden bunu halledemeyeceğiz.

Kodlar, yeni mail kutuya düşmeden çalıştığı için son gelen/gelmekte olan mail hakkında bilgi alamıyoruz.  :hımm
(Ücretli program talepleriniz için iletişime geçebilirsiniz, excelvbprogram@gmail.com)