...ส บ า ย ๆ ส ไ ต ล์ มื อ ไ ม่ PRO แ ถ ม ยั ง... LOWFESSIONAL ...

<<
สิงหาคม 2553
1234567
891011121314
15161718192021
22232425262728
293031 
 
29 สิงหาคม 2553
 

VBA แก้ปัญหา Excel สั่งพิมพ์มากกว่า 1 ชุดไม่ได้


[รวมเรื่องที่ผ่านมา]
ต่อเนื่องมากจากบล็อกนี้ครับ HP Deskjet D1560 ติดตั้งในลีนุกส์ แชร์ไปให้วินโดวส์
ถ้าการพิมพ์งานเพียงชุดเดียวทั่วไปแบบนี้ (ในรูปผมจับภาพจากเครื่องพิมพ์คนละตัวกันนะครับ)



การพิมพ์ก็จะผ่านสบายๆ จากวินโดวส์ไหลผ่านลีนุกส์ไปออกเครื่องพิมพ์ตามปกติ แต่ถ้าอยากได้หน้านี้สัก 2 ชุด ก็จะสั่งแบบนี้



ก็จะได้งานพิมพ์ออกมา 1 ชุด ส่วนที่เหลือก็เงียบหายไปเฉยๆ แถมที่ลีนุกส์จะฟ้องว่าเครื่องพิมพ์มีปัญหา แก้ได้สถานเดียวคือ รีเครื่องลีนุกส์ที่ต่อกับเครื่องพิมพ์นี้ไว้เท่านั้น

ผมลองเสิร์จเน็ตดูอยู่หลายๆครั้ง ก็พบว่ามีคนเจอปัญหานี้อยู่มากมาย และก็มีวิธีแก้กันต่างๆนาๆ ได้บ้างไม่ได้บ้าง ผมก็ทดลองตามอยู่หลายวัน สรุปว่าไม่ได้สักวิธี พนักงานก็รบเร้าว่าเมื่อไรจะได้สักที เพราะต้องพิมพ์เอกสารมากกว่า 1 ชุดอยู่บ่อยๆ งานบัญชีบางครั้งต้องพิมพ์ถึง 5 ชุด เผลอสั่งเกิน 1 ชุดเมื่อไรก็ต้องเสียเวลารีเครื่องกันอีก

งานนี้ผมเลยต้องกลับมาคิดหาวิธีแก้ปัญหาในแบบที่ผมถนัด นั่นคือใช้ VBA เป็นตัวสั่งพิมพ์ครับ

โค้ดในการสั่งพิมพ์ 1 ชุด โดยปกติเป็นดังนี้
ActiveWindow.SelectedSheets.PrintOut From:=1, To:=1, Copies:=1

หากต้องการพิมพ์สัก 3 ชุด จะต้องเป็นดังนี้
ActiveWindow.SelectedSheets.PrintOut From:=1, To:=1, Copies:=3
ซึ่งโดยทั่วๆไปจะทำได้ แต่กรณีของผมต้องยกเว้นครับ

ผมเลยแก้โดยวิธีนี้

Dim i As Integer, x As Integer

x = Application.InputBox(Prompt:="ระบุจำนวนชุดที่ต้องการ...", Default:=1)

For i = 1 To x
ActiveWindow.SelectedSheets.PrintOut From:=1, To:=1, Copies:=1
Next


แทนที่ผมจะสั่งพิมพ์ "จากหน้า 1 ถึง 1 จำนวน 3 ชุด"
ผมก็จะสั่งเป็น "จากหน้า 1 ถึง 1 จำนวน 1 ชุด 3 ครั้ง"
จากนั้นก็ได้สร้างปุ่มไว้ให้กดที่ทูลบาร์ เมื่อสั่งพิมพ์ก็จะแสดง InputBox นี้ออกมา



ถ้าพิมพ์ชุดเดียวก็กดตกลงผ่านไปเลย ถ้าต้องการมากกว่า 1 ชุดก็ใส่ตัวเลขก่อน เท่านี้เองครับ พนักงานก็ยิ้มน้อยยิ้มใหญ่ ต้องไปสั่งคาปูชิโน่แก้วใหญ่ๆมาบันนาการตามสัญญา...

ถึงจะไม่ตรงประเด็นนัก แต่ก็ถือว่าแก้ปัญหาได้เหมือนกัน ไปอย่างน้ำขุ่นๆนี่ละครับ ขอตัวไปดื่มกาแฟให้ชื่นใจก่อนครับผม...


Create Date : 29 สิงหาคม 2553
Last Update : 31 สิงหาคม 2553 13:26:05 น. 0 comments
Counter : 3845 Pageviews.  
 
Name
Opinion
*ใช้ code html ตกแต่งข้อความได้เฉพาะสมาชิก

mitrapap
 
Location :
สระบุรี Thailand

[ดู Profile ทั้งหมด]

ฝากข้อความหลังไมค์
Rss Feed
Smember
ผู้ติดตามบล็อก : 18 คน [?]




Free Domain Names @ .co.nr!
[Add mitrapap's blog to your web]

MY VIP Friend

 
pantip.com pantipmarket.com pantown.com