Tüm Versiyonu Göster : alarm
Selam
Biliyorsunuzdur mutlaka John Walkenbachýn bir api si var.Aþaðýdaki gibi.
http://j-walk.com/ss/excel/tips/tip87.htm
'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
=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?
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.
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.
: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:
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.?
zamanlanmýþ görevler kullanarak belký diyorum.
zamanlanmýþ görevler kullanarak belký diyorum.
Sevgili Arkadaþým Alpen,
Bunu nasýl yapacaðým konusunda biraz yol gösterebilirmisin.
Start >> Programs >> Acessories >> System Tools >> Scheduled Tasks
Teþekkür ederim sevgili Raider
Bu yöntemle yapmam mümkün olamadý.Baþka önerebileceðiniz yöntem var mý acaba?
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.
Çünki PC lerde güvenlik nedeniyle scheduled tasklar ne yazýk ki açýk deðil.
holifera
18-09-2004, 16:38
Alarm için Kodu VBA da yazdým ama çalýþmadý.
Formulde hata var mesajý veriyor. çalýþan örneðini ekleyebilirmisiniz
Merhaba
Ekli file:deneme1.zip
Ýyi Çalýþmalar
holifera
20-09-2004, 17:53
Teþekkür ederim Mail tamam ama sound la ilgili bir sorunum var sanýrým.
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
holifera
03-10-2004, 13:18
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ý?
vBulletin v3.7.2, Copyright ©2000-2012, Jelsoft Enterprises Ltd.