: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

สอบถาม Error การส่งอีเมลล์ gmail ผ่าน VB Excel และการแนบไฟล์เป็นรูปภาพให้แสดงในอีเมลล์

ฟอรัมถาม-ตอบปัญหาการใช้งาน MS Excel and VBA
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. กรุณาแจ้งผลการใช้งานเมื่อได้รับคำตอบว่าตรงกับความต้องการหรือไม่
Lady_P86
Member
Member
Posts: 3
Joined: Tue Oct 29, 2019 4:48 pm

สอบถาม Error การส่งอีเมลล์ gmail ผ่าน VB Excel และการแนบไฟล์เป็นรูปภาพให้แสดงในอีเมลล์

#1

Post by Lady_P86 »

1)หนู copy code gmail จาก https://wellsr.com/vba/2020/excel/vba-s ... ith-gmail/
นำมาใช้ แต่ขึ้น Error ตามภาพด้านล่างค่ะ รบกวนสอบถามว่าเกิดจากอะไรและแก้ไขยังไงคะ
ขอบพระคุณล่วงหน้าค่ะ

โค้ดที่ copy มาจากเว็บ และนำไปใช้ค่ะ
Image

Code: Select all

'For Early Binding, enable Tools > References > Microsoft CDO for Windows 2000 Library
Sub SendEmailUsingGmail()
    Dim NewMail As Object
    Dim mailConfig As Object
    Dim fields As Variant
    Dim msConfigURL As String
    On Error GoTo Err:

    'late binding
    Set NewMail = CreateObject("CDO.Message")
    Set mailConfig = CreateObject("CDO.Configuration")

    ' load all default configurations
    mailConfig.Load -1

    Set fields = mailConfig.fields

    'Set All Email Properties
    With NewMail
        .From = ""
        .To = ""
        .CC = ""
        .BCC = ""
        .Subject = "Demo Spreadsheet Attached"
        .Textbody = "Let me know if you have questions about the attached spreadsheet!"
        '.Addattachment "c:\data\testmail.xlsx"
    End With

    msConfigURL = "http://schemas.microsoft.com/cdo/configuration"

    With fields
        .Item(msConfigURL & "/smtpusessl") = True             'Enable SSL Authentication
        .Item(msConfigURL & "/smtpauthenticate") = 1          'SMTP authentication Enabled
        .Item(msConfigURL & "/smtpserver") = "smtp.gmail.com" 'Set the SMTP server details
        .Item(msConfigURL & "/smtpserverport") = 465          'Set the SMTP port Details
        .Item(msConfigURL & "/sendusing") = 2                 'Send using default setting
        .Item(msConfigURL & "/sendusername") = "Your gmail address" 'Your gmail address
        .Item(msConfigURL & "/sendpassword") = "Your password" 'Your password or App Password
        .Update                                               'Update the configuration fields
    End With
    NewMail.Configuration = mailConfig
    NewMail.Send
    
    MsgBox "Your email has been sent", vbInformation

Exit_Err:
    'Release object memory
    Set NewMail = Nothing
    Set mailConfig = Nothing
    End

Err:
    Select Case Err.Number
    Case -2147220973  'Could be because of Internet Connection
        MsgBox "Check your internet connection." & vbNewLine & Err.Number & ": " & Err.Description
    Case -2147220975  'Incorrect credentials User ID or password
        MsgBox "Check your login credentials and try again." & vbNewLine & Err.Number & ": " & Err.Description
    Case Else   'Report other errors
        MsgBox "Error encountered while sending email." & vbNewLine & Err.Number & ": " & Err.Description
    End Select

    Resume Exit_Err

End Sub
2)สอบถามวิธีการเขียนโค้ดการแนบไฟล์เป็นรูปภาพให้แสดงในอีเมลล์
เดิม ใช้วิธีเซฟรูปเป็น htm แต่เมื่อใช้VBเขียนแนบไฟล์แล้ว รูปภาพไม่แสดงในเนื้อหาของอีเมลล์ตามภาพค่ะ
snanui2.JPG
You do not have the required permissions to view the files attached to this post.
User avatar
parakorn
Gold
Gold
Posts: 1223
Joined: Thu Mar 14, 2013 9:41 am
Location: Central Chaengwattana[Tops]
Excel Ver: 365
Contact:

Re: สอบถาม Error การส่งอีเมลล์ gmail ผ่าน VB Excel และการแนบไฟล์เป็นรูปภาพให้แสดงในอีเมลล์

#2

Post by parakorn »

ไม่แน่ใจว่าตอนนี้ทาง Google Block วิธีการส่ง Email ผ่าน VBA หรือยังนะครับ เนื่องจากประมาณเดือนก่อน มีช่องโหว่ Zero Day ที่ใช้ช่องทางในการแนบไฟล์ผ่านตระกูล Microsoft และเนื่องจากต้องใช้เวลา Patch สักพัก หลาย Platform จึงมีการ Block การใช้งาน VBA เพื่อเป็นการป้องกันเบื้องต้นครับ
Lady_P86
Member
Member
Posts: 3
Joined: Tue Oct 29, 2019 4:48 pm

Re: สอบถาม Error การส่งอีเมลล์ gmail ผ่าน VB Excel และการแนบไฟล์เป็นรูปภาพให้แสดงในอีเมลล์

#4

Post by Lady_P86 »

parakorn wrote: Tue Aug 02, 2022 4:08 am ไม่แน่ใจว่าตอนนี้ทาง Google Block วิธีการส่ง Email ผ่าน VBA หรือยังนะครับ เนื่องจากประมาณเดือนก่อน มีช่องโหว่ Zero Day ที่ใช้ช่องทางในการแนบไฟล์ผ่านตระกูล Microsoft และเนื่องจากต้องใช้เวลา Patch สักพัก หลาย Platform จึงมีการ Block การใช้งาน VBA เพื่อเป็นการป้องกันเบื้องต้นครับ
ได้รับคำตอบตรงความต้องการ (บางส่วน)
Post Reply