Page 1 of 1

สอบถามการแจ้งเตือนวันที่หมดอายุใน excel ให้ส่งเข้า gmail หรือ outlook ค่ะ

Posted: Fri Aug 02, 2019 10:32 am
by Nuttayaya
สวัสดีค่ะทุกท่าน รบกวนสอบถามหน่อยค่ะ

พอดีทำงานที่เกี่ยวข้องกับสัญญาต่างๆที่มีวันหมดอายุต่างกัน ไม่ทราบว่าเราสามารถให้ excel ส่ง email แจ้งเตือนเมื่อถึงวันที่หมดสัญญานั้นๆเข้าอีเมลล์แบบอัตโนมัติได้มั้ยคะ และทำอย่างไรคะ?

ขอบคุณมากค่ะ

Re: สอบถามการแจ้งเตือนวันที่หมดอายุใน excel ให้ส่งเข้า gmail หรือ outlook ค่ะ

Posted: Sat Aug 03, 2019 6:34 am
by snasui
:D สามารถทำได้ด้วย VBA ซึ่งต้องมีความรู้เกียวกับ VBA จึงจะสามารถทำงานลักษณะนี้ได้ครับ

กรณีเคยเขียน VBA ให้ลองเขียนมาเองก่อน ติดตรงไหนแล้วนำมาถามกันตามกฎการใช้บอร์ดข้อ 5 ด้านบนครับ :roll:

Re: สอบถามการแจ้งเตือนวันที่หมดอายุใน excel ให้ส่งเข้า gmail หรือ outlook ค่ะ

Posted: Mon Aug 19, 2019 9:07 am
by Nuttayaya
ขอบคุณมากค่ะอาจารย์ หนูได้พยายามลองเขียน code ดูแล้ว แต่ด้วยความที่ไม่มีความรู้เรื่องนี้เลย เลยยังงงๆและไม่เข้าใจอยู่เลยค่ะ ตัวนี้เป็นโค้ดที่หนูได้พยายามเขียนจากการอ่านตัวอย่างต่างๆใน google แล้วเขียนลงใน module1 ค่ะ แล้วกด run ดู แต่ไม่สามารถทำงานได้เลยค่ะ รบกวนขอคำชี้แนะหน่อยนะคะ ขอบคุณมากค่ะ

Code: Select all

Sub SendReminder()
Dim outLookApp As Object
Dim outLookMailItem As Object
Dim iCounter As Integer
Dim MailDest As String

Set outLookApp = CreateItem("outlook.application")
Set outLookMailItem = outLookApp.CreateItem(0)

With outLookMailItem
MailDest = ""
For iCounter = 1 To WorksheetFunction.CountA(Columns(6))
If MailDest = "" And Cells(iCounter, 6).offest(0, -1) = "Send Remider" Then MailDest = Cells(iCounter, 6).Value
ElseIf MailDest <> "" And Cells(iCounter, 6).Offset(0, -1) = "Send Reminder" Then
MailDest = MailDest & ";" & Cells(iCounter, 6).Value
End If
Next iCounter

.BCC = MailDest
.Subject = "Hi"
.Body = "Reminder: Pleas sent the next progress.Please ignore if already send."
.send
End With

    
Set outLookMailItem = Nothing
Set outLookApp = Nothing
End Sub


Re: สอบถามการแจ้งเตือนวันที่หมดอายุใน excel ให้ส่งเข้า gmail หรือ outlook ค่ะ

Posted: Mon Aug 19, 2019 9:10 am
by Nuttayaya
และนี่เป็น code ที่เขียนใน Thisworkbook code ค่ะ

Code: Select all

Private Sub CommandButton1_Click()
For Each Cell In Range("F2:F52")
If Cell.Value < Data + 3 And Cell.Value <> "" Then
Cell.Interior.ColorIndex = 3
Cell.Font.ColorIndex = 2
Cell.Font.Bold = True
Application.Speech.Speak ("send reminder to")
'cell.Value=cell.offset(0'-1).Value
Application.Speech.Speak (Cell.Offset(0, -1).Value)
End If

'Application.Speech.Speak ("cell.text")

Next
'SendReminderMail
End Sub

Re: สอบถามการแจ้งเตือนวันที่หมดอายุใน excel ให้ส่งเข้า gmail หรือ outlook ค่ะ

Posted: Mon Aug 19, 2019 9:33 am
by Nuttayaya
ขออนุญาตแนบไฟล์ค่ะ ตัวนี้เป็็นไฟล์ที่ได้ออกแบบไว้ค่ะ ขอบคุณมากค่ะ

Re: สอบถามการแจ้งเตือนวันที่หมดอายุใน excel ให้ส่งเข้า gmail หรือ outlook ค่ะ

Posted: Mon Aug 19, 2019 7:10 pm
by snasui
:D ค่อย ๆ ถามตอบกันไปครับ

กรุณาอธิบายว่าต้องการจะเขียน Code ให้ส่งเมลด้วยเงื่อนไขใดมาด้วยครับ

Re: สอบถามการแจ้งเตือนวันที่หมดอายุใน excel ให้ส่งเข้า gmail หรือ outlook ค่ะ

Posted: Tue Aug 20, 2019 10:33 am
by Nuttayaya
:D ขอบคุณมากค่ะอาจารย์ ตอนนี้หนูได้ทดลองใช้ code ตัวใหม่ ซึ่งทำให้ exel สามารถส่ง email การแจ้งเตือนเข้าในอีเมล์ส่วนตัวได้ แต่พบว่า ดันส่งแจ้งเตือนพร้อมกันทุกโครงการ ซึ่งหนูต้องการให้มีการส่งการแจ้งเตือนในเฉพาะโครงการที่ครบกำหนดส่งงาน ณ วันนั้นๆเท่านั้นค่ะรบกวนอาจารย์ช่วยดูโค้ด และขอคำชี้แนะด้วยค่ะ ขอบคุณมากค่ะ :D

Code: Select all

Sub send_email()
Dim olApp As Object
Dim olMailItm As Object
Dim iCounter As Integer
Dim Dest As Variant
Dim SDest As String
' Subject
strSubj = "Plese send the next project"
On Error GoTo dbg
' Create a new Outlook object
Set olApp = CreateObject("Outlook.Application")
For iCounter = 9 To WorksheetFunction.CountA(Columns(9))
' Create a new item (email) in Outlook
Set olMailItm = olApp.CreateItem(0)
strBody = ""
useremail = Cells(iCounter, 9).Value
FullUsername = Cells(iCounter, 2).Value
Status = Cells(iCounter, 8).Value
pwdchange = Cells(iCounter, 3).Value
'Make the body of an email
strBody = "Dear " & FullUsername & vbCrLf
strBody = strBody & "The date and time of the last password change is" & pwdchange & vbCrLf
olMailItm.To = useremail
olMailItm.Subject = strSubj
olMailItm.BodyFormat = 1
' 1 – text format of an email, 2 -  HTML format
olMailItm.Body = strBody
olMailItm.send
Set olMailItm = Nothing
Next iCounter
Set olApp = Nothing
dbg:
'Display errors, if any
If Err.Description <> "" Then MsgBox Err.Description
End Sub


Re: สอบถามการแจ้งเตือนวันที่หมดอายุใน excel ให้ส่งเข้า gmail หรือ outlook ค่ะ

Posted: Tue Aug 20, 2019 10:36 am
by Nuttayaya
ไฟล์งานค่ะ

Re: สอบถามการแจ้งเตือนวันที่หมดอายุใน excel ให้ส่งเข้า gmail หรือ outlook ค่ะ

Posted: Tue Aug 20, 2019 7:29 pm
by snasui
:D กรุณาอธิบายว่าต้องการจะส่งเมลด้วยเงื่อนไขใดพร้อมทั้งพิจารณาไฟล์ตัวอย่างว่า Code ที่เขียนสามารถทำงานกับตัวอย่างข้อมูลที่ส่งมาจริงหรือไม่ครับ

ผมสอบถามไปรอบหนึ่งแล้วยังไม่ได้รับคำตอบ หากเป็นเช่นนี้ผมไม่สามารถทดสอบและแก้ไขให้ได้ครับ