: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

รบกวนสอบถามเรื่องส่ง Email ผ่าน 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. กรุณาแจ้งผลการใช้งานเมื่อได้รับคำตอบว่าตรงกับความต้องการหรือไม่

Post a reply


This question is a means of preventing automated form submissions by spambots.
Smilies
:D :thup: :cp: :flw: :rz: :sg: :tt: :) ;) :( :o :shock: :? 8-) :lol: :x :P :oops: :cry: :evil: :twisted: :roll: :!: :?: :idea: :arrow: :ard: :arl: :aru: :| :mrgreen: :geek: :ugeek:

BBCode is ON
[img] is ON
[url] is ON
Smilies are ON

Topic review
   

Expand view Topic review: รบกวนสอบถามเรื่องส่ง Email ผ่าน Excel หน่อยครับ

Re: รบกวนสอบถามเรื่องส่ง Email ผ่าน Excel หน่อยครับ

#17

by akung » Thu May 10, 2012 8:43 pm

snasui wrote::D ปกติการ Register จะทำเมื่อมีการเพิ่ม Control อื่น ๆ เข้ามาใช้ ยกตัวอย่างเช่นตามกระทู้นี้ http://www.snasui.com/viewtopic.php?f=3&t=2420 สำหรับการส่งเมลเราไม่่ได้เพิ่ม Control ใด ๆ เข้ามาช่วยแต่สามารถเขียน Code อ้างถึง Object ที่มีอยู่แล้วมาใช้งาน

สำหรับ Version 2003 ผมเข้าใจว่าโปรแกรมไม่รู้จัก Object ตัวนั้น จึงฟ้องในลักษณะดังกล่าว ทางเลือกอื่น ๆ เพื่อเลี่ยง Object model guard security prompts คือไปกำหนด Macro Security ใน Outlook 2003 ให้เป็น Low หรือเปลี่ยนเป็น Code ของ Ron ตาม Link นี้ครับ :arrow: http://www.rondebruin.nl/cdo.htm
ขอบคุณครับ ผมนำโปรแกรมไปลองกับ Excel 2007 ก็รันได้ไม่มีปัญหาครับ แต่ผมจะลองศึกว่าวิธีการของ Ron ดูครับ ขอบคุณมากครับ

Re: รบกวนสอบถามเรื่องส่ง Email ผ่าน Excel หน่อยครับ

#16

by snasui » Thu May 10, 2012 7:17 am

:D ปกติการ Register จะทำเมื่อมีการเพิ่ม Control อื่น ๆ เข้ามาใช้ ยกตัวอย่างเช่นตามกระทู้นี้ http://www.snasui.com/viewtopic.php?f=3&t=2420 สำหรับการส่งเมลเราไม่่ได้เพิ่ม Control ใด ๆ เข้ามาช่วยแต่สามารถเขียน Code อ้างถึง Object ที่มีอยู่แล้วมาใช้งาน

สำหรับ Version 2003 ผมเข้าใจว่าโปรแกรมไม่รู้จัก Object ตัวนั้น จึงฟ้องในลักษณะดังกล่าว ทางเลือกอื่น ๆ เพื่อเลี่ยง Object model guard security prompts คือไปกำหนด Macro Security ใน Outlook 2003 ให้เป็น Low หรือเปลี่ยนเป็น Code ของ Ron ตาม Link นี้ครับ :arrow: http://www.rondebruin.nl/cdo.htm

Re: รบกวนสอบถามเรื่องส่ง Email ผ่าน Excel หน่อยครับ

#15

by akung » Wed May 09, 2012 9:54 am

snasui wrote::lol: เนื่องจากที่เครื่องผมไม่มีปัญหาเลยไม่สามารถเปลี่ยน Code แล้วทดสอบให้ได้

ลองปรับ Code จาก Outlook.Application เป็น Outlook.Application.11 ดูว่าสามารถทำงานได้หรือไม่ครับ
ลองใส่ .11 แล้ว error ครับ

ผมพยายามหาทาง Register แต่ไม่รู้ Regis ยังไง น่าจะเป็นตรงจุดนี้มากกว่า

Re: รบกวนสอบถามเรื่องส่ง Email ผ่าน Excel หน่อยครับ

#14

by snasui » Tue May 08, 2012 3:18 pm

:lol: เนื่องจากที่เครื่องผมไม่มีปัญหาเลยไม่สามารถเปลี่ยน Code แล้วทดสอบให้ได้

ลองปรับ Code จาก Outlook.Application เป็น Outlook.Application.11 ดูว่าสามารถทำงานได้หรือไม่ครับ

Re: รบกวนสอบถามเรื่องส่ง Email ผ่าน Excel หน่อยครับ

#13

by akung » Tue May 08, 2012 12:05 pm

snasui wrote::D ลอง Add Reference ของ Microsoft Outlook 12.0 Object Library ดูครับ :mrgreen:
ผมใช้ version 2003 มีแต่ Microsoft Outlook 11.0 Object Library ครับ พอ Add แล้ว Error ตามรูปครับ รบกวนด้วยครับ ขอบคุณครับ
Attachments
Error Email Auto 1.JPG
Error Email Auto 1.JPG (29.53 KiB) Viewed 156 times

Re: รบกวนสอบถามเรื่องส่ง Email ผ่าน Excel หน่อยครับ

#12

by snasui » Tue May 08, 2012 11:07 am

:D ลอง Add Reference ของ Microsoft Outlook 12.0 Object Library ดูครับ :mrgreen:

Re: รบกวนสอบถามเรื่องส่ง Email ผ่าน Excel หน่อยครับ

#11

by akung » Tue May 08, 2012 10:20 am

run แล้วติด ตามภาพเลยครับ ต้องไป Tools > Reference ตัวไหนหรือเปล่าครับ ขอบคุณครับ
Attachments
Error Email Auto.JPG
Error Email Auto.JPG (21.8 KiB) Viewed 160 times

Re: รบกวนสอบถามเรื่องส่ง Email ผ่าน Excel หน่อยครับ

#10

by akung » Sat May 05, 2012 8:48 pm

snasui wrote::D สำหรับ Link add-ins express ที่แนบมา ผมอ่านผ่าน ๆ เป็นการเขียน Code เพื่อทำเป็น Add-ins ด้วย Visual Studio แล้วค่อยนำมาทำเป็นไฟล์ Add-ins ซึ่งจะต้องติดตั้ง Add-ins ลงไปในเครื่องก่อนแล้วค่อยใช้งานและสามารถปลด Security Warning ได้

ลองทดสอบ Code ด้านล่างซึ่งผมปรับใหม่โดยไม่ต้อง Create Object ของ Outlook ขึ้นมาก่อน

Code: Select all

Option Explicit

Private Sub CommandButton2_Click()
    Dim OutlookApp As Outlook.Application
    Dim MItem As Object
    Dim email_ As String
    Dim s_email_ As String
    Dim subject_ As String
    Dim body_ As String
    Dim rAll As Range
    Dim r As Range
    Dim l As Long

    l = Sheets("Sheet1").Range("A" & Rows.Count).End(xlUp).Row
    Set rAll = Sheets("Sheet1").Range("A2:A" & l)

    Set OutlookApp = Outlook.Application

    For Each r In rAll
        email_ = r
        s_email_ = r.Offset(0, 1)
        subject_ = r.Offset(0, 2)
        body_ = r.Offset(0, 3).Value
        
        Set MItem = OutlookApp.CreateItem(0)
        With MItem
            .SentOnBehalfOfName = s_email_
            .To = email_
            .Subject = subject_
            .Body = body_ & Chr(13) & Chr(13) & Chr(13) & r.Offset(0, 4) _
                & Chr(13) & r.Offset(0, 5) & Chr(13) & r.Offset(0, 6) & Chr(13) & r.Offset(0, 7)
            .send
        End With
    Next r
    
End Sub
สำหรับการโพสต์ Code VBA ควรทำให้เป็น Code เพื่อจะได้ง่ายต่อการอ่านและ Copy ไปทดสอบ ดูวิธีการที่นี่ครับ viewtopic.php?f=6&t=1187
ขอบคุณครับ และต้องขออภัยเรื่องการโพสต์ด้วยครับ ครั้งหน้าผมจะดำเนินการให้ถูกต้องครับ ขอบคุณอีกครั้งครับ :rz:

Re: รบกวนสอบถามเรื่องส่ง Email ผ่าน Excel หน่อยครับ

#9

by snasui » Sat May 05, 2012 1:34 pm

:D สำหรับ Link add-ins express ที่แนบมา ผมอ่านผ่าน ๆ เป็นการเขียน Code เพื่อทำเป็น Add-ins ด้วย Visual Studio แล้วค่อยนำมาทำเป็นไฟล์ Add-ins ซึ่งจะต้องติดตั้ง Add-ins ลงไปในเครื่องก่อนแล้วค่อยใช้งานและสามารถปลด Security Warning ได้

ลองทดสอบ Code ด้านล่างซึ่งผมปรับใหม่โดยไม่ต้อง Create Object ของ Outlook ขึ้นมาก่อน

Code: Select all

Option Explicit

Private Sub CommandButton2_Click()
    Dim OutlookApp As Outlook.Application
    Dim MItem As Object
    Dim email_ As String
    Dim s_email_ As String
    Dim subject_ As String
    Dim body_ As String
    Dim rAll As Range
    Dim r As Range
    Dim l As Long

    l = Sheets("Sheet1").Range("A" & Rows.Count).End(xlUp).Row
    Set rAll = Sheets("Sheet1").Range("A2:A" & l)

    Set OutlookApp = Outlook.Application

    For Each r In rAll
        email_ = r
        s_email_ = r.Offset(0, 1)
        subject_ = r.Offset(0, 2)
        body_ = r.Offset(0, 3).Value
        
        Set MItem = OutlookApp.CreateItem(0)
        With MItem
            .SentOnBehalfOfName = s_email_
            .To = email_
            .Subject = subject_
            .Body = body_ & Chr(13) & Chr(13) & Chr(13) & r.Offset(0, 4) _
                & Chr(13) & r.Offset(0, 5) & Chr(13) & r.Offset(0, 6) & Chr(13) & r.Offset(0, 7)
            .send
        End With
    Next r
    
End Sub
สำหรับการโพสต์ Code VBA ควรทำให้เป็น Code เพื่อจะได้ง่ายต่อการอ่านและ Copy ไปทดสอบ ดูวิธีการที่นี่ครับ viewtopic.php?f=6&t=1187

Re: รบกวนสอบถามเรื่องส่ง Email ผ่าน Excel หน่อยครับ

#8

by akung » Fri May 04, 2012 12:27 pm

snasui wrote::D ลองทดสอบ Code ของ Ron ตาม Link นี้ครับ Using VBA send email
http://www.add-in-express.com/docs/outl ... tomate.php

ผมไปเจอเวปนี้มาครับ ผมก็ลองใช้สูตรนี้แล้ว ก็ติด Error ครับ คิดว่าน่าจะต้องปรับแต่งที่ Excel ตรงไหนด้วยสักอย่าง

Code: Select all

Private Sub CommandButton2_Click()
    
    
    Dim OutlookApp As Object
    Dim MItem As Object
    Dim email_ As String
    Dim s_email_ As String
    Dim subject_ As String
    Dim body_ As String
    Dim rAll As Range
    Dim r As Range
    Dim l As Long
    
    OlSecurityManager.ConnectTo OutlookApp 'Runtime Eror 424 ตรงนี้ครับ
 
    OlSecurityManager.DisableOOMWarnings = True
 
    On Error GoTo Finally
       
    l = Sheets("Sheet1").Range("A" & Rows.Count).End(xlUp).Row
    Set rAll = Sheets("Sheet1").Range("A2:A" & l)

    Set OutlookApp = CreateObject("Outlook.Application")

    For Each r In rAll
        email_ = r '¼ÙéÃѺ
        s_email_ = r.Offset(0, 1) '¼ÙéÊè§
        subject_ = r.Offset(0, 2) 'àÃ×èͧ
        body_ = r.Offset(0, 3).Value 'ÃÒÂÅÐàÍÕ´ Email
        
        Set MItem = OutlookApp.CreateItem(0)
        With MItem
            .SentOnBehalfOfName = s_email_
            .To = email_
            .Subject = subject_
            .Body = body_ & Chr(13) & Chr(13) & Chr(13) & r.Offset(0, 4) _
                & Chr(13) & r.Offset(0, 5) & Chr(13) & r.Offset(0, 6) & Chr(13) & r.Offset(0, 7)
            .send
        End With
    Next r
    OutlookApp = Nothing
    MItem = Nothing
    
Finally:
    
    OlSecurityManager.DisableOOMWarnings = False

End Sub
Attachments
11.JPG
11.JPG (7.65 KiB) Viewed 186 times

Re: รบกวนสอบถามเรื่องส่ง Email ผ่าน Excel หน่อยครับ

#7

by snasui » Fri May 04, 2012 10:53 am

:D ลองทดสอบ Code ของ Ron ตาม Link นี้ครับ Using VBA send email

Re: รบกวนสอบถามเรื่องส่ง Email ผ่าน Excel หน่อยครับ

#6

by akung » Fri May 04, 2012 10:28 am

snasui wrote::D ปัญหาเดียวกับกระทู้นี้ :arrow: http://www.snasui.com/viewtopic.php?f=3&t=2426 สำหรับเครื่องผมไม่มีปัญหาเช่นว่านั้น ลองทดสอบ Code ของ Ron หรือ Code อื่น ๆ ใน Internet ดูครับ ติดตรงไหนก็ถามกันมาได้เรื่อย ๆ ครับ
ผมใช้วิธี Application.DisplayAlerts = False ก็ยังไ่ด้ครับ พอจะมีวิธีอื่นไหมครับ

Code: Select all

Private Sub CommandButton2_Click()
    Application.DisplayAlerts = False
    Dim OutlookApp As Object
    Dim MItem As Object
    Dim email_ As String
    Dim s_email_ As String
    Dim subject_ As String
    Dim body_ As String
    Dim rAll As Range
    Dim r As Range
    Dim l As Long
    
    l = Sheets("Sheet1").Range("A" & Rows.Count).End(xlUp).Row
    Set rAll = Sheets("Sheet1").Range("A2:A" & l)

    Set OutlookApp = CreateObject("Outlook.Application")

    For Each r In rAll
        email_ = r '¼ÙéÃѺ
        s_email_ = r.Offset(0, 1) '¼ÙéÊè§
        subject_ = r.Offset(0, 2) 'àÃ×èͧ
        body_ = r.Offset(0, 3).Value 'ÃÒÂÅÐàÍÕ´ Email
        
        Set MItem = OutlookApp.CreateItem(0)
        With MItem
            .SentOnBehalfOfName = s_email_
            .To = email_
            .Subject = subject_
            .Body = body_ & Chr(13) & Chr(13) & Chr(13) & r.Offset(0, 4) _
                & Chr(13) & r.Offset(0, 5) & Chr(13) & r.Offset(0, 6) & Chr(13) & r.Offset(0, 7)
            .send
        End With
    Next r
    OutlookApp = Nothing
    MItem = Nothing
    Application.DisplayAlerts = True
End Sub

Re: รบกวนสอบถามเรื่องส่ง Email ผ่าน Excel หน่อยครับ

#5

by snasui » Thu May 03, 2012 6:03 pm

:D ปัญหาเดียวกับกระทู้นี้ :arrow: http://www.snasui.com/viewtopic.php?f=3&t=2426 สำหรับเครื่องผมไม่มีปัญหาเช่นว่านั้น ลองทดสอบ Code ของ Ron หรือ Code อื่น ๆ ใน Internet ดูครับ ติดตรงไหนก็ถามกันมาได้เรื่อย ๆ ครับ

Re: รบกวนสอบถามเรื่องส่ง Email ผ่าน Excel หน่อยครับ

#4

by akung » Thu May 03, 2012 5:39 pm

ตอนนี้ทดสอบแล้ว ติดปัญหาตรงที่กดปุ่ม ตามรูปทุกครั้งที่ส่งเลยครับ ไม่ทราบพอจะมีทางแก้ไขไหมครับ ขอบคุณครับ
Attachments
AutoSend-Email.JPG
AutoSend-Email.JPG (18.59 KiB) Viewed 197 times

Re: รบกวนสอบถามเรื่องส่ง Email ผ่าน Excel หน่อยครับ

#3

by snasui » Thu May 03, 2012 12:59 pm

:D ลองปรับ Code เป็นตามด้านล่างเพื่อให้ทำการ Loop ส่งเมลทุกรายการครับ

Code: Select all

Private Sub CommandButton2_Click()
    Dim OutlookApp As Object
    Dim MItem As Object
    Dim email_ As String
    Dim s_email_ As String
    Dim subject_ As String
    Dim body_ As String
    Dim rAll As Range
    Dim r As Range
    Dim l As Long
    
    l = Sheets("Sheet1").Range("A" & Rows.Count).End(xlUp).Row
    Set rAll = Sheets("Sheet1").Range("A2:A" & l)

    Set OutlookApp = CreateObject("Outlook.Application")

    For Each r In rAll
        email_ = r '¼ÙéÃѺ
        s_email_ = r.Offset(0, 1) '¼ÙéÊè§
        subject_ = r.Offset(0, 2) ' àÃ×èͧ
        body_ = r.Offset(0, 3).Value ' ÃÒÂÅÐàÍÕ´ Email
        
        Set MItem = OutlookApp.CreateItem(0)
        With MItem
            .SentOnBehalfOfName = s_email_
            .To = email_
            .Subject = subject_
            .Body = body_ & Chr(13) & Chr(13) & Chr(13) & r.Offset(0, 4) _
                & Chr(13) & r.Offset(0, 5) & Chr(13) & r.Offset(0, 6) & Chr(13) & r.Offset(0, 7)
            .send
        End With
    Next r
    OutlookApp = Nothing
    MItem = Nothing
End Sub

Re: รบกวนสอบถามเรื่องส่ง Email ผ่าน Excel หน่อยครับ

#2

by bank9597 » Wed May 02, 2012 6:07 pm

:D ไม่เคยทำเรื่องนี้มาก่อนเลยครับ เลยช่วยเหลืออะไรไม่ได้เลย

รบกวนสอบถามเรื่องส่ง Email ผ่าน Excel หน่อยครับ

#1

by akung » Wed May 02, 2012 10:48 am

ตอนนี้ผมสามารถทำให้ส่งได้แล้ว (ไปลอกเขามา) แต่แค่รายเดียว และพยายามทำให้ส่งทีเดียวหลาย ๆ ราย แต่ยังทำไม่ได้ รบกวนช่วยดู Code ให้ด้วยครับ ขอบคุณครับ
Attachments
ส่ง Mail ด้วย Excel.xls
(30.5 KiB) Downloaded 37 times

Top