:D snasui.com ยินดีต้อนรับ :D
ยินดีต้อนรับสู่กระดานถามตอบ Excel and VBA และอื่น ๆ ที่เป็นมิตรกับทุกท่าน มีไฟล์แนบมหาศาล ช่วยให้ท่านค้นหาและติดตามศึกษาได้โดยง่าย :thup: สมาชิกท่านใดที่ยังไม่ได้ระบุ Version ของ Excel ที่ใช้งานจริง สามารถทำตาม Link นี้เพื่อจะได้รับคำตอบที่ตรงกับ Version ของท่านครับ :arrow: ระบุ Version ของ Excel
:!: โปรดทราบ :!:
  1. กรุณาอ่านกฎการใช้บอร์ด (Forum rules) ในตำแหน่งด้านบนของแต่ละบอร์ด
  2. การสมัครสมาชิก การ Login การกู้คืนรหัสผ่าน
    1. สมัครสมาชิกดูขั้นตอนได้ที่ :arrow: สมัครสมาชิก
    2. Login เข้าระบบโดยคลิกปุ่ม Login ตรงมุมขวาบนของหน้านี้ :roll:
    3. การ Login ผ่าน Facebook ดูวิธีที่ :arrow: Login ผ่าน Facebook
    4. ลืมรหัสผ่านสามารถรับรหัสใหม่ได้ที่ :arrow: Reset รหัสผ่าน
  3. มีปัญหาการใช้งาน แจ้งผู้ดูแลระบบได้ที่ :arrow: ติดต่อผู้ดูแลระบบ
  4. กำหนดการตั้งค่าส่วนตัว เช่นตั้งค่าภาษาเป็นไทยหรืออังกฤษดูได้ที่ :arrow: ตั้งค่าส่วนตัว
  5. การตั้งและตอบกระทู้ดูได้ที่ :arrow: วิธีการตั้งและตอบกระทู้
  6. การจัดรูปแบบตัวอักษรด้วย bbcode ในช่องแสดงความคิดเห็นดูได้ที่ :arrow: จัดรูปแบบตัวอักษร
  7. กำหนดขนาดตัวอักษรใน Browser ดูได้ที่ :arrow: กำหนดขนาดตัวอักษรใน Browser

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

ฟอรัมถาม-ตอบปัญหาการใช้งานสูตรและฟังก์ชัน Excel
Forum rules
  1. ไม่อนุญาตให้ใช้ภาษาแชทในการถามและตอบปัญหา ไม่ใช้คำว่า "คับ" หรือ "อ่ะครับ" แทนคำว่า "ครับ" ไม่ใช้คำว่า "เด๋ว" แทนคำว่า "เดี๋ยว" เป็นต้น เนื่องจากเมื่อแปลเป็นภาษาต่างประเทศแล้วจะให้ความหมายผิดไปจากที่ควรจะเป็น
  2. ห้ามถามโดยระบุชื่อผู้ตอบและต้องตั้งชื่อกระทู้ให้สื่อถึงปัญหาที่จะถาม ไม่ตั้งชื่อว่า ช่วยด้วยครับ, มีปัญหามาปรึกษาครับ เป็นต้น
  3. กรุณาอธิบายปัญหาและระบุคำตอบที่ต้องการมาในกระทู้ด้วยเสมอถึงแม้จะอธิบายไว้ในไฟล์แนบแล้วก็ตาม ทั้งนี้เพื่ออำนวยความสะดวกแก่เพื่อนสมาชิกในการค้นหาข้อมูล
  4. กรุณาแนบไฟล์ตัวอย่างพร้อมแสดงคำตอบที่ถูกต้องมาในไฟล์ด้วยเพื่อให้ง่ายต่อการทำความเข้าใจและสะดวกต่อการตอบคำถาม (ขนาดไฟล์ไม่เกิน 500Kb ขนาดภาพไม่เกิน 800*600 Pixel) ไม่แนบเป็น Link มาจากแหล่งอื่นที่อาจจะถูกลบทิ้งไปโดยต้นทางในภายหลัง นอกจากนี้ไม่ควรแนบไฟล์ที่มีข้อมูลสำคัญอันก่อให้เกิดความเสียหายกับตนเองและผู้อื่น
  5. กรณีเป็นคำถามเกี่ยวกับ Programming เช่น VBA, VB.Net, C#, SQL ฯลฯ ต้องลองเขียนมาเองก่อนเสมอ ถามเฉพาะที่ติดปัญหา ระบุ Module, Procedure ที่ติดปัญหาให้ชัดเจน กรุณาโพสต์ Code ให้แสดงเป็น Code คือเปิดด้วย [code] และปิดด้วย [/code] ตัวอย่างเช่น [code]dim r as range[/code] เพื่อให้แตกต่างจากข้อความทั่วไป สะดวกในการอ่านและทดสอบ (คลิกเพื่อดูตัวอย่าง)
  6. กรุณาแจ้งผลการใช้งานเมื่อได้รับคำตอบว่าตรงกับความต้องการหรือไม่
Nuttayaya
Member
Member
Posts: 6
Joined: Fri Aug 02, 2019 10:29 am

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

#1

Post by Nuttayaya »

สวัสดีค่ะทุกท่าน รบกวนสอบถามหน่อยค่ะ

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

ขอบคุณมากค่ะ
User avatar
snasui
Site Admin
Site Admin
Posts: 31256
Joined: Sun Jan 24, 2010 12:33 pm
Location: Songkhla, Thailand
Excel Ver: 2010, 2019
Contact:

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

#2

Post by snasui »

:D สามารถทำได้ด้วย VBA ซึ่งต้องมีความรู้เกียวกับ VBA จึงจะสามารถทำงานลักษณะนี้ได้ครับ

กรณีเคยเขียน VBA ให้ลองเขียนมาเองก่อน ติดตรงไหนแล้วนำมาถามกันตามกฎการใช้บอร์ดข้อ 5 ด้านบนครับ :roll:
Nuttayaya
Member
Member
Posts: 6
Joined: Fri Aug 02, 2019 10:29 am

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

#3

Post 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

Nuttayaya
Member
Member
Posts: 6
Joined: Fri Aug 02, 2019 10:29 am

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

#4

Post 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
Nuttayaya
Member
Member
Posts: 6
Joined: Fri Aug 02, 2019 10:29 am

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

#5

Post by Nuttayaya »

ขออนุญาตแนบไฟล์ค่ะ ตัวนี้เป็็นไฟล์ที่ได้ออกแบบไว้ค่ะ ขอบคุณมากค่ะ
You do not have the required permissions to view the files attached to this post.
User avatar
snasui
Site Admin
Site Admin
Posts: 31256
Joined: Sun Jan 24, 2010 12:33 pm
Location: Songkhla, Thailand
Excel Ver: 2010, 2019
Contact:

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

#6

Post by snasui »

:D ค่อย ๆ ถามตอบกันไปครับ

กรุณาอธิบายว่าต้องการจะเขียน Code ให้ส่งเมลด้วยเงื่อนไขใดมาด้วยครับ
Nuttayaya
Member
Member
Posts: 6
Joined: Fri Aug 02, 2019 10:29 am

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

#7

Post 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

Nuttayaya
Member
Member
Posts: 6
Joined: Fri Aug 02, 2019 10:29 am

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

#8

Post by Nuttayaya »

ไฟล์งานค่ะ
You do not have the required permissions to view the files attached to this post.
User avatar
snasui
Site Admin
Site Admin
Posts: 31256
Joined: Sun Jan 24, 2010 12:33 pm
Location: Songkhla, Thailand
Excel Ver: 2010, 2019
Contact:

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

#9

Post by snasui »

:D กรุณาอธิบายว่าต้องการจะส่งเมลด้วยเงื่อนไขใดพร้อมทั้งพิจารณาไฟล์ตัวอย่างว่า Code ที่เขียนสามารถทำงานกับตัวอย่างข้อมูลที่ส่งมาจริงหรือไม่ครับ

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