ในส่วนนี้จะเป็นตัวอย่างการสร้าง workflow จาก automator ที่ผมทำเอาไว้สำหรับใช้งานเองด้วยส่วนหนึ่ง และเพื่อเป็นแนวทางในการสร้าง workflow ขึ้นมาเองสำหรับผู้สนใจทั่วไปนะครับ
เนื้อหาในส่วนนี้ประกอบไปด้วย
ถ้าพบข้อผิดพลาด หรือไม่เข้าใจตรงไหนก็ทิ้งคำถามเอาไว้ได้จากใน comment หน้านั้น ๆ
หรือจะอีเมล์มาหาผมก็ได้ที่ kok[แอด]macmuemai.com ครับ =)
ขอให้มีความสุขในการใช้งาน Automator ครับ
ก๊อก
note : ถ้าหัวข้อทางด้านซ้ายใน How-Tos ซ้อนกันจนอ่านไม่รู้เรื่อง ให้เลือกจากรายการด้านล่างนี้ หรือจาก Automator Sample tags ทางด้านซ้ายมือครับ
ผมมีความตั้งใจจะเขียนเกี่ยวกับ workflow ตัวนี้มาพักใหญ่ ๆ แล้วแต่ก็ทำนู่นทำนี่ลืมจนลืมในที่สุด จนมีกระทู้จากคุณ od2504 ที่มาถามเกี่ยวกับวิธี rename ไฟล์เป็นกลุ่ม ผมเลยอยากที่จะอธิบายตรงนี้แบบละเอียดตามที่ตั้งใจเอาไว้
ก่อนอื่น นี่เป็นบทความเกี่ยวกับตัวอย่าง workflow ที่ผมใช้งานจริง ดังนั้นโปรดอ่านเกี่ยวกับพื้นฐานการใช้งาน Automator ตามหัวข้อด้านล่างนี้ก่อนสำหรับผู้ที่ไม่เคยใช้นะครับ
โดยเนื้อหาบทความนี้จะแบ่งเป็น 2 ตอน
เลือกดูได้จากหัวข้อด้านล่างนี้นะครับ =)
ขั้นตอนที่ 1
เปิด Automator ขึ้นมา เพื่อสร้าง workflow มี welcome screen ขึ้นมาให้เลือก Custom แล้วเราจะได้หน้าเปล่า ๆ ของ Automator ขึ้นมา
ขั้นตอนที่ 2
สร้าง workflow ตามนี้
Action ที่ 1 = Get Selected Finder Items (จากหมวด Files & Folders)
Action ที่ 2 = Rename Finder Items (จากหมวด Files & Folders) - ให้เลือก Options Show workflow when it runs ด้วย
เสร็จแล้วจะได้หน้าตาประมาณนี้ครับ
อธิบาย
ขั้นตอนที่ 4
ทดสอบ workflow นี้ด้วยการเลือกไฟล์ที่ต้องการเอาไว้ จากนั้นสั่ง RUN ครับ
ขั้นตอนที่ 5
เมื่อทุกอย่างเป็นไปตามที่เราต้องการแล้ว ให้ Save workflow นี้ออกมาเป็นแบบ Application ครับ จากนั้นก็จับเข้ามาวางไว้ใน Toolbar ของ Finder เพื่อที่จะสามารถเรียกใช้ workflow นี้ได้จาก Finder ครับ (ไม่ต้องเปิด automator มาสั่งงานอีกต่อไป)
ดูรายะเอียดการ Save ในการนำ workflow มาทำงานกับ Finder ได้จากในนี้ครับ (ใช้วิธีการเดียวกัน)
http://macmuemai.com/content/538
หมดแล้วครับ =)
อธิบายส่วนประกอบต่าง ๆ ของการเปลี่ยนชื่อไฟล์แบบ Sequential
1.เลือกการเปลี่ยนชื่อไฟล์แบบ Make Sequential จะเป็นการใส่ลำดับเลขลงไปในชื่อไฟล์ครับ เช่น
2.Add number to : จะเป็นการเลือกว่าจะเพิ่มลำดับอย่างไร
3.รายละเอียดการใส่ลำดับ
⁃ before name : ใส่ลำดับไปก่อนชื่อไฟล์
⁃ after name : ใส่ลำดับลงไปหลังชื่อไฟล์
⁃ dash : ใช้เครื่องหมาย “-” (ลบ)คั่น เช่น abc-01.jpg
⁃ period : ใช้เครื่องหมาย “.” (จุด)คั่น เช่น abc.01.jpg
⁃ space : เป็นการเว้นวรรค เช่น abc 01.jpg
⁃ under score : ใช้เครื่องหมาย “_” (ขีดล่าง)คั่น เช่น abc_01.jpg
⁃ nothing : ไม่มีอะไรคั่น เขียนติดกันทั้งชื่อไฟล์กับลำดับ abc01.jpg
⁃ 1 digit log = เลขหลักเดียว เช่น abc-1.jpg
⁃ 2 digit log = เลขสองหลัก เช่น abc-01.jpg
⁃ 3 digit log = เลขสามหลัก เช่น abc-001.jpg
4.ให้เลือก Options : Show this action when the workflow runs เอาไว้ด้วย เวลาสั่งให้เค้าทำงานเราจะได้ตั้งรายละเอียดได้ครับ
ในบทความนี้จะเป็นตัวอย่าง workflow ที่ผมทำขึ้นง่าย ๆ มีจุดประสงค์เพื่อให้เห็นภาพขั้นตอนและแนวคิดในการสร้าง workflow ไว้ใช้เองในเบื้องต้น
ตัวอย่างที่ผมเลือกมาทำคือ การย่อรูปครั้งละเยอะ ๆ ครับ .. คิดว่าหลาย ๆ คนยังไม่ทราบตรงนี้ และน่าจะที่ได้เอาไปใช้เองได้อีกในอนาคตเพราะมีขั้นตอนที่ง่าย ๆ ไม่ซับซ้อนมากนัก โดยจะมีเนื้อหาดังนี้
note : ให้ลองเปิด Automator แล้วมั่วไปด้วยกันเลยครับ
ขั้นตอนที่ 1 :
เรียกใช้งาน Automator ขึ้นมาจากใน Applications/Automator.app เราจะเจอหน้าต่าง welcome screen แบบนี้
อธิบาย
ขั้นตอนที่ 2:
เราจะเข้าสู่หน้าต่างของ Automator พร้อมกับมี Action 1 อันมาให้แล้วคือ Ask for Finder Items
ขั้นตอนที่ 3:
อธิบาย
ขั้นตอนที่ 4:
จะมีหน้าต่างมาถามเราขึ้นมามีใจความว่า Action นี้จะทำการเปลี่ยนแปลงไฟล์ภาพต้นฉบับนะ เราต้องการที่จะสร้างสำเนาเอาไว้หรือไม่
ให้เลือก Add เพื่อเป็นการสร้างสำเนาไฟล์ต้นฉบับเอาไว้อีกชุดหนึ่งกันพลาด
note : สำหรับคนที่แม่นแล้ว หรือว่าทำเสาเนาไฟล์เอาไว้ก่อนหน้านี้แล้ว ก็เลือกข้ามตรงนี้ไปก็ได้ครับ ซึ่งถ้าเลือกข้ามตรงนี้ไป (Don’t Add) ก็จะไม่มี Action Copy Finder Items โผล่ขึ้นมาเหมือนขั้นตอนต่อไปนะครับ =)
ขั้นตอนที่ 5:
หลังจากเราเลือก Add ไปแล้ว จะเห็นว่าจะมี workflow เพ่ิมขึ้นมาคั่นตรงกลางระหว่างอันแรก (1) ที่เราสร้างเอาไว้แต่เดิม กับ Scale images (2)ที่เราเลือกเข้าไปครับ
workflow อันนี้มีชื่อว่า Copy Finder Items จะเป็นการสร้างสำเนาไฟล์ที่เรานำมาใส่ใน workflow ไว้อีกชุดหนึ่ง ก่อนที่จะเปลี่ยนขนาดครับ ซึ่งสรุปแล้ว หลังจาก workflow ชุดนี้ทำงาน เราจะได้ไฟล์ภาพสุดท้าย 2 ชุดด้วยกันคือ
หมดแล้วครับ จากนั้นก็กดปุ่ม Run ด้านมุมบนขวามือเพื่อทำการใช้งาน workflow ที่เราเพิ่งสร้างเสร็จไป.. ลองกด Run ดูนะครับ หรือจะลองเปลี่ยนค่าที่มีให้เลือกตรงรายละเอียดของแต่ละ Action ดู ถ้าไม่มีอะไรผิดพลาด workflow จะทำให้เกิดเหตุการณ์ประมาณนี้ขึ้นมาครับ
สำหรับการสร้าง workflow การย่อรูปหลัก ๆ จะมีแค่นี้ครับ แต่ผมจะเขียนต่อเพื่ออธิบายถึงขั้นตอนต่าง ๆ แบบละเอียดต่อไปนะครับ
Action #1 : Ask For Finder Items
เป็น action แรกที่เราสร้างขั้นมาจากหน้าต่าง welcome screen ตอนเปิด automator ขึ้นมา
note : ในหัวข้อ Type ถ้าเลือกเป็น Folder ไว้ จะไม่มีการเปลี่ยนขนาดภาพเกิดขึ้นจาก Action ที่ 3 แต่จะมีการทำสำเนาเกิดขึ้นจาก Actions ที่ 2 ครับ เพราะ Action ที่ 2 : Copy Finder Items นั้นรองรับกับข้อมูลแบบ Folder ได้ด้วย... ถ้ายังงงอยู่ ก็ลองเลยครับ =)
Action #2 : Copy Finder Items
Action นี้จะทำหน้าที่ copy files/folder ทุกอย่างที่ผ่านเข้ามาจาก action ด้านบน แล้วทำสำเนาขึ้นมาใหม่ยังปลายทางที่เราต้องการครับ
Action #3 :Scale Images เป็นคำสั่งเปลี่ยนขนาดของไฟล์ภาพ
โดยทั่วไปเราสามารถกำหนดการเปลี่ยนขนาดไฟล์ภาพได้ 2 แบบคือ
Tips
ถ้าเราต้องการกำหนดขนาดเองทุกครั้งที่ workflow ทำงาน เราสามารถทำได้ โดยเลือกไปที่ Options (ใน Scale Images นี่ล่ะครับ) แล้วเลือก Show this action when the workflow runs
ซึ่งถ้าเราเลือกตรงนี้ไปแล้ว และสั่ง Run workflow ให้ทำงาน จะมีหน้าต่างนี้ขึ้นมาถามเราครับ ให้เรากำหนดได้ว่าจะย่อรูปแบบไหน ที่ขนาดเท่าไหร่
ผมแบ่งเนื้อหาตัวอย่างของ workflow ย่อรูปออกเป็น 2 ตอนนะครับ เพื่อสะดวกในการเปิดหน้าเวป .. จากตรงนี้เป็นอันหมดเนื้อหาในตอนที่ 1 แล้ว เข้าไปอ่านตอนที่ 2 ได้ที่ http://macmuemai.com/content/538
เป็นตอนที่ 2 ต่อจาก Automator : ตัวอย่าง workflow #1/2 - ย่อรูปทีละเยอะ ๆ ในคลิ๊กเดียว นะครับ เนื้อหาในตอนนี้จะต่อเนื่องมาจากตอนที่แล้วที่หลังจากสร้าง workflow และรู้จักการทำงานของเค้าไปบ้างแล้ว เนื้อหาในตอนนี้จะกล่าวถึง
เมื่อเราสร้าง workflow เสร็จไปแล้วใน Automator แต่ผมต้องการที่จะใช้งาน workflow นี้แบบรวดเร็วโดยที่ไม่จำเป็นต้องเปิด Automator ขึ้นมาสิ่งที่ผมต้องทำมีตามนี้ครับ
note : ดูเรื่อง Automator : การ Save workflow ของเรา ประกอบ
ขั้นตอนที่ 1
ในหน้า Automator ของเราที่เพิ่งทำเสร็จไป ให้ไปที่เมนูบาร์เลือก File/ Save as..
จะมีหน้าต่างใหม่ขึ้นมา ให้กำหนดค่าตามนี้ครับ
จริง ๆ จะหมดแค่ตรงนี้ก็ได้ครับ แต่ถ้าเราต้องการใช้งาน workflow ให้สะดวกกว่านั้น ให้ดูขั้นตอนต่อไปครับ จะเป็นการนำ workflow ที่เรา save ไว้เป็น application นี้มาฝังอยู่ใน Finder ของเรา
ขั้นตอนที่ 2
ใน Finder ให้ browse ไปยังที่ ๆ เรา save เค้าเอาไว้จากขั้นตอนด้านบน เราจะเห็นว่า สัญลักษณ์ไฟล์เป็น icon ที่ไม่เหมือนเรา Save workflow ตามปรกติ คือถ้าเราเลือก save แบบ Application เค้าจะมีหน้าตาแบบนี้ (เหมือนหุ่นยนต์ครับ)
note : สำหรับ workflow ที่เรา save ไว้แบบ application นี้ เค้าจะเหมือน app ทั่วไปตามปรกตินะครับ สามารถที่จะนำไปใช้เพื่อทำงานแบบเดียวกันบนเครื่อง Mac เครื่องอื่นได้
ขั้นตอนที่ 3
ใน FInder ให้คลิ๊กที่ icon ของ workflow ที่เป็นแบบ Application นี้ แล้วลากเค้ามาไว้บนที่ว่างของ Toolbar ใน Finder ครับ (ต้องค้างเอาไว้สักครู่นึง)
แล้วเราจะได้แบบนี้..
ซึ่งหลังจากนี้ต่อไปถ้าเราต้องการจะเรียกใช้งาน workflow นี้ก็สามารถคลิ๊กได้จากบน finder เราได้เลยโดยที่ไม่จำเป็นต้องเปิด Automator ขึ้นมาแล้วครับ =)
note : บน Toolbar ของ Finder เราสามารถลาก app ต่าง ๆ มาเก็บเอาไว้ในนี้ได้เหมือนกันด้วยวิธีเดียวกันนี้ครับ
Tips
ถ้าเราต้องการให้ workflow นี้ทำงานจากไฟล์ที่เราเลือกเอาไว้เลยตอนที่สั่งงาน แทนที่จะต้องเลือกไฟล์ใหม่ทุกครั้งหลังจากสั่ง workflow ให้ทำงาน
ถ้าต้องการย่อภาพสำหรับลงในเวป
บทความนี้จะเป็นตัวอย่างการใช้งานเกี่ยวกับค่า Variables ของ Automator นะครับซึ่งจะนำ workflow จากบทความตัวอย่างสำหรับการย่อรูป มาปรับปรุงต่อกัน ซึ่งจะมีการข้ามเนื้อหาบางส่วนที่เคยเขียนไว้แล้วไป ถ้าใครยังไม่ได้อ่าน ก็ลองอ่านบทความนั้นก่อนเพื่อความสมบูรณ์ของเนื้อหานะครับ
Variables : เป็นคล้าย ๆ ตัวแปรที่จะจำข้อมูลของผลลัพท์ที่เกิดขึ้นใน workflow แล้วนำมาใช้ตรงไหนก็ได้ของ workflow ครับ .. คือปรกติการทำงานของ workflow ทั่วไป จะทำงานแบบไล่จากบนลงล่าง เราจะสั่งข้ามขั้นตอนหรือว่าใช้ผลลัพท์จาก action อื่นมาเป็น input ไม่ได้.. แต่ Variables จะเป็นตัวช่วยให้เราทำตรงนี้ครับ ซึ่งทำให้เราสามารถสร้าง workflow ที่สลับซับซ้อนขึ้นกว่าเดิมได้
workflow ปรกติเป็นประมาณนี้
ถ้าเราใช้ Variables ช่วย เราสามารถทำได้แบบนี้
note : ที่ไฮไลท์สีนำเงินคือความแตกต่างในการใช้ Variables เข้าช่วยครับ
ตัวอย่าง :
จากเดิมผมทำ workflow สำหรับย่อรูปปรกติทั่วไปแต่ผมต้องการเพิ่มขั้นตอนบางอย่างลงไปให้ workflow เดิมครับ มีโจทก์เป็นแบบนี้..
ผมต้องการให้ทุกครั้งที่มีการสั่ง workflow เพื่อย่อรูป จะมีการสร้าง folder ขึ้นมาใหม่แบบอัตโนมัติ (จะตั้งชื่อเองหรือไม่ก็ได้) แล้วย้ายไฟล์ที่ย่อแล้วไปไว้ใน folder นั้นทุก ๆ ครั้งเมื่อย่อรูปเสร็จแล้ว
จากตรงนี้ จะเห็นว่า แค่ย่อรูปกับสร้าง folder ขึ้นมาใหม่ workflow ปรกติก็สามารถทำได้อยู่แล้ว แต่จะทำอย่างไร ให้มีการย้ายไฟล์รูปที่ย่อเสร็จแล้วลงไปใน folder ใหม่ ... ตรงนี้เป็นขั้นตอนที่ปรกติเราทำแบบอัตโนมัติไม่ได้ เราเลยต้องอาศัย Vaiables ช่วย
ภาพรวม
workflow ย่อรูปของเดิมเป็นแบบนี้
workflow ใหม่จะแทรก Action ต่อไปนี้ลงไป (Action ใหม่จะเป็นสีแดง)
อธิบาย
เปิด workflow สำหรับย่อรูปของเราที่ save เอาไว้ขึ้นมา (ใครยังไม่มี ลองทำตามในบทความก่อนหน้านี้นะครับ )
ขั้นตอนที่ 1
แทรก Action : New Folder จากในหัวข้อ Files & Folders มาไว้ในขั้นตอนแรก ถ้าต้องการตั้งชื่อ Folder ใหม่เองตอน workflow ทำงาน ให้เลือก Options : Show this action when the workflow runs ครับ
note : ถ้าใครยังสร้าง workflow ไม่คล่อง รบกวนดู ตัวอย่าง workflow สำหรับย่อรูป ทั้ง 2 ตอนประกอบนะครับ
ขั้นตอนที่ 2
แทรก Action : Set Value for Variables (ในหัวข้อ Utilities) เป็น Action ที่ 2 ครับ
เมื่อแทรกเข้ามาแล้ว หน้าตาของ Action : Set Value for Variables จะเป็นแบบนี้
เสร็จแล้วจะได้หน้าตา workflow ใหม่ประมาณนี้ครับ (ผมพับ workflow บางอันเก็บไป เปิดเฉพาะอันที่เกี่ยวข้องกับเนื้อหาใหม่นะครับ)
สังเกตว่า Action 2 กับ Action 3 นั้นไม่เชื่อมต่อกันนะครับ หมายความว่า workflow นี้จะแบ่งการทำงานออกเป็น 2 ชุดด้วยกัน
วิธีแบ่ง workflow ให้ทำแบบนี้ครับ
ไปคลิ๊กขวา (Ctrl+Click) ที่ Action : Ask for Finder Items แล้วเลือก Ignore Input
แล้วเราก็จะได้หน้าตาของ workflow แบบนี้มา
note : สังเกตดูว่า Actions ไม่ต่อกันแล้วนะครับ
ขั้นตอนที่ 3
ใน Action ที่ 2 ให้คลิ๊กไปที่คำว่า New variable.. ในช่องที่มีให้เลือก
จะมี pop up หน้าต่างใหม่เล็ก ๆ ขึ้นมาให้เราตั้งชื่อ Variables นี้ครับ
เค้าจะตั้งมาให้เองว่า New Storage ส่วนถ้าใครต้องการจะเปลี่ยนเป็นชื่ออื่นก็ทำได้จากตรงนี้ครับ แต่ในบทความนี้ผมอ้างอิงกับคำว่า New Storage เป็นหลัก จากนั้นกด Done แล้วจะเราจะเห็นช่อง Variable แสดงขึ้นมาที่ด้านล่าง workflow pane พร้อมด้วยค่า New Storage เป็น Variable ที่เราเพิ่งสร้างไปตะกี๊ขึ้นมาครับ ตามรูปนี้
การสร้าง Variables ในขั้นตอนนี้ จะหมายถึงการจำค่า Folder ที่เราสร้างใหม่นี้เอาไว้ ทั้งชื่อ Folder และ Path มายัง Folder นี้ครับ
ขั้นตอนที่ 4
จากหน้าต่าง Variable นี้ ให้เราคลิ๊กตัว New Storage แล้วลากขึ้นมาไว้แทนตำแหน่ง To ของ Action : Copy Finder Items ครับ แบบนี้
แล้วเราจะได้ผลลัพท์แบบนี้
เสร็จแล้วครับ ภาพรวมของ workflow ที่เสร็จแล้วจะได้แบบนี้
จะเห็นว่ามีตัว Variable แทรกอยู่ 2 จุด คือ
จากนั้นลองสั่ง RUN workflow ใหม่นี้ดูถ้าไม่มีอะไรผิดพลาด จะมี folder เกิดขึ้นใหม่ และภาพที่ย่อขนาดแล้วจะถูกนำมาใส่ไว้ใน folder นี้ครับ
หมดแล้วครับ หวังว่าคงพอเป็นประโยชน์กับผู้ใช้งานแมคมือใหม่ขึ้นมาบ้าง ไม่มากก็น้อยนะครับ
ก๊อก