Page 1 of 2

ผู้ช่วยด้วยครับ Code Copy Image Excel แล้ว Paste To Email.

Posted: Fri Nov 09, 2012 8:21 am
by Supfile2529
***********VBA***************
With olNewEmail 'Attach template

.To = strContactEmail '"xxxxx@xxxxxxx"
.CC = strCc
.Body = strEmailText
.Subject = strEmailSubject
.Attachments.Add (StrPartName & StrFileName)
.display

End With

'**************************
Code ที่ได้ก็มีแค่นี้หล่ะครับ
คือผมอยากจะ Copy Image ที่อยู่ในหน้า Excel ในเปิดอยู่(คือ Copy เอาแต่รูปน่ะครับ )แต่ตามจริงผมสั่งให้ Copy ได้แล้ว

Windows("Daily MFG meeting report.xls").Activate
Sheets("Image Send Mail").Select
Application.CutCopyMode = xlCopy
Selection.Copy


ที่ยังไม่ได้คือ ที่จะเอารูปไป Paste to email (Outlook)

ผู้รู้ หรือใครที่จะให้คำแนะนำได้ก็ช่วยด้วยน่ะครับ
ขอบคุณทุกท่านครับ.

Re: ผู้ช่วยด้วยครับ Code Copy Image Excel แล้ว Paste To Ema

Posted: Fri Nov 09, 2012 9:04 am
by snasui
:D แนบไฟล์ตัวอย่างที่มีรูปพร้อม Code ทีเขียนไว้แล้วมาด้วย จะได้ช่วยทดสอบได้ครับ

กรณีการโพสต์ Code ให้แสดงเป็น Code ดูตัวอย่างได้ทีนี่ครับ viewtopic.php?f=3&t=1187&sid=09bf68c58c ... e544625204

Re: ผู้ช่วยด้วยครับ Code Copy Image Excel แล้ว Paste To Ema

Posted: Fri Nov 09, 2012 9:13 am
by Supfile2529
อ่อคับ ขอโทษด้วยครับ น้องใหม่ครับ มีอะไรก้อแนะนำกันได้น่ะครับ.

Re: ผู้ช่วยด้วยครับ Code Copy Image Excel แล้ว Paste To Ema

Posted: Fri Nov 09, 2012 9:30 am
by snasui
:D แนะนำว่าให้อ่านกฎการใช้บอร์ดทุกข้อด้านบนด้วยครับ :roll: :mrgreen:

Re: ผู้ช่วยด้วยครับ Code Copy Image Excel แล้ว Paste To Ema

Posted: Fri Nov 09, 2012 9:51 am
by Supfile2529
File Run

ผู้ที่เอา File นี้ไป Run ต้องดูด้วยน่ะครับ
ถ้ามัน Error ก็คือ Part ที่ Program วิ่งไปแล้วไม่เจอน่ะครับ เลย Error.

Re: ผู้ช่วยด้วยครับ Code Copy Image Excel แล้ว Paste To Ema

Posted: Fri Nov 09, 2012 10:16 am
by Supfile2529
การทำงานของ Code
1. code จะทำการจัดขนาด และส่วนต่างของ Row และ col ให้ดูสวยงาน
2. code จะสั่งให้ Copy File นั้นไปไว้ ที่ Server โดยทำการ Check Name File.
3. code จะสั้งให้ กลับมาที่ (Sheet1) ที่จะทำการ Copy Cell(1,10) สมมุติน่ะครับ
4. แล้วการไป Paste ลงอีก (Sheet2)
5. แล้วก็จะทำการ จัดการกับ E-mail(Outlook) โดยการสร้าง New Mail
6. จะ Paste Image ที่เรา Copy มาได้อย่างไรครับ.....? นี้คือคำปัญหาครับ

ขอบคุณครับ ทุกท่านที่ให้คำปรึกษา.

Re: ผู้ช่วยด้วยครับ Code Copy Image Excel แล้ว Paste To Ema

Posted: Fri Nov 09, 2012 11:47 am
by snasui
:D ตามข้อ 5 และ 6 ด้านบนชื่อ Procedure ใดบ้าง เพื่อจะได้เข้าถึงปัญหาได้โดยไวครับ

Re: ผู้ช่วยด้วยครับ Code Copy Image Excel แล้ว Paste To Ema

Posted: Fri Nov 09, 2012 12:33 pm
by Supfile2529
snasui wrote::D ตามข้อ 5 และ 6 ด้านบนชื่อ Procedure ใดบ้าง เพื่อจะได้เข้าถึงปัญหาได้โดยไวครับ

Code: Select all

Private Sub OpenEmailToSend()
Dim olLook          As Object            'Start MS Outlook
Dim olNewEmail      As Object            'New email in Outlook
Dim strContactEmail As String            'Contact email address
Dim strCustomer     As String            'Customer Name
Dim strSite         As String            'Site Name
    
    Windows("Daily MFG meeting report.xls").Activate
    Sheets("Image Send Mail").Select
    Application.CutCopyMode = xlCopy
    Selection.Copy

    strContactEmail = "xxxxx" 'ตัวแปร mail To
    strCc = "xxx" ' ตัวแปร mail CC
    strEmailText = strEmailText
    strEmailSubject = "Daily Manager Minute of Meeting on " & Format(Date, "DD MMM 'YYYY") & "_NAVANAKORN" '01 Nov.'12_NAVANAKORN"
    Set olLook = CreateObject("Outlook.Application")
    Set olNewEmail = olLook.createitem(0)
    strEmailText = "Dear all," & Chr$(13) & _
        Chr$(13) & "Pls. see attached  file  for  Daily manager meeting on  " & Format(Date, "DD - MMM - YYyy") & Chr$(13) & Chr$(13) & Chr$(13) & Chr$(13)
        
        With olNewEmail   'Attach template
            
            .To = strContactEmail '"Veerapong@mik-denshi.co.th"
            .CC = strCc
            .Body = strEmailText
            .Subject = strEmailSubject
            .Attachments.Add (StrPartName & StrFileName)
            .display

        End With

    Set olLook = Nothing
    Set olNewEmail = Nothing
   
End Sub
ตาม Code ชุดนี้เลยครับ.

Re: ผู้ช่วยด้วยครับ Code Copy Image Excel แล้ว Paste To Ema

Posted: Fri Nov 09, 2012 1:18 pm
by Supfile2529
อาจารย์ไปไหนกันหมดครับ ผมอยากจะรู้วิธี Paste Image to mail

ผู้รู้ช่วยด้วย ผม online อยู่ถึง 16.30 น. น่ะครับ หรือไม่ตอนไหนก็ได้

ขอบคุณครับ.

Re: ผู้ช่วยด้วยครับ Code Copy Image Excel แล้ว Paste To Ema

Posted: Fri Nov 09, 2012 1:33 pm
by bank9597
Supfile2529 wrote:อาจารย์ไปไหนกันหมดครับ ผมอยากจะรู้วิธี Paste Image to mail

ผู้รู้ช่วยด้วย ผม online อยู่ถึง 16.30 น. น่ะครับ หรือไม่ตอนไหนก็ได้

ขอบคุณครับ.
:D
ต้องรอครับ เพราะผู้ตอบหลายท่านมีงานประจำอยู่ เช่น อาจารย์ เป็นต้น อีกอย่างคือเรื่องของ VBA นั้นเป็นเรื่องยากและตอบมั่วไปไม่ได้ ต้องมีความจริงๆถึงจะตอบได้ครับ

Re: ผู้ช่วยด้วยครับ Code Copy Image Excel แล้ว Paste To Ema

Posted: Fri Nov 09, 2012 1:40 pm
by Supfile2529
bank9597 wrote: :D
ต้องรอครับ เพราะผู้ตอบหลายท่านมีงานประจำอยู่ เช่น อาจารย์ เป็นต้น อีกอย่างคือเรื่องของ VBA นั้นเป็นเรื่องยากและตอบมั่วไปไม่ได้ ต้องมีความจริงๆถึงจะตอบได้ครับ

อ๋อครับ ผมต้องขอโทษด้วยจริง ๆ ครับ พอดีอยากจะรู้คำตอบมากไปหน่อยน่ะครับ
ตอนนี้ผมก็กำลังหาทาง Paste Image ลงใน E-mail (Outlook) อยู่ สู้ต่อครับ.
แต่ยังไงก็ ขอขอบคุณครับ.

Re: ผู้ช่วยด้วยครับ Code Copy Image Excel แล้ว Paste To Ema

Posted: Fri Nov 09, 2012 1:58 pm
by bank9597
:D
ระหว่างนี้ลองศึกษาและปรับแก้ตามลิงค์ด้านล่างดูครับ
http://www.teachexcel.com/excel-help/ex ... hp?i=77793

Re: ผู้ช่วยด้วยครับ Code Copy Image Excel แล้ว Paste To Ema

Posted: Fri Nov 09, 2012 2:05 pm
by Supfile2529
bank9597 wrote::D
ระหว่างนี้ลองศึกษาและปรับแก้ตามลิงค์ด้านล่างดูครับ
http://www.teachexcel.com/excel-help/ex ... hp?i=77793

ขอขอบคุณมาก ๆ ครับ จะเข้าใจหรือเปล่า ก็ไม่ทราบน่ะครับ

Re: ผู้ช่วยด้วยครับ Code Copy Image Excel แล้ว Paste To Ema

Posted: Fri Nov 09, 2012 3:18 pm
by snasui
:D การแนบภาพจาก Object ใน Excel ให้ทำการ Save Object ใน Excel ให้เป็นภาพก่อน จากนั้นค่อยนำเข้ามา Attach ใน e-mail

ลองดูตัวอย่างใน Code ด้านล่างครับ

Code: Select all

Private Sub OpenEmailToSend()
    Dim olLook          As Object            'Start MS Outlook
    Dim olNewEmail      As Object            'New email in Outlook
    Dim strContactEmail As String            'Contact email address
    Dim strCustomer     As String            'Customer Name
    Dim strSite         As String            'Site Name
    
    Windows("Daily MFG meeting report.xls").Activate
    Sheets("Image Send Mail").Select
    Application.CutCopyMode = xlCopy
    Selection.Copy

    strContactEmail = "XXXx"
    strCc = "XXXX"
    strEmailText = strEmailText
    strEmailSubject = "Daily Manager Minute of Meeting on " & Format(Date, "DD MMM 'YYYY") & "_NAVANAKORN" '01 Nov.'12_NAVANAKORN"
    Set olLook = CreateObject("Outlook.Application")
    Set olNewEmail = olLook.createitem(0)
    strEmailText = "Dear all," & Chr$(13) & _
        Chr$(13) & "Pls. see attached  file  for  Daily manager meeting on  " & Format(Date, "DD - MMM - YYyy") & Chr$(13) & Chr$(13) & Chr$(13) & Chr$(13)
        
        With olNewEmail   'Attach template
            
            .To = strContactEmail '"Veerapong@mik-denshi.co.th"
            .CC = strCc
            .Body = strEmailText
            .Subject = strEmailSubject
            .Attachments.Add ("C:\ObjPic.gif")
            .display

        End With

    Set olLook = Nothing
    Set olNewEmail = Nothing
   
End Sub

Sub CopyObjToGIF()
    Dim obj As Object
    Dim cht As Excel.ChartObject
    Const strPath As String = "C:\"
    Application.ScreenUpdating = False
    Sheets("Image Send Mail").Shapes.Range( _
        Array("Picture 111")).Select
    Selection.Copy
    With Sheets("Image Send Mail")
        Set cht = .ChartObjects _
            .Add(0, 0, .Range("A1:O39").Width, .Range("A1:O39").Height)
    End With
    cht.Chart.Paste
    cht.Chart.Export strPath & "ObjPic.gif"
    cht.Delete
    Set cht = Nothing
    Set obj = Nothing
    Application.ScreenUpdating = True
End Sub

Re: ผู้ช่วยด้วยครับ Code Copy Image Excel แล้ว Paste To Ema

Posted: Fri Nov 09, 2012 3:33 pm
by Supfile2529
อาจารย์ครับ ขอถามอีกหน่อยครับ

Code: Select all

Sub CopyObjToGIF()
    Dim obj As Object
    Dim cht As Excel.ChartObject
    Const strPath As String = "C:\"
    Application.ScreenUpdating = False
    Sheets("Image Send Mail").Shapes.Range( _
        Array("[color=#0000FF]Picture 111[/color]")).Select
    Selection.Copy
    With Sheets("Image Send Mail")
        Set cht = .ChartObjects _
            .Add(0, 0, .Range("A1:O39").Width, .Range("A1:O39").Height)
    End With
    cht.Chart.Paste
    cht.Chart.Export strPath & "ObjPic.gif"
    cht.Delete
    Set cht = Nothing
    Set obj = Nothing
    Application.ScreenUpdating = True
End Sub
*** Array("Picture 111")).Select คือว่าเราจะรู้ได้ไงครับว่า
Pricture ชืออะไรน่ะครับ
เพราะว่า ชื่อจะเปลี่ยนไปตลอดน่ะครับ มีวิธี Check Name ตัวนี้ไหมครับ

ขอบคุณครับ

Re: ผู้ช่วยด้วยครับ Code Copy Image Excel แล้ว Paste To Ema

Posted: Fri Nov 09, 2012 3:41 pm
by Supfile2529

Code: Select all

With olNewEmail   'Attach template
            
            .To = strContactEmail '"Veerapong@mik-denshi.co.th"
            .CC = strCc
            .Body = strEmailText
            .Subject = strEmailSubject
            .Attachments.Add ("C:\ObjPic.gif")
            .display

        End With
อาจารย์ครับ Code ตัวที่เพิ่มมานี้เป็น Code Attachments.Add น่ะครับอาจารย์
แล้วถ้าผมอยากให้ Paste ลงหน้า New mail หล่ะครับ ต้องทำยังไงครับ

ขอบคุณมาก ๆ ครับ
ได้ความรู้มาก ๆ เลยครับ

Re: ผู้ช่วยด้วยครับ Code Copy Image Excel แล้ว Paste To Ema

Posted: Fri Nov 09, 2012 3:44 pm
by snasui
:D การจะทราบว่า Object ชื่ออะไรให้คลิกลงไปใน Object นั้นแล้วดูที่ Name Box ตามภาพด้านล่างครับ

การจะทราบชื่อของ Object ต่าง ๆ เราสามารถใช้การ Loop เข้ามาช่วยได้เช่นกัน ตัวอย่างการ Loop แต่ละ Object ดูที่นี่ครับ http://snasui.blogspot.com/2011/05/folder-excel.html

Re: ผู้ช่วยด้วยครับ Code Copy Image Excel แล้ว Paste To Ema

Posted: Fri Nov 09, 2012 3:46 pm
by snasui
Supfile2529 wrote:อาจารย์ครับ Code ตัวที่เพิ่มมานี้เป็น Code Attachments.Add น่ะครับอาจารย์
แล้วถ้าผมอยากให้ Paste ลงหน้า New mail หล่ะครับ ต้องทำยังไงครับ
ผมไม่เคยเขียน Code สำหรับการ Add Object เข้าไปตรง ๆ ลอง Search จากแหล่งอื่น ๆ แล้วปรับใช้ดู ติดตรงไหนค่อยถามมาครับ

Re: ผู้ช่วยด้วยครับ Code Copy Image Excel แล้ว Paste To Ema

Posted: Fri Nov 09, 2012 3:48 pm
by Supfile2529

Code: Select all

With olNewEmail   'Attach template
            .To = strContactEmail '"Veerapong@mik-denshi.co.th"
            .CC = strCc
            .body = strEmailText
            .Subject = strEmailSubject
            .Attachments.Add (StrPartName & StrFileName)
            .Attachments.Add ("C:\ObjPic.gif")
            .HTMLBody = "<img src='cid:ObjPic.gif' height=480 width=360>"
            .Display
        End With
.HTMLBody = "<img src='cid:ObjPic.gif' height=480 width=360>" คือผมได้เพิ่ม Code ชุดนี้เข้าไปน่ะครับ

Re: ผู้ช่วยด้วยครับ Code Copy Image Excel แล้ว Paste To Ema

Posted: Fri Nov 09, 2012 3:51 pm
by snasui
:shock: บรรทัดนั้นนำมาจากไหนครับ :?: