alarm

Katılım
15 Temmuz 2004
Mesajlar
28
Selam
Biliyorsunuzdur mutlaka John Walkenbachın bir api si var.Aşağıdaki gibi.

http://j-walk.com/ss/excel/tips/tip87.htm

Kod:
'Windows API function declaration
Private Declare Function PlaySound Lib "winmm.dll" _
  Alias "PlaySoundA" (ByVal lpszName As String, _
  ByVal hModule As Long, ByVal dwFlags As Long) As Long


Function Alarm(Cell, Condition)
    Dim WAVFile As String
    Const SND_ASYNC = &H1
    Const SND_FILENAME = &H20000
    On Error GoTo ErrHandler
    If Evaluate(Cell.Value & Condition) Then
        WAVFile = ThisWorkbook.Path & "\sound.wav" 'Edit this statement
        Call PlaySound(WAVFile, 0&, SND_ASYNC Or SND_FILENAME)
        Alarm = True
        Exit Function
    End If
ErrHandler:
    Alarm = False
End Function
Kod:
=Alarm(A1;">=1000")
Þimdi benim sorunum şöyle , E sütununda tarihler var.Bu tarihlerden 10 gün önce alarm versin ve F sütunundaki kişilere Microsoft Outlookdan uyarı e-maili göndersin. Bu mümkün mü acaba?
 

Haluk

𐱅𐰇𐰼𐰚
Katılım
7 Temmuz 2004
Mesajlar
12,291
Excel Vers. ve Dili
64 Bit 2010 - İngilizce
+
Google Sheets
+
JScript
Altın Üyelik Bitiş Tarihi
Özel kişi
Excel ile e-mail gönderilecekse e-mail client olarak MS Outlook'un kullanılması her zaman daha iyidir. Çünkü MS Outlook da bir Office programı olduğu için, Excel VBA'de MS Outlook'a referans vererek bazı işler daha kolay yapılabilir.

Aşağıdaki kodu çalıştırmadan önce Excel VBE'de Tools | References kısmından MS Outlook 9.0 Object Libray referansının eklenmesi gerekir. (MS Outlook versiyonuna göre 10 veya 11 de olabilir.)

PC'nin tarihi ile E sütunundaki tarihleri kontrol edip, 10 günlük farkı gördüğü yerde F sütunundaki geçerli e-mail adresine bir e-mail, MS Outlook ile aşağıdaki gibi bir kodla gönderilebilir.

Kod:
Sub MultiEmail()
    Dim OutApp As Outlook.Application
    Dim NewMail As Outlook.MailItem
    Dim noE As Integer, i As Integer
    noE = Cells(65536, 5).End(xlUp).Row
        For i = 1 To noE
            If Cells(i, 5) = Date - 10 Then
                Set OutApp = New Outlook.Application
                Set NewMail = CreateItem(olMailItem)
                    With NewMail
                        .To = Cells(i, 6).Text
                        .Subject = "Deneme"
                        .Body = "Bu e-mail deneme amacıyla gönderilmiştir."
                        .Save
                        .Send
                    End With
                Set NewMail = Nothing
                Set OutApp = Nothing
            End If
        Next
End Sub
Eğer bu kodun çalıştırıldığı PC'de ilgili güvenlik yaması kurulmuş ise Windows kullanıcıyı ikaz eder ve başka bir programın e-mail göndermeye çalıştığına dair kullanıcıyı uyarır. Bu yama kurulu değilse, böyle bir problem olmaz.
 
Katılım
15 Temmuz 2004
Mesajlar
28
:mrgreen:

Sonunda yapabildim.Hatam 13.08.2004 yazacağıma eylül ayından tarih seçiyormuşum.

Çok teşekkür ederim elinize sağlık. :dua:
 
Katılım
15 Temmuz 2004
Mesajlar
28
Ben konuyu uzatmayı severim. :hihoho:
Bu kullandığımız excel kapalı iken, E sütunundaki çeşitli tarihlere göre kendiliğinden e-mail gönderebilir mi diye soracaktım.?
 

Haluk

𐱅𐰇𐰼𐰚
Katılım
7 Temmuz 2004
Mesajlar
12,291
Excel Vers. ve Dili
64 Bit 2010 - İngilizce
+
Google Sheets
+
JScript
Altın Üyelik Bitiş Tarihi
Özel kişi
Start >> Programs >> Acessories >> System Tools >> Scheduled Tasks
 
Katılım
15 Temmuz 2004
Mesajlar
28
Teşekkür ederim sevgili Raider
Bu yöntemle yapmam mümkün olamadı.Başka önerebileceğiniz yöntem var mı acaba?
 

Hüseyin

Administrator
Yönetici
Admin
Katılım
2 Haziran 2004
Mesajlar
3,534
Excel Vers. ve Dili
Excel 2010 - Türkçe
genesis' Alıntı:
Teşekkür ederim sevgili Raider
Bu yöntemle yapmam mümkün olamadı.Başka önerebileceğiniz yöntem var mı acaba?
Münkün olmadı derken;
Hata veya sorun nerede oldu?
Bence de bu yöntem uygun görünmüştü.
Scheduled Tasks belirttiğiniz Excel dosyasını periyodik olarak açar, açılışa yerleştirilen bir makro kontrolu yapar ve uygun kayıt bulursa email gönderir.... diye düşünmüştüm.
 
Katılım
10 Eylül 2004
Mesajlar
42
Excel Vers. ve Dili
EXCEL 2002 TR
olmadı

Alarm için Kodu VBA da yazdım ama çalışmadı.
Formulde hata var mesajı veriyor. çalışan örneğini ekleyebilirmisiniz
 
Katılım
5 Eylül 2004
Mesajlar
571
Excel Vers. ve Dili
Excel 2003 SP1 Ingilizce
Merhaba

Ekli file:deneme1.zip

İyi Çalışmalar
 
Katılım
10 Eylül 2004
Mesajlar
42
Excel Vers. ve Dili
EXCEL 2002 TR
Teşekkür ederim Mail tamam ama sound la ilgili bir sorunum var sanırım.
 
Katılım
5 Eylül 2004
Mesajlar
571
Excel Vers. ve Dili
Excel 2003 SP1 Ingilizce
Selam

Sound.wav

olmayabilir bu satırı sound1.wav olarak değiştirip deneyin.Bu da olmazsa wav filelarınızı bulun sound diye filenız var mı kontrol edin.Yoksa tabiiki çalışmaz.. :D

İyi Çalışmalar
 
Katılım
10 Eylül 2004
Mesajlar
42
Excel Vers. ve Dili
EXCEL 2002 TR
Bir soru daha

ses ile ilgili sorunu hallettim ses dosyasının klasörünü yazıp düzelttim durumu .
Ama aklıma bir şey takıldı maili MS Outlook ile değil de Outlook Express ile göndermesinin bir yolu var mı?
 
Üst