ส่งรายงานทางอีเมล์
กระทู้เก่าบอร์ด อ.Yeadram

 1,887   4
URL.หัวข้อ / URL
ส่งรายงานทางอีเมล์

ใน2003
สามารถส่งไฟล์รายงานทางอีเมล์
ให้เห็นPDF ได้หรือไม่
ถ้าได้ต้องทำอย่างไร

4 Reply in this Topic. Dispaly 1 pages and you are on page number 1

1 @R13561
1 สั่งปริ๊นท์รายงานออกเป็น PDF ด้วยโค้ดทั้งหมดได้ครับ
- กำหนดเครื่องปริ๊นท์ ณ runtime (ทำได้ด้วยโค้ด)
- สั่งปริ๊นท์ ระบุคุณภาพ และจำนวนสำเนา (ทำได้ด้วยโค้ด)
- สั่งตั้งชื่อไฟล์ ระบุพาธ ของไฟล์ PDF ปลายทาง (ขึ้นอยู่กับโปรแกรม visual printer ที่คุณใช้ ถ้ามันขึ้น dialog มาให้ คุณก็สามารถ sendkeys ก็ได้ หรือถ้ามันสามารถสั่งการด้วย command line คุณก็สามารถประยุกต์ใช้โค้ด vba ได้)
2 การส่งเมล์ ให้ค้นGoogle "VBScript To Send Email Using CDO" แล้วดูให้เข้าใจการส่งเมล์แบบแนบไฟล์ (เป็นไฟล์ที่เราเพิ่งสั่งปริ๊นท์ไปนั่นแหละครับ)


สรุปว่า ถ้าเข้าใจหลักการทั้งหมด ก็ทำได้ โดยให้ผู้ใช้สั่งการแค่คลิ๊กเดียวครับ
2 @R13563
ขอโทษที่คำถามไม่ชัดเจน
วิธีที่บอกมาคงต้องไปศึกษาก่อน

แต่ที่ถามคือ
เมื่อออกเป็นรายงานแล้ว
เราก็เลือก ส่งไปยัง ผู้รับจดหมายที่แนบมา
แล้วมันมีตัวให้เลือกว่าส่งไปแบบใหน
เ่ช่น เป็น html excel text snp
ปัญหาคือ
เมื่อส่งเป็น text excel html
การจัดเรียงรูปแบบจะผิดเพี้ยนไปหมด เส้นไม่มี
แต่ถ้าเป็น .snp มันจะเหมือนต้นฉบับ
แต่ผู้รับเปิดไม่ได้ ถ้าในเครื่องไม่มี acess
3 @R13571
รู้จัก Foxit Phantom ไหมครับ
ผมใช้อ่าน pdf และเป็นตัวสร้าง pdf ครับ
เวลาติดตั้ง ผมก็ติดตั้ง vitual printer ไปด้วย (เพื่อเอาไว้สร้างไฟล์ pdf)

ชื่อปริ๊นท์เตอร์ตัวนี้ ถ้าไม่ได้ไปตั้งค่าอะไรมันใหม่ มันจะชื่อว่า Foxit Phantom Printer


นี่ตัวอย่างโค้ดสร้างรายงานจาก Access ให้เป็น PDF ครับ
Set Application.Printer = Application.Printers("Foxit Phantom Printer")
If Dir("C:\myAttachment.pdf") <> "" Then Kill "C:\myAttachment.pdf"
SendKeys "C:\myAttachment.pdf", True
SendKeys "{Enter}"
DoCmd.OpenReport "Report1", acViewNormal




และนี่ตัวอย่างการส่งเมล์ จากโปรแกรม Access ง่ายๆ ครับ

Dim objMessage as object
Set objMessage = CreateObject("CDO.Message")
objMessage.Subject = "report1"
objMessage.From = "me@mycompany.com"
objMessage.To = "myboss@mycompany.com"
objMessage.TextBody = "This is report by your requested.."
objMessage.AddAttachment "C:\myAttachment.pdf"
objMessage.Send


ลองเอามันมาประยุกต์ใส่กัน แล้วรวมให้อยู่ใน คำสั่งชุดเดียวกัน ให้มันทำงานในเหตุการณ์ on click ของปุ่มคำสั่ง

เรียบร้อยครับ ตามความต้องการเป๊ะๆ

อ้อ ที่ตอนแรกผมให้ค้น ตัวอย่างการเขียนโค้ดส่งเมล์น่ะ หมายถึง คุณอาจต้องใช้ความเข้าใจเพิ่มเติม ในการจะส่งเมล์นะครับ เพราะมันต้องมีการ คอนฟิก ค่าการส่งอีกนิดหน่อย ประมาณ ที่อยู่ และ สิทธิในการส่งครับ (SMTP)
4 @R13574
ขอบคุณครับ
ได้ความรู้เพิ่มขึ้น
ส่วนตัวมีความรู้เรื่องโค๊ตน้อยมาก
ใช้ตัดแปะเเอาครับ

เดียวลองก่อนคิดว่าได้
@ ประกาศใช้งานเว็บบอร์ดใหม่ => บอร์ดเรียนรู้ Access สำหรับคนไทย
แล้วจะใส่ลิ้งอ้างอิงมาที่โพสต์เก่านี้หรือไม่ก็ตามสะดวกครับ
Time: 0.2704s