Merhaba,
Outlook takvimine tarihi yazdırmak için oluşturduğum bir VB kodu var, bunu Modül olarak nasıl yazabilirim?:
burada Private Sub Form_Close() yerine Public Function takvim() şeklinde modül1 olarak yazmak istiyorum.
burada Metin666 veya Metin yazan yerler FormTakvim adında bir forma ait Metin kutu isimleridir. Bu uygulamayı her çalıştırdığımda bu konu önceden outlooka kayıtlı ise tüm bilgileri eski kaydın üstüne yazsın.
-----------------------------------------------------------------
Private Sub Form_Close()
DoCmd.RunCommand acCmdSaveRecord
Dim outobj As New Outlook.Application
Dim outappt As Outlook.AppointmentItem
On Error Resume Next
Set outobj = GetObject(, "Outlook.Application")
If Err <> 0 Then
Set outobj = CreateObject("Outlook.Application")
Err.Clear
End If
Set outobj = CreateObject("Outlook.Application")
Set outappt = outobj.CreateItem(olAppointmentItem)
With outappt
.Start = CDate(Me.Metin666) & " " & CDate("0,4375")
.Duration = "1440"
.Subject = "" & Me.Metin111
.Body = "" & Me.Metin54
.MeetingStatus = olMeeting
.Recipients.Add (Me.Metin400)
.ReminderMinutesBeforeStart = "60"
.ReminderSet = True
.Save
End With
outappt.Display
End Sub
----------------------------------------------------------------
teşekkür ederim,
saygılarımla...
Mesajımdan yaptığınız alıntıda hatanız yazıyor.
Herhangi bir soru(n) için konu açtıysanız verilen cevapları inceleyip en kısa zamanda yapılan yardımın olumlu ya da olumsuz sonucunu bildiriniz.
Üstteki mesajıma eklediğim bağlantılardaki konular size ait. Hiç birisine geri bildirimde bulunmamışsınız.
Aşağıdaki kodu modüle kaydet
Public Function OutlookGonder(GStart As Date, GSubject As String, GBody As String, GRecipients As String)
DoCmd.RunCommand acCmdSaveRecord
Dim outobj As New Outlook.Application
Dim outappt As Outlook.AppointmentItem
On Error Resume Next
Set outobj = GetObject(, "Outlook.Application")
If Err <> 0 Then
Set outobj = CreateObject("Outlook.Application")
Err.Clear
End If
Set outobj = CreateObject("Outlook.Application")
Set outappt = outobj.CreateItem(olAppointmentItem)
With outappt
.Start = CDate(GStart) & " " & CDate("0,4375")
.Duration = "1440"
.Subject = "" & GSubject
.Body = "" & GBody
.MeetingStatus = olMeeting
.Recipients.Add (GRecipients)
.ReminderMinutesBeforeStart = "60"
.ReminderSet = True
.Save
End With
outappt.Display
End Function
Formda butonun tıklandğında olayına
Call OutlookGonder(Metin666, Metin111, Metin54, Metin400)
şeklinde kod ekle.
Sonuç hakkında olumlu/olumsuz bildirimde bulununuz.
(05/11/2015, 12:50)ozanakkaya yazdı: [ -> ]Mesajımdan yaptığınız alıntıda hatanız yazıyor.
Herhangi bir soru(n) için konu açtıysanız verilen cevapları inceleyip en kısa zamanda yapılan yardımın olumlu ya da olumsuz sonucunu bildiriniz.
Üstteki mesajıma eklediğim bağlantılardaki konular size ait. Hiç birisine geri bildirimde bulunmamışsınız.
Aşağıdaki kodu modüle kaydet
Public Function OutlookGonder(GStart As Date, GSubject As String, GBody As String, GRecipients As String)
DoCmd.RunCommand acCmdSaveRecord
Dim outobj As New Outlook.Application
Dim outappt As Outlook.AppointmentItem
On Error Resume Next
Set outobj = GetObject(, "Outlook.Application")
If Err <> 0 Then
Set outobj = CreateObject("Outlook.Application")
Err.Clear
End If
Set outobj = CreateObject("Outlook.Application")
Set outappt = outobj.CreateItem(olAppointmentItem)
With outappt
.Start = CDate(GStart) & " " & CDate("0,4375")
.Duration = "1440"
.Subject = "" & GSubject
.Body = "" & GBody
.MeetingStatus = olMeeting
.Recipients.Add (GRecipients)
.ReminderMinutesBeforeStart = "60"
.ReminderSet = True
.Save
End With
outappt.Display
End Function
Formda butonun tıklandğında olayına
Call OutlookGonder(Metin666, Metin111, Metin54, Metin400)
şeklinde kod ekle.
Sonuç hakkında olumlu/olumsuz bildirimde bulun
Merhaba,
Yazdığınız kodu pek anlayamadım. ama şu şekilde denedim oldu:
Public Function takvim()
DoCmd.RunCommand acCmdSaveRecord
Dim outobj As New Outlook.Application
Dim outappt As Outlook.AppointmentItem
On Error Resume Next
Set outobj = GetObject(, "Outlook.Application")
If Err <> 0 Then
Set outobj = CreateObject("Outlook.Application")
Err.Clear
End If
Set outobj = CreateObject("Outlook.Application")
Set outappt = outobj.CreateItem(olAppointmentItem)
With outappt
.Start = CDate(Forms!bakimYAP!Metin666) & " " & CDate("0,4375")
.Duration = "1440"
.Subject = "" & Forms!bakimYAP!Metin39
.Body = "" & Forms!bakimYAP!Metin8
.MeetingStatus = olMeeting
.Recipients.Add (Forms!bakim!Metin400)
.ReminderMinutesBeforeStart = "60"
.ReminderSet = True
.Save
End With
outappt.Display
End Function
---------------------------
Yardımlarınız için teşekkür ederim, sorun çözüldü.
Sn. ssdestek.
Eklediğiniz kod sadece bakimYAP isimli formda çalışır. Sadece bu formda çalışacaksa fonksiyon olarak yazmaya gerek yok. Benim eklediğim kod ile fonksiyonu tüm formlarda çalıştırabilirsiniz.
Call OutlookGonder(Metin666, Metin111, Metin54, Metin400)
kodundaki
Metin666: fonksiyondaki Start değeri,
Metin111: Subject değeri,
Metin54: Body değeri
Metin400: Recipients değeridir.
Farklı bir formda çalıştıracağınızda Metin666, Metin111, Metin54, Metin400 yerine formdaki denetim isimlerini yazmanız gerekiyor.