Page 1 of 1

ต้องการให้โค้ดยีดหยุ่นเป็นวันที่ปัจจุบันในการส่งเมล

Posted: Thu May 26, 2022 1:20 pm
by March201711
โดยดูที่ cell F1 เป็นวันที่ปัจจุบันตามที่ high light สีเหลือง ตัวสีแดง เช่นที่ cell F1 เป็นวันที่ 26/5/22 ในโค้ดที่เป็น subject .ให้เป็นวันที่ 26/5/22 ด้วย
ส่วนโค้ดแหล่งข้อมูลที่จะดึงส่งเมล์ ลองทำแล้วแต่ติดไม่สามารถส่งได้ค่ะ ต้องปรับแก้ code อย่างไรคะ

Code: Select all

Sub Export_Email()

  
    
        Dim EmailApp As Outlook.Application
        Dim Source As String
        Set EmailApp = New Outlook.Application
        
        
        Dim EmailItem As Outlook.MailItem
        Set EmailItem = EmailApp.CreateItem(olMailItem)
        
        
        EmailItem.To = "JirapornK@gmail.com"
        
        EmailItem.Subject = "Test run send daily as at 26/5/22"
      
        EmailItem.HTMLBody = "Dear All," & "<br>" & _
                        "<br>" & "Test run send daily report as at 26/5/22." & "<br>" & _
                        "<br>" & _
                        "<br>" & _
                        "<br>" & _
                        "Regards," & "<br>" & _
                        "Jiraporn"
  
        Source = ThisWorkbook.FullName
        EmailItem.Attachments.Add ("C:\User\download\year 2022\" & Format(Range("F1").Value2, "mm") & "_" & Format(Range("F1").Value2, "mmm") & "\" & "รายงานสถานะบล_" & Format(Range("F1").Value2, "ddmmm") & ".xlsx")
        EmailItem.Attachments.Add ("C:\User\download\year2022\Daily report.xlsx")
        EmailItem.Attachments.Add ("C:\User\download\year2022\Daily_" & Format(Range("F1").Value2, "mmyy") & "\" & Format(Range("F1").Value2, "ddmmyyyy") & ".xlsx")
        
        EmailItem.Send
        
        
End Sub

Re: ต้องการให้โค้ดยีดหยุ่นเป็นวันที่ปัจจุบันในการส่งเมล

Posted: Thu May 26, 2022 2:56 pm
by snasui
:D ตัวอย่างการปรับ Code ครับ

จาก EmailItem.Subject = "Test run send daily as at 26/5/22"

ปรับเป็น EmailItem.Subject = "Test run send daily as at " & Application.Text(Range("f1").Value, "dd/mm/yy")

Re: ต้องการให้โค้ดยีดหยุ่นเป็นวันที่ปัจจุบันในการส่งเมล

Posted: Fri May 27, 2022 8:24 am
by March201711
แล้วตรง source file ปรับ code อย่างไรคะ

Source = ThisWorkbook.FullName

Code: Select all

 EmailItem.Attachments.Add ("C:\User\download\year 2022\" & Format(Range("F1").Value2, "mm") & "_" & Format(Range("F1").Value2, "mmm") & "\" & "Report_" & Format(Range("F1").Value2, "ddmmm") & ".xlsx") 

Code: Select all

 EmailItem.Attachments.Add ("C:\User\download\year2022\Daily_" & Format(Range("F1").Value2, "mmyy") & "\" & Format(Range("F1").Value2, "ddmmyyyy") & ".xlsx") 

EmailItem.Send

พอรันกด รันแล้วมันติด debug ค่ะ

Re: ต้องการให้โค้ดยีดหยุ่นเป็นวันที่ปัจจุบันในการส่งเมล

Posted: Fri May 27, 2022 9:08 am
by snasui
:D ลองตรวจสอบว่าเป็น Path ที่มีอยู่จริงหรือไม่ครับ

กดแป้น Alt+F11 เพื่อเปิด VBE > กดแป้น Ctrl+G > นำ Statement นี้ไปวาง ? "C:\User\download\year2022\Daily_" & Format(Range("F1").Value2, "mmyy") & "\" & Format(Range("F1").Value2, "ddmmyyyy") & ".xlsx" > Enter > สังเกตว่าเป็น Path ที่มีอยู่จริงหรือไม่ เพื่อเปลี่ยนให้ตรงกับ Path ที่มีอยู่จริง

Re: ต้องการให้โค้ดยีดหยุ่นเป็นวันที่ปัจจุบันในการส่งเมล

Posted: Sun May 29, 2022 9:09 pm
by March201711
พอกดแล้วขึ้นว่า compile error น่ะค่ะ เกิดจากอะไรคะImage

Re: ต้องการให้โค้ดยีดหยุ่นเป็นวันที่ปัจจุบันในการส่งเมล

Posted: Mon May 30, 2022 5:40 am
by snasui
:D เข้า VBE เพื่อ Add reference เข้ามาใช้งานดังภาพครับ

วิธีการ
  1. กดแป้น Alt+F11 เพื่อไปยัง VBE (Visual Basic Editor)
  2. เข้าเมนู Tools > Reference
  3. เลือกรายการตาม Version ของ Outlook ที่ใช้งานจริงตังตัวอย่างในภาพ > OK

Re: ต้องการให้โค้ดยีดหยุ่นเป็นวันที่ปัจจุบันในการส่งเมล

Posted: Mon May 30, 2022 8:01 am
by March201711
ค่ะ แล้วรู้ได้ยังไงคะ ว่าต้องใช้ Ms Outlook 16 คะ
ดูได้จากไหนคะ

Re: ต้องการให้โค้ดยีดหยุ่นเป็นวันที่ปัจจุบันในการส่งเมล

Posted: Mon May 30, 2022 9:41 am
by snasui
:D วิธีหนึ่งคือตรวจสอบดังตัวอย่างในภาพครับ

Re: ต้องการให้โค้ดยีดหยุ่นเป็นวันที่ปัจจุบันในการส่งเมล

Posted: Mon May 30, 2022 10:23 am
by March201711
ค่ะ ถามอีกนิดนึงค่ะ ถ้าเราจะตั้งเวลา ส่งเมล์ต้องเขียน code ยังงัยคะ

Re: ต้องการให้โค้ดยีดหยุ่นเป็นวันที่ปัจจุบันในการส่งเมล

Posted: Mon May 30, 2022 12:26 pm
by snasui
:D ลองศึกษาวิธีการตาม Link นี้ดูครับ https://stackoverflow.com/questions/102 ... -is-locked

Re: ต้องการให้โค้ดยีดหยุ่นเป็นวันที่ปัจจุบันในการส่งเมล

Posted: Tue May 31, 2022 6:56 pm
by March201711
ค่ะ ถ้าจะเปลี่ยน font เป็นตัวอักษรอื่น และขนาดด้วย ต้อง ปรับโค้ดยังงัยคะ

Re: ต้องการให้โค้ดยีดหยุ่นเป็นวันที่ปัจจุบันในการส่งเมล

Posted: Tue May 31, 2022 7:16 pm
by snasui
:D กรุณาปรับ Code มาเองก่อนเสมอ ติดตรงไหนค่อยถามกันต่อครับ