วันศุกร์ที่ 10 มิถุนายน พ.ศ. 2554

ใช้ Page Style ลำบาก!! ลดความยุ่งยากด้วยฟีเจอร์ Title Page

มีหลายคนมักจะถามผมเมื่อผมสอนการสร้างหนังสือบน Writer หลังจากที่สร้างสารบัญใน 3 คลิกเสร็จ ก็เกิดความสงสัยว่า ถ้าไม่อยากให้หน้าสารบัญ หรือหน้าปกมีเลขหน้าจะต้องทำอย่างไร

ผมก็ต้องขออภัยผู้เรียนของผมทุกครั้ง เพราะการกำหนดให้บางหน้ามีหรือไม่มีเลขหน้านั้น ค่อนข้างยุ่งยาก และใช้เวลาสอนนาน บางครั้งอาจจะทำให้ผู้เรียนงง และบ่นว่า "ทำไมยากอย่างนี้" เลยทำให้ผมไม่อยากที่จะสอนตรงส่วนนี้ในคอร์สเบื้องต้น

ต่อแต่นี้ไป คงหมดปัญหาแล้ว เพราะ LibreOffice ตั้งแต่เวอร์ชัน 3.3 เป็นต้นไป มีฟีเจอร์ชื่อว่า Title Page ซึ่งจะทำให้หน้าบางหน้าไม่มีเลขหน้าได้อย่างง่ายมาก

ฟีเจอร์นี้จริงๆ แล้วก็อาศัยหลักการของ Page Style นั่นแหละ แต่เราไม่ต้องไปยุ่งกับการสร้าง style หรืออะไรมากนัก เอาเป็นว่ามาเริ่มกันเลยดีกว่าว่าขั้นตอนจะเป็นอย่างไร

เอกสารเริ่มต้นจะเห็นว่าพอแทรกท้ายกระดาษ และเลขหน้า ก็จะปรากฏเลขหน้าทุกหน้า รวมถึงหน้าปกที่ไม่ต้องการให้เลขหน้าปรากฎด้วย
ต้องการให้หน้าปกไม่มีเลขหน้า ไปที่เมนู Format > Title Page
จะขึ้นหน้าต่างดังนี้
A : ให้เลือก Convert existing pages to title pages หมายถึง เปลี่ยนหน้าที่มีอยู่ไปเป็น title page แต่ถ้าเลือก Insert new title pages หมายถึง เพิ่มหน้ากระดาษใหม่มีอีกหน้าหนึ่ง เป็น title page
B : หมายถึง จะทำ title page กี่หน้า
C : Document Start หมายถึง เริ่มต้นทำ title page ที่หน้าแรกของเอกสาร หรือเลือกหน้าที่ต้องการเริ่ม
D : หมายถึง หน้าหลังจาก title page ที่กำหนด ให้เลขหน้าเริ่มที่เท่าไร
E : หมายถึง หน้าที่ทำ title page ให้เริ่มนับเลขหน้าที่เท่าไร

เบื้องต้นกำหนดเพียงแค่นี้แล้วกดปุ่ม OK
จะเห็นว่าหน้าแรกไม่มีเลขหน้า ตามที่ต้องการแล้ว

วันศุกร์ที่ 27 พฤษภาคม พ.ศ. 2554

LibreOffice สามารถอ้างอิงข้อมูลทั้งคอลัมน์ด้วย $A:$A ได้แล้ว

ก่อนหน้านี้การอ้างอิงข้อมูลของ OpenOffice.org นั้นต้องบอกข้อมูลเป็นช่วง เช่นถ้าต้องการจะอ้างอิงข้อมูลในคอลัมน์ A ทั้งหมด ต้องบอกเซลล์เริ่มต้นและเซลล์สุดท้ายให้ครบถ้วน เช่น A1:A1048576 ซึ่งยุ่งยาก ไม่สามารถอ้างอิงแบบ Excel คือ A:A ได้

ใน LibreOffice สามารถตั้งค่าได้ว่าการอ้างอิงนั้นจะใช้แบบ OpenOffice.org เดิม หรือเลือกใช้แบบ Excel

ปัญหานี้เป็นข้อข้องใจของผมมานานมากเพราะผมจะเอาสูตรนี้ไปประยุกต์ใช้กับ vlookup โดยใช้สูตรเพื่อสร้าง dynamic range ให้กับ vlookup
เหตุผลที่ต้องใช้วิธีนี้เพราะสูตร vlookup มีขั้นตอนนึงให้เราเลือกข้อมูลทั้งหมดที่จะใช้ทำ vlookup ถ้าคลุมข้อมูลทั้งหมดแบบปกติ และมีการเพิ่มข้อมูลที่แถวสุดท้าย สูตร vlookup จะไม่เห็นข้อมูลที่เพิ่มเข้ามาเพราะเราไม่ได้คลุมไว้ตั้งแต่แรก
จากตัวอย่างมีข้อมูลอยู่ถึงเซลล์ C6 ตัวอย่างผมใช้วิธีคลุมข้อมูล ถ้ากรณีใช้สูตรแบบนี้ แล้วเพิ่มข้อมูลในแถวที่ 7 สูตร vlookup นี้จะไม่เห็นข้อมูลในแถวที่ 7 นี่คือปัญหา

ผมเลยจำเป็นต้องสร้าง dynamic range เพื่อจะขยายช่วงข้อมูลหากมีการเพิ่มข้อมูลเข้ามา vlookup จะได้มองเห็นข้อมูลนั้น ซึ่งใน OpenOffice.org ผมจะใช้วิธีนี้
การทำ dynamic range ของผมใช้ฟังก์ชัน OFFSET ร่วมกับ COUNTA แต่ผมต้องกำหนดตำแหน่งเริ่มต้นและตำแหน่งสุดท้าย ผมคิดว่าวิธีนี้ไม่เวิร์ก เพราะไม่ต่างอะไรกันถ้าผมจะคลุมข้อมูลแบบวิธีแรกโดยคลุมเผื่อไว้กรณีมีข้อมูลเพิ่มเข้ามา และวิธีนี้ถ้าตำแหน่งที่ผมกำหนดไว้ไม่พอ ผมก็ต้องมาขยายข้อมูลอีกครั้ง ซึ่งผมว่าไม่เหมาะ

ใน LibreOffice แก้ปัญหานี้โดยการสามารถเลือกวิธีการอ้างอิงสูตรได้ โดยไปที่เมนู Tools - Options - LibreOffice Calc - Formula ด้านขวาให้เลือกแบบ Excel A1 แล้วกด OK
เมื่อเลือกเสร็จก็จะสามารถอ้างอิงแบบนี้ได้ครับ
ซึ่งผมมองว่าการอ้างอิงแบบนี้สะดวกกว่าแบบเก่า และ LibreOffice ดีตรงที่ว่าถ้าเครื่องผมตั้งแบบนี้ไว้ ไปเปิดกับเครื่องที่ตั้งเป็นรูปแบบของ OpenOffice.org โปรแกรมจะแปลงค่าให้สามารถใช้งานกับเครื่องนั้นทันที

การอ้างอิงแบบนี้สามารถไปใช้ประโยชน์อย่างอื่นได้อีกมากมายครับ

เพิ่มความรักให้แก่กันด้วยการสัมผัส

ก่อนหน้านี้ผมเคยได้ยินผู้เชี่ยวชาญพูดว่า การสัมผัสเป็นการเพิ่มความรู้สึกที่ดีให้แก่กัน ตอนแรกผมไม่ได้ใส่ใจกับคำแนะนำนี้สักเท่าไร และบอกเลยว่าสิ่งที่ผมทำ และจะเล่าให้ฟังนี้ก็ไม่ได้ทำตามทฤษฎีนี้หรอก แต่พอมานึกย้อนดูมันก็ตรงกับทฤษฎีจริงๆ

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

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

กับแฟนผมเอง ก็ใช้วิธีการสัมผัสนี่แหละคอยช่วยให้อารมณ์ของเราทั้งคู่สงบลงตอนที่ทะเลาะกัน บางครั้งทะเลาะกันบนรถตอนขับไปต่างจังหวัด เมื่อเราต้องการง้อ ไม่ต้องมีคำพูดอะไร เพียงแค่เราจับมือกันไว้ ไม่นานความโมโหก็เย็นลงได้

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

ผมว่าสาเหตุที่คนทะเลาะกัน มีปัญหากันแล้วเลิกลากันไป นั่นเพราะเขาไม่รู้จักที่จะใช้การสัมผัส เพื่อปรับความเข้าใจกัน พอทะเลาะกันก็ไม่มองหน้ากัน ตบ ตี กัน คงมีคนไม่มากนัก ที่เวลาทะเลาะแล้วมานั่งจับมือกันเหมือนผม ^__^ คงมีลูกอีกหลายคนที่เวลาป่วย นอนรอการสัมผัสจากพ่อแม่ แต่พ่อแม่กลับทำแต่งานจนไม่มีเวลาแม้แต่จะถามลูกสักคำว่าเป็นอย่างไรบ้าง

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

วันเสาร์ที่ 7 พฤษภาคม พ.ศ. 2554

การใช้ Advanced Filter ใน LibreOffice

ส่วนใหญ่ในการสอน OpenOffice.org/LibreOffice ของผม มักจะไม่ค่อยได้มีโอกาสสอน Advanced Filter เท่าไร เพราะการทำงานของ AutoFilter และ Standard Filter ก็เพียงพอ และใกล้เคียงกับการทำ Advanced Filter แล้ว จึงข้ามเรื่องนี้ไป แต่ก็มีคนถามบ่อยๆ ว่ามันใช้งานอย่างไร

วันนี้มีเวลาว่างจึงขอเขียนวิธีการใช้งาน Advanced Filter แบบที่ไม่ต้องไปกำหนดค่าอะไรมากมายแล้วกันนะครับ

เริ่มจากต้องมีข้อมูลก่อน
และส่วนต่อมาคือเงื่อนไขที่จะใช้กรองข้อมูล โดยสร้างเป็นอีกตารางหนึ่ง โดยมีหัวตารางเหมือนกัน
หลังจากนั้นก็เริ่มทำการกรองข้อมูลด้วย Advanced Filter ได้ โดยการคลุมข้อมูลทั้งหมด ในที่นี่คือตั้งแต่ A1:D13 แล้วไปที่เมนู Data > Filter > Advanced Filter
ในช่องที่ให้กรอก criteria ให้เลือกข้อมูลที่เป็นเงื่อนไขที่จะใช้กรอง ในที่นี้คือเซลล์ G1:J2 แล้วกด OK ก็จะได้ผลลัพธ์จากการกรองข้อมูล
สังเกตเงื่อนไขจากตัวอย่างข้างต้น เงื่อนไข "อายุ" กับ "ส่วนสูง" อยู่ที่บรรทัดเดียวกัน มีความหมายว่า อายุ มากกว่าหรือเท่ากับ 11 และ ส่วนสูง มากกว่า 140 แต่หากลองปรับเปลี่ยนให้เงื่อนไขอยู่คนละบรรทัดกัน ความหมายก็จะเปลี่ยนทันที
จากรูปด้านบน เงื่อนไขจะเปลี่ยนเป็น อายุ มากกว่าหรือเท่ากับ 11 หรือ ส่วนสูง มากกว่า 140 ซึ่งจะได้ผลลัพธ์ดังนี้
โดยผลลัพธ์แล้ว การใช้งาน Advanced Filter จะแสดงผลลัพธ์ไม่ต่างกับ AutoFilter ธรรมดา เพียงแต่ Advanced Filter สามารถสร้างเงื่อนไขได้มากกว่าการใช้ AutoFilter หรือ Standard Filter เท่านั้นเอง

วันศุกร์ที่ 6 พฤษภาคม พ.ศ. 2554

แค่ยอมรับ ก็ยิ่งใหญ่ได้

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

ถ้าคุณไม่ยอมรับ คุณก็จะยิ่งดื้อรั้นที่จะทำในสิ่งที่มันผิดอยู่อย่างนั้น ไม่ยอมที่จะปรับปรุง เปลี่ยนแปลงสิ่งที่คุณว่าถูก ซึ่งเป็นความคิดของคุณฝ่ายเดียว

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

คนเราไม่สามารถประสบความสำเร็จได้ด้วยตัวคนเดียว เราต้องให้คนอื่นช่วยเหลืออยู่เสมอ ถ้าคุณคิดว่าคุณไม่เคยขอความช่วยเหลือจากใคร ลองถามกลับว่าที่ผ่านมาคุณโตมาได้อย่างไร ถ้าไม่ได้รับความช่วยเหลือ

ผมรู้สึกดีใจมาก เพราะพบเจอคนที่สามารถให้อะไรต่างๆ กับเราโดยไม่หวังผลตอบแทน มีคนบอกผมว่า สิ่งที่เราทำได้คือ เราสามารถให้คนอื่นได้ เหมือนกับที่เราเคยได้รับ เมื่อนั้นโลกนี้ก็จะมีแต่การแบ่งปัน และการแบ่งปันนี้เอง ที่ทำให้คนบนโลกสามารถอยู่ร่วมกันได้อย่างมีความสุข

วันศุกร์ที่ 29 เมษายน พ.ศ. 2554

ความแตกต่างระหว่างรูปวาดธรรมดากับแบบ shape

พอดีมี user โทรมาถามว่าต้องการให้ข้อความในรูปวาดตัดคำอัตโนมัติ เพราะว่าเมื่อพิมพ์ข้อความลงในรูปวาดแล้วข้อความต่อยาวไปเรื่อยๆ โดยถ้าจะตัดคำต้องกด enter เท่านั้น ซึ่งเป็นวิธีที่ค่อนข้างลำบากพอสมควร

ผมก็แนะนำ user ท่านนั้นว่าให้คลิกขวาที่รูปวาดแล้วเลือกเมนู text จากนั้นให้ทำเครื่องหมายหน้าข้อความที่บอกว่า word wrap text in shape ก็จะตัดคำได้ตามที่ต้องการ ปัญหาอยู่ที่ user ท่านนั้นบอกว่าข้อความนี้มัน disable คลิกไม่ได้

ผมก็งงสิครับ เพราะผมคลิกได้ตามปรกติ ทีนี้ทำยังไงล่ะ work for me ซะงั้น ผมเลยให้ user ส่งไฟล์มาให้เพราะเผื่อมีการตั้งค่าอะไรแปลกๆ

พอผมดูเอกสาร ก็ไม่พบการตั้งค่าอะไรผิดปรกติ และพอผมวาดรูปขึ้นมาใหม่ ปุ่มดังกล่าวก็ขึ้นปรกติ แต่รูปที่ user วาดไว้กลับไม่ขึ้น

ผมสะกิดใจตรงที่รูปที่ user วาด กับรูปที่ผมวาดนั้นมีจุดแตกต่างกัน ผมเลยนึกขึ้นได้ว่า รูปนี้มันมีวิธีวาดอีกอย่างหนึ่ง ก็เป็นไปตามนั้น user ใช้รูปวาดคนละรูปกับของผมจริงๆ วิธีวาดแบบที่ user ใช้คือคลิกที่รูปวาด ดังรูปด้านล่าง
ส่วนผมวาดโดยใช้รูปวาดแบบ shape ตามรูปด้านล่างนี้
ก่อนหน้านี้ผมไม่รู้ว่าความแตกต่างระหว่างสองรูปนี้แตกต่างกันอย่างไร วันนี้ผมรู้อย่างนึงว่า รูปที่วาดด้วยรูปวาดแบบ shape สามารถ wrap text ได้ แต่อีกรูปไม่สามารถทำได้ วิธี wrap text ทำได้โดย คลิกขวาที่รูปแล้วเลือกเมนู text
ให้ทำเครื่องหมายถูกหน้าข้อความ word wrap text in shape
แต่หากวาดด้วยวิธีแรกหัวข้อนี้จะถูก disable ไว้ คลิกไม่ได้
แต่จะเลือกแบบ Fit to frame ได้ ซึ่งรูปวาดแบบ shape จะคลิกเลือกไม่ได้

นี่คือความแตกต่างอย่างหนึ่งที่พบระหว่างรูปวาดทั้ง 2 แบบ อาจจะมีความแตกต่างอีก ซึ่งผมคงต้องหาข้อมูลเพิ่มเติมต่อไปครับ

วันพฤหัสบดีที่ 28 เมษายน พ.ศ. 2554

ใจไม่เคยพอ ถ้ารู้จักพอ ก็ไม่ต้องการอะไร

เคยไหม ที่อยากได้อะไรสักอย่างหนึ่ง จนต้องเก็บเงินเพื่อซื้อให้ได้ แม้ว่าของสิ่งนั้นจะแพงมากขนาดไหนก็ตาม

เคยไหม ที่ต้องการซื้อของที่อยากได้ แต่จำเป็นต้องรอเพราะของที่ต้องการไม่มีขาย แต่ในใจร้อนรนเพราะอยากได้ของนั้นมาก

เคยไหม ที่อยากกินอาหารที่ชอบมากๆ จนต้องขับรถออกไปหลายๆ กิโลเพื่อซื้ออาหารนั้นมากิน

เคยไหม ที่อยากเจอ อยากคุยกับเพื่อนที่ไม่ได้เจอมานานเพราะอยู่เมืองนอก จนต้องโทรไปต่างประเทศ ที่ค่าโทรแสนแพง เพื่อคุยให้หายคิดถึง

แล้วรู้สึกไหมว่า เมื่อเราต้องการ อยากได้ อยากมี จนทำให้เรากระวนกระวายใจ จนต้องเสาะแสวงหาจนได้สิ่งที่เราต้องการ

แต่ถามว่าเมื่อเราได้มาแล้ว เราพอแค่นั้นไหม หรือเราต้องการมันมากขึ้นเรื่อยๆ

คนที่ลดน้ำหนัก แล้วมีของที่ชอบมาวางอยู่ข้างหน้า เขาบอกกับตัวเองว่าขอแค่ชิ้นเดียว คำเดียว ก็พอแล้ว แต่เขาหยุดที่คำเดียว ชิ้นเดียวอย่างที่ตั้งใจไหม

คนเราเมื่อตอบสนองความทะยานอยากในวันนี้ ก็จะมีความทะยานอยากอันใหม่ที่ยิ่งใหญ่กว่าไม่จบไม่สิ้น เพื่ออะไร?

เขาหารู้ไม่ว่า เพียงแค่มองดูใจตัวเอง ทำใจให้สงบ ขอเพียงแค่ร่างกายแข็งแรง ไม่มีปัญหามารุมล้อม ก็มีความสุขได้โดยไม่ต้องเสาะแสวงหาอะไรให้มากมาย

แค่ทำใจให้สงบ ก็สามารถหาความสุขได้ในตัวเราเอง