บทความนี้จะเป็นตัวอย่างการใช้งานเกี่ยวกับค่า 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 นี้ครับ
หมดแล้วครับ หวังว่าคงพอเป็นประโยชน์กับผู้ใช้งานแมคมือใหม่ขึ้นมาบ้าง ไม่มากก็น้อยนะครับ
ก๊อก