Page 1 of 1

Code แจ้งเตือนเมื่อเลยกำหนดโดย Export ทาง Outlook

Posted: Tue Jul 14, 2020 2:10 pm
by Todsapon
ผมเขียน Code การแจ้งเตือนโดย Export ทาง Line notify ใช้งานได้แล้วตาม Code ด้านล่าง
และอยากให้ทำงานโดย Export เนื้อหาเดียวกันทาง Outlook ด้วย (เพื่อความเป็นทางการ)
แต่ผม Modify code เพื่อส่ง Outlook ไม่ได้ รบกวนชี้แนะด้วยครับผม
ข้อมูลเพิ่มเติม : ตัวเอกสารเป็นตารางติดตามงานจะแจ้งเตือนทั้งงานที่เลยกำหนด และ งานที่จะถึงกำหนดใน 7 วันข้างหน้า
ถ้าข้อมูลไม่เพียงพอ รบกวนชี้แนะด้วยครับ สมาชิกใหม่ครับผม....ขอบคุณครับ

Code: Select all

Public tbl As ListObject
Function GetTableData(projRow)

projName = tbl.DataBodyRange.Cells(projRow, tbl.ListColumns("In Charge").Index)
projDesc = tbl.DataBodyRange.Cells(projRow, tbl.ListColumns("Model").Index)
projDesc1 = tbl.DataBodyRange.Cells(projRow, tbl.ListColumns("Item").Index)
projDeadline = tbl.DataBodyRange.Cells(projRow, tbl.ListColumns("Target").Index)


projFullMsg = projName & " | " & projDesc & " : " & projDesc1 & " | Dead Line : " & projDeadline

GetTableData = projFullMsg

End Function

Sub LoopTable()
Set tbl = ActiveSheet.ListObjects("Table1")


dateToday = Date


NumRows = tbl.DataBodyRange.Rows.Count


    CountDue = 0
    For i = 1 To NumRows
        projDeadline = tbl.DataBodyRange.Cells(i, tbl.ListColumns("Target").Index)
        projFinish = tbl.DataBodyRange.Cells(i, tbl.ListColumns("Status").Index)
        If projFinish <> "Y" And projDeadline < dateToday Then
        DueMsg = DueMsg & GetTableData(i) & Chr(13) & Chr(10)
        CountDue = CountDue + 1
        End If
    Next i
    
    LineNotify "Your Job Overdue!! : " & CountDue & " Items" & Chr(13) & Chr(10) & DueMsg
    
   

NumDayNoti = Range("I1")
    CountPreNoti = 0
    For i = 1 To NumRows
        projDeadline = tbl.DataBodyRange.Cells(i, tbl.ListColumns("Target").Index)
        projFinish = tbl.DataBodyRange.Cells(i, tbl.ListColumns("Status").Index)
        If projFinish <> "Y" And (projDeadline - NumDayNoti) <= dateToday And projDeadline >= dateToday Then
        PreNotiMsg = PreNotiMsg & GetTableData(i) & Chr(13) & Chr(10)
        CountPreNoti = CountPreNoti + 1
        End If
    Next i
    
    LineNotify "Close to deadline : " & CountPreNoti & " Items" & Chr(13) & Chr(10) & PreNotiMsg
    
End Sub

Re: Code แจ้งเตือนเมื่อเลยกำหนดโดย Export ทาง Outlook

Posted: Tue Jul 14, 2020 7:51 pm
by snasui
:D กรุณาเขียน Code สำหรับการส่งเมลด้วย Outlook มาโดยตรงหากติดปัญหาให้แนบไฟล์ที่มี Code มาด้วยจะได้ช่วยดูต่อไปจากนั้นครับ

Re: Code แจ้งเตือนเมื่อเลยกำหนดโดย Export ทาง Outlook

Posted: Wed Jul 15, 2020 8:16 am
by Todsapon
snasui wrote: Tue Jul 14, 2020 7:51 pm :D กรุณาเขียน Code สำหรับการส่งเมลด้วย Outlook มาโดยตรงหากติดปัญหาให้แนบไฟล์ที่มี Code มาด้วยจะได้ช่วยดูต่อไปจากนั้นครับ

เบื้องต้นรบกวนอาจารย์ชี้แนะหน่อยได้ไหมครับว่าหลักการเขียนควรจบใน Worksheet เลย
หรือเขียนเนื้อหาข้อความใน Worksheet แล้วเขียน Export Outlook ใน Module อีกทีหนึ่ง
ขอบคุณครับ

Re: Code แจ้งเตือนเมื่อเลยกำหนดโดย Export ทาง Outlook

Posted: Wed Jul 15, 2020 8:39 am
by snasui
:D โดยทั่วไปเนื้อหาอีเมลเขียนไว้ที่ไหนก็ได้ให้สะดวกต่อการปรับเปลี่ยน ข้อจำกัดของการเขียนไว้ใน Code ที่เรียกกันว่า Hard code จะไม่ยืดหยุ่นต่อการใช้งานครับ

สำหรับการส่งอีเมลผ่าน Outlook ด้วย VBA ลองศึกษาจาก Link นี้ซึ่งจะมีความละเอียดและครบถ้วนแห่งหนึ่งใน Internet ครับ https://www.rondebruin.nl/win/s1/outlook/mail.htm

Re: Code แจ้งเตือนเมื่อเลยกำหนดโดย Export ทาง Outlook

Posted: Thu Jul 16, 2020 2:18 pm
by Todsapon
snasui wrote: Wed Jul 15, 2020 8:39 am :D โดยทั่วไปเนื้อหาอีเมลเขียนไว้ที่ไหนก็ได้ให้สะดวกต่อการปรับเปลี่ยน ข้อจำกัดของการเขียนไว้ใน Code ที่เรียกกันว่า Hard code จะไม่ยืดหยุ่นต่อการใช้งานครับ

สำหรับการส่งอีเมลผ่าน Outlook ด้วย VBA ลองศึกษาจาก Link นี้ซึ่งจะมีความละเอียดและครบถ้วนแห่งหนึ่งใน Internet ครับ https://www.rondebruin.nl/win/s1/outlook/mail.htm
ขอบคุณมากครับ
ผมจะลองศึกษาใน Link ที่อาจารย์แชร์ให้ก่อนครับ