Page 1 of 1

VBA signature

Posted: Sun Apr 02, 2023 8:29 pm
by Supachok
เรียน ท่านอาจารย์และผู้รู้

ผมแยกไฟล์ออกจากถามเฉพาะ Signature
ของเดิมนั้นให้แสดง ข้อมูลช่วงของ Excel แต่ดูเหมือนว่าต้องแสดงได้่ไม่พร้อมกัน
Doc.Range.Paste& "Signature = emailMail.body" หากเอา " " ออกจาก Signature จะปรากฎ
แก้อย่างไรให้แสดงได้ทั้งคู่ครับ


Doc.Range.insetbefore
ActiveSheet.Range("A1").CurrentRegion.Copy
Doc.Range.Paste& "Signature = emailMail.body"

Re: VBA signature

Posted: Sun Apr 02, 2023 9:05 pm
by snasui
:D ลองปรับเป็นด้านล่างครับ

Doc.Range.Paste "Signature = emailMail.body"

หากยังไม่ตรงกับที่ต้องการกรุณาอธิบายเพิ่มเติม ชี้ให้เห็นว่าต้องการแสดงคำตอบเป็นแบบไหน หากมีภาพประกอบด้วยจะยิ่งดี

การโพสต์ชุดของ Code ควรครอบด้วย Tag Code ตามกฎการใช้บอร์ดข้อ 5 ด้านบน :roll: ยกเว้นสอบถามหรืออธิบายเฉพาะ Statement ครับ

ตัวอย่างการใช้งาน Signature ดูที่นี่ครับ https://stackoverflow.com/questions/516 ... h-htmlbody

Re: VBA signature

Posted: Mon Apr 03, 2023 7:48 am
by Supachok
เรียน ท่านอาจารย์

อธิบายตัวอย่างใน book signature. ใน sheet.คำอธิบาย
ลองลบ & ดูแล้วผลลัพธ์ยังไม่ได้ตามต้องการ

ไฟล์ test = book VBA version 3
ผลลัพธ์ ที่ต้องการ = มีตารางที่ Copy มา และตามด้วย Signature ด้านล่าง

Re: VBA signature

Posted: Mon Apr 03, 2023 4:23 pm
by snasui
:D ตัวอย่างการปรับ Code ครับ

Code: Select all

'Other code
Dim sig As String
Set z = CreateObject("Outlook.Application")
Set y = z.CreateItem(0)

On Error Resume Next
With y
    
    .Bodyformat = olFormatRichPlain
    .Display
    .To = Range("U1").Value
    .Subject = "Automail" & " /" & Format(Date, " dd-mm-yy ") & " Round / " & Format(Time, "h.00")
    
    Set insp = .getinspector
    Set doc = insp.wordeditor
    
    sig = .body
'    doc.Range.insetbefore
    ActiveSheet.Range("A1").CurrentRegion.Copy
    doc.Range.Paste '"Signature = emailMail.body"
    doc.Range.InsertAfter sig
    
End With
'Other code

Re: VBA signature

Posted: Mon Apr 03, 2023 5:54 pm
by Supachok
snasui wrote: Mon Apr 03, 2023 4:23 pm :D ตัวอย่างการปรับ Code ครับ

Code: Select all

'Other code
Dim sig As String
Set z = CreateObject("Outlook.Application")
Set y = z.CreateItem(0)

On Error Resume Next
With y
    
    .Bodyformat = olFormatRichPlain
    .Display
    .To = Range("U1").Value
    .Subject = "Automail" & " /" & Format(Date, " dd-mm-yy ") & " Round / " & Format(Time, "h.00")
    
    Set insp = .getinspector
    Set doc = insp.wordeditor
    
    sig = .body
'    doc.Range.insetbefore
    ActiveSheet.Range("A1").CurrentRegion.Copy
    doc.Range.Paste '"Signature = emailMail.body"
    doc.Range.InsertAfter sig
    
End With
'Other code
พบทางสว่างเลยครับ ขอบคุณมากครับอาจารย์

ใช้ประยุกต์เพื่อเติมได้แต่ไม่รู้จัก Code เลยไม่รู้ว่าต้องเป็นแบบนี้
doc.Range.insetbefore
doc.Range.InsertAfter sig