Automator : เกี่ยวกับ Automator

Automator : เป็นโปรแกรมที่ช่วยให้เราเขียนโปรแกรมขึ้นมา(อีกที)เพื่อทำงานตามที่เราต้องการได้ โดยที่เราไม่จำเป็นต้องเขียน code เองครับ หลัก ๆ จะเป็นประมาณนี้ คือเรานำ code (เรียกว่า action) ที่ทาง apple เขียนเสร็จมาให้แล้วมาเรียงต่อกันเพื่อสร้างเป็นชุดคำสั่ง (workflow) ที่เราต้องการอีกทอดหนึ่ง ซึ่งค่อนข้างจะสะดวกสำหรับผู้ใช้ทั่วไปที่ไม่มีพื้นฐานในการเขียนโปรแกรมครับ

ส่วนใหญ่มีไว้เพื่อการทำงานเสริม จะเป็นการทำงานเล็กน้อย หรือซ้ำ ๆ กันแบบอัตโนมัติผ่าน app ต่าง ๆ ขึ้นมาโดยที่เราไม่ต้องเรียนรู้การเขียนโปรแกรมหรือว่าเรียนรู้การเขียน Apple Script.. จะใช้สำหรับการทำงานเฉพาะอย่าง หรือทำงานหลายอย่างพร้อมกันก็ได้ เช่น

  • การย่อขนาด + เปลี่ยนชนิด + ปรับแต่งไฟล์ภาพทีละมาก ๆ ในขั้นตอนเดียว หรือ
  • การเปลี่ยนชื่อไฟล์พร้อมกันครั้งละเยอะ ๆ

note : ถ้าใครยังงง ๆ อยู่ สามารถอ่าน Automator : ตัวอย่างจากสถาณการณ์จริง ใช้ Automator ทำอะไรได้บ้าง? ประกอบนะครับ ผมเขียนตัวอย่างประกอบแบบละเอียดเอาไว้ให้แล้ว

automatr-pane_0.jpg

ตัว Automator เป็นโปรแกรมที่ค่อนข้างจะยืดหยุ่นในการใช้งานพอสมควร ที่เราจะใช้งานผ่านโปรแกรม Automator เอง หรือจะ save เป็นโปรแกรม scriptสำเร็จรูปเก็บเอาไว้เรียกใช้งานทีหลังต่างหากก็ได้ ซึ่งผมจะเขียนอธิบายตรงนี้อีกที สำหรับโพสนี้สำหรับรู้จักกับ Automator ในภาพรวมนะครับ (อ่าน การ save workflow ไปใช้งานในลักษณะต่าง ๆ ประกอบ)

ไอคอนโปรแกรม

automatr-icon_0.png

note : เนื้อหาของบทความเกี่ยวกับ Automator นี้ ผมเลือกจะเขียนเกี่ยวกับ Concept การใช้งานคร่าว ๆ พร้อมตัวอย่างประกอบในแบบไม่เป็นทางการมากนัก ใช้คำง่าย ๆ ที่คาดว่าผู้ใช้ทั่วไปที่ไม่เคยจับตรงนี้มาก่อน น่าจะทำความเข้าใจได้ไม่ยากจนเกินไปนัก ผมหมายถึงแค่เอาความเข้าใจในการใช้งานทั่วไปเป็นหลักนะครับ เพราะผมเองก็ไม่เข้าใจเค้าหั้งหมดเหมือนกัน =)

Automator : ตัวอย่างจากสถานการณ์จริง Automator ใช้ทำอะไรได้บ้าง?

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

ตัวอย่างที่ 1
เช่น ผมมีไฟล์ภาพขนาด 3216x2136 pixel (หรือขนาด 8 Mega Pixel ที่ประมาณ 3.3 MB ต่อภาพ) มีทั้งหมดอยู่ 577 ไฟล์ในแฟ้มงานโปรเจคของผมใน My Document แล้วผมต้องการที่จะ

  • เปลี่ยนชื่อใหม่ทั้งหมด จากเดิมชื่อว่า R00-XXX.jpg เป็น p-XXX.jpg และ
  • ย่อขนาดจาก 3216x2136 เป็นขนาด 1600x1200

ผมมีทางเลือกระหว่าง

  1. หาโปรแกรมจัดการกับภาพ เช่น iPhoto ขึ้นมาแล้ว import รูปเข้าไปจัดใหม่, เปลี่ยนชื่อ แล้ว Export ออกมาให้ได้ขนาดที่ต้องการ คิดว่าขั้นตอนทั่งหมดนี้จะใช้เวลาไปเท่าไหร่ครับ?
  2. ใช้ Automator เขียน workflow ขึ้นมาเพื่อเปลี่ยนชื่อ กับลดขนาดไฟล์ให้ได้ตามที่ต้องการ
  3. หาโปรแกรมเฉพาะทางอื่น ๆ มาเพื่องานนี้โดยเฉพาะ ส่วนใหญ่สามารถหาได้ใน internet ครับ แต่จะมีแบบที่เสียเงินซื้อบ้าง และทำได้อย่างที่ต้องการไม่ทั้งหมดบ้าง .. ส่วนใหญ่จะเสียเวลาหาโปรแกรม + เรียนรู้วิธีใช้ใหม่ครับ..

และจากการใช้ Automator เพื่อลดขนาดรูปจาก 3216x2136 pixel มาที่ 1600x1200 pixel จากเดิมขนาด 3.3MB โดยประมาณต่อภาพ เหลือที่ประมาณ 300KB ต่อภาพ ทั้งหมดผมใช้เวลาประมาณ 12 นาทีโดยประมาณ .. และเป็นการทำงานแบบ สั่งทีเดียวจบครับ ผมสามารถเอาเวลาไปทำอย่างอื่นได้อีก.. (อันนี้นั่งจับเวลาเองกับมือครับ ยิ้ม ตอนที่ทำ slideshow งานแต่งให้เพื่อนผม)

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

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

ตัวอย่างที่ 2
ถ้าเรามี workflow ที่ใช้เป็นประจำอยู่เยอะ ๆ แล้ว .. ในตัว Automator เองเปิดโอกาสให้เราเซฟ workflow ที่เรามีเอาไว้ในเมนูบน Finder แล้วเรียกใช้งานโดยการคลิ๊กขวาบนเมาส์ (หรือกด Ctrl+Click) ได้แบบนี้ครับ

submenu_1.jpg

ทำให้เราไม่ต้องเปิด Automator ขึ้นมาทุกครั้งในการทำงาน และสามารถแจกให้กับ Mac เครื่องอื่นทำงานแบบเดียวกันนี้ได้อีก =)

note : ดู การ save workflow ใน Automator ประกอบ

ตัวอย่างที่ 3
ผมสามารถเปลี่ยน workflow ที่มีอยู่ใน Automator แล้วสร้างโปรแกรมเล็ก ๆ แบบ stand alone ขึ้นมาทำงานเฉพาะอย่างได้ ซึ่งโปรแกรม stand alone หรือว่า script โปรแกรมเล็ก ๆ เหล่านี้ ทำงานได้ด้วยตัวของเค้าเองครับ คือไม่จำเป็นต้องเรียกผ่าน Automator และยังสามารถทำงานแบบเดียวกันได้อีกบน Mac OS X เครื่องอื่น ๆ ด้วย

สรุป
จากตัวอย่างการใช้งาน Automator ที่ผมเขียนทั้งหมดนี้พอจะเห็นภาพขึ้นบ้างไหมครับ?

จริง ๆ Automator สามารถประยุกต์ไปได้อีกสารพัดแบบเลยครับ ขึ้นอยู่กับว่าเราจะจินตนาการไปได้แค่ไหน ลองเล่นกันดูนะครับ ขอให้มีความสุขในการใช้งาน Automator ครับ =)

Automator : หน้าตาและส่วนประกอบต่าง ๆ

หน้าตาและส่วนประกอบทั่วไปของโปรแกรม Automator

automatr-10_0.jpg

อธิบาย
ส่วนที่1,ส่วนที่ 7
ส่วน Toolbar : ด้านซ้ายจะมีปุ่มเปิด/ปิดการแสดง library และปุ่ม media สำหรับเข้าไปดึง content มาจากในโปรแกรม iLife ทางด้านขวาจะเป็นปุ่มคำสั่งดังนี้

automatr-pane-1-1_0.jpg

  • Record : สำหรับบันทึกการทำงานที่เราแสดงให้เครื่องดู แล้วนำมาเปลี่ยนเป็น workflow (ผมไม่เคยใช้ตรงนี้แบบจริงจังนะครับ แต่เท่าที่ลองมา เค้าสามารถบันทึกสิ่งที่ผมทำแล้วเปลี่ยนเป็น workflow ใน automator ให้ผมได้)
    • watch-me-do_0.jpg
  • Stop/ Run : ปุ่มสั่งเริ่ม และหยุด workflow ส่วนมากใช้สำหรับทดสอบ workflow หรือเรียกใช้งาน workflow ที่ทำเอาไว้เสร็จแล้วผ่าน automator

ส่วนที่ 2เลือกสลับระหว่าง Library กับ Variables :

  • Library : จะเป็นชุดคำสั่ง (หรือเรียกว่า action) ที่จะเป็นการทำงานอย่างใดอย่างหนึ่ง
  • Variables : เป็นความสามารถใหม่ที่เพิ่งจะมีบน OS X Leopard สำหรับกำหนดค่าตัวแปรเฉพาะกิจขึ้นมาเพื่อเอามาใช้ยังส่วนต่าง ๆ ของ workflow ทำให้สามารถสร้าง workflow ที่หลากหลาย หรือว่าซับซ้อนขึ้นมาได้ (ดู การใช้ Variables ใน Automator ประกอบ )

ส่วนที่ 3.Library : Actions category : เป็นการรวมหมวดหมู่ของชุดคำสั่งที่เกี่ยวข้องกันเข้าไว้ด้วยกัน แยกเป็นหัวข้อต่าง ๆ เช่น Calendar ก็จะเป็นชุดคำสั่งเกี่ยวข้องกับ iCal หรือ Files & Folder จะเป็นชุดคำสั่งเกี่ยวข้องกับการจัดการ file/folder เป็นต้น

ส่วนที่ 4
Actions : เป็นชุดคำสั่งในแบบต่าง ๆ

ส่วนที่ 5
รายละเอียดของ Action ที่เราเลือก : ซึ่งจะเป็นตัวบอกเราคร่าว ๆ ว่าคำสั่งที่เรากำลังจะใช้งานอยู่นั้น ต้องการ Input แบบไหน และให้ Result เป็นอะไร

ส่วนที่ 6
Workflow pane : ส่วนนี้จะเป็นที่เอาไว้สำหรับให้เรานำคำสั่งมาต่อกันเพื่อทำเป็น workflow วิธีการใช้งานคือ เลือกคำสั่งจากทางด้านซ้ายมือ หรือจากหัวข้อที่ 4 แล้วลากมาวางตรงส่วนนี้ แล้วทำซ้ำต่อ ๆ กันไป เมื่อทำไปได้สักพักแล้วจะมีหน้าตาประมาณนี้ครับ

workflow-pane-2-1_0.jpg

ส่วนที่ 7
ปุ่ม Record และ Play/Stop อธิบายไว้แล้วในส่วนที่ 1

Automator : Workflow ชุดคำสั่งของเรา

เนื้อหาของบทความนี้ประกอบด้วย

  • พื้นฐานการทำงานกับ actions ใน workflow pane
  • การดูหน้าต่าง Log เพื่อตรวจสอบการทำงานของ workflow ที่เราสร้าง

ก่อนเริ่มเรามีคำศัพท์ที่ต้องทราบเกี่ยวกับ workflow นะครับ

  • Workflow : คือชุดคำสั่งที่เกิดจากการนำ Action หลาย ๆ อันมาต่อกันให้เค้าทำงานร่วมกันครับ
  • Action : คือคำสั่งที่จะสั่งให้โปรแกรม (Automator หรือ app อื่น ๆ ) ทำงานอย่างใดอย่างหนึ่ง
  • Input : ข้อมูลตั้งต้น หรือข้อมูลก่อนผ่าน Action
  • Output/Results : ข้อมูลผลลัพท์ หรือข้อมูลที่ผ่าน Action มาแล้ว

ส่วนประกอบของ Action ใน Workflow pane

workflow-pane-2-3_0.jpg

อธิบาย
        1.เป็นส่วนชื่อของ Action นั้น ๆ จะบอกเราคร่าว ๆ ว่า action นี้จะเอาไว้ทำอะไร พร้อมกับมีไอคอนที่เกี่ยวข้องบอกเราเอาไว้ด้วย (จากในรูปเป็นไอคอนของ Finder ที่จะบอกว่า action นี้เกี่ยวกับการจัดการ file/folder ผ่าน Finder ครับ)

        2.เป็นส่วนรายละเอียดของ Action ซึ่งแต่ละ action ที่เราเลือกจะมีรายละเอียดตรงนี้ไม่เหมือนกัน ขึ้นอยู่กับว่าเฉพาะกิจแค่ไหนและเกี่ยวกับ app อะไรบ้าง บาง action ก็ไม่มีรายละเอียดตรงนี้ให้เลือกครับ จากตัวอย่างคือ Move Finder Items จะเป็นการสั่งย้าย file ต่าง ๆ มาไว้ที่ผมต้องการ ซึ่งในส่วนของรายละเอียดตรงนี้จะให้ผมกำหนดว่า ต้องการที่จะย้ายไฟล์มาไปไว้ที่ไหน โดยเลือก To : ครับ

        3.เป็นส่วนของ Option หรือว่ากำหนดรายละเอียดปลีกย่อย จะมีให้เลือก 3 ตัวคือ

  • Results : จะเป็นการเลือกดูผลลัพท์ที่ได้จาก action ตัวนี้

workflow-02_0.jpg

  • Options : ตัวเลือกเพิ่มเติม ส่วนใหญ่จะมีให้เลือกว่า ต้องการที่จะแสดงหน้าต่างแจ้งเตือนตอนที่ workflow นี้ทำงานอยู่หรือไม่ ส่วนมากจะเหมาะกับ action ที่ให้เราป้อนค่าต่าง ๆ ได้เอง หรือมีตัวเลือกมากกว่า 1 อย่าง เช่น การปรับขนาดรูป หรือเปลี่ยนชนิดของไฟล์ภาพ

workflow-03_0.jpg

  • Description : เป็นอันเดียวกับที่เราเห็นใน info pane ครับ คือเป็นรายละเอียดการทำงาน รวมไปถึง Input/Output(Results) ของ action นั้น ๆ

workflow-01-3_0.jpg

        4.ส่วน Input/Output(Results) ตรงนี้จะเป็นการบอกเราคร่าว ๆ ว่า action ที่เราจับมาใส่สามารถที่จะทำงานร่วมกันได้หรือมีความเกี่ยวข้องกันหรือไม่ ถ้าทำงานร่วมกันได้ ก็จะเห็นเป็นลักษณะลูกศรลงต่อเนื่องมาแบบในภาพตัวอย่าง

ความเกี่ยวข้องกันตรงนี้ดูได้จาก Input/Output ของแต่ละ action ครับ ตามปรกติแล้ว Output/Results ของ action ตัวบน(หรือว่าก่อนหน้า) มักจะเป็น Input ของ action ตัวล่างหรือว่าตัวที่อยู่ถัดลงมาครับ

action แต่ละตัวจะทำงานร่วมกันได้ Input/Output ต้องตรงกัน หรือเป็นไฟล์ประเภทเดียวกันถึงจะทำงานได้ เช่น จากภาพตัวอย่าง

workflow-01-2_0.jpg

จากภาพตัวอย่างด้านบนนี้ Output/Results จาก action ด้านบนเป็น Files/Folders แบบเดียวกับ Input ของ action ตัวล่าง แบบนี้การทำงานจะไม่ค่อยมีปัญหา ในทางกลับกัน ถ้าเราจับเอา Input/Output(Results) ที่ไม่ตรงกันมาชนกัน ส่วนใหญ่จะ error ครับ

note : ถ้าเราต้องการลบ Action ใน workflow ของเรา ให้ไปคลิ๊กที่ปุ่มกากบาท “X” ที่มุมขวาบนของแต่ละ action ครับ

close_0.jpg

Log pane : ดูว่ามีอะไรผิดพลาดใน workflow ของเราบ้าง
การ test workflow ทำได้โดยการกดปุ่ม Run ที่ด้านบนขวาของหน้าต่าง Automator ครับ

automatr-11-1_0.jpg

ถ้าเรา test workflow ที่ Input กับ Output ไม่ตรงกันแล้ว จะมี error ขึ้นมาในด้านล่างตรง log ครับเมื่อกดเข้าไปดูก็จะมีรายละเอียดแจ้งเราว่ามีอะไรผิดพลาดบ้าง หลังจากที่เรา Test workflow ของเราด้วยการกดปุ่ม play แล้ว ที่ status bar ด้านล่างของ automator จะแสดงข้อความบอกเราครับ และถ้ามีอะไรผิดพลาดเค้าจะแจ้งให้เราทราบตรงนี้

workflow-04_0.jpg

  1. จะบอกเราว่า test ผ่านหรือไม่ และถ้ามี error เกิดขึ้น จะเตือนเรามาตรงนี้ครับ (warning)
  2. คลิ๊กตรงนี้เพื่อที่จะเข้าไปดูรายละเอียด (Log) ของ workflow เรา ให้กดเข้าไปครับจากนั้นจะมีหน้าต่างแบบนี้ขึ้นมาให้เราดูว่ามีตรงไหนที่ผิดปรกตินะครับ โดยมีเครื่องหมายตกใจ “!” กำกับตามรูปด้านล่างนี้ครับ

workflow-05_0.jpg

ดู ตัวอย่างการสร้าง workflow ประกอบ

Automator : หลักการสร้าง workflow เบื้องต้น

หลักการทำงานโดยทั่วไปบน Automator
เราจะสร้าง workflow ใน Automator ได้มีขั้นตอนคร่าว ๆ แบบนี้ครับ

automatr-pane-1_0.jpg

        1.เลือกกลุ่มคำสั่งที่เกี่ยวข้องกับ app ต่าง ๆ

        2.เลือกคำสั่ง (Actions) ที่เราต้องการจากนั้นลากเค้าเอามาไว้ในส่วนที่ 3

        3.เป็นที่รวมรวมคำสั่งต่าง ๆ ที่เราเลือกมาครับ หลักการทำงานของคำสั่งจะไล่ลำดับจากบนลงล่าง เมื่อเรียง workflow เป็นชุด ๆ แล้วจะมีหน้าตาประมาณนี้ครับ

workflow-pane-2-2_0.jpg

  • ดู Automator : Workflow ประกอบสำหรับวิธีการทำงานกับชุดคำสั่งใน workflow pane ครับ
  • ถ้าใช้ Variables ช่วยจะสามารถไล่ลำดับได้ซับซ้อนขึ้น ดู การใช้ Variables ใน Automator ประกอบ

        4.ปุ่ม Run : ใช้เพื่อการทดสอบ workflow ที่เราสร้างเอาไว้ว่ามีอะไรผิดปรกติในการทำงานหรือไม่ ถ้ามีสิ่งผิดปรกติ ไม่ว่าลำดับหรือ input/output ไม่ถูกต้องเค้าจะฟ้องเตือนเราขึ้นมาตรงนี้ครับ แนะนำว่าควรจะทำการทดสอบ workflow จากตรงนี้ว่าใช้งานได้จริงก่อนที่จะ Save ออกไป

        5.หลังจากสร้าง workflow ทุกอย่างเป็นไปตามที่เราต้องการแล้ว ก็ต้อง save เอาไว้ครับ ใน Automator ไปที่เมนูบาร์เลือก File/ Save.. โดยเลือกอันใดอันหนึ่งครับ ส่วนรายละเอียดของการ Save แบบต่าง ๆ ดูได้จาก link ด้านล่างประกอบ ก็เป็นอันจบการสร้าง workflow ของเราครับ =)

สำหรับการ Save ไฟล์ในแบบต่าง ๆ ดู การ Save workflow ของเราไปใช้งานในลักษณะต่าง ๆ ประกอบ

Automator : การ save workflow ของเราไปใช้งานในลักษณะต่าง ๆ

เมื่อเราสร้าง Workflow บน Automator เสร็จแล้ว ที่เราต้องทำต่อมาคือ Save workflow นั้นไว้ใช้ครับ และในบทความนี้จะเขียนอธิบายถึงการ Save workflow ไปใช้งานในลักษณะต่าง ๆ

automatr-save_0.jpg

Save :
เป็นการ save แบบปรกติเป็น workflow ทั่วไปโดยจะเป็นไฟล์ที่ต้องสั่ง Run ผ่าน Automator เท่านั้น

Save As... :
ให้เราเลือก Save workflow ระหว่าง

  • Workflow : เป็นไฟล์ workflow แบบปรกติที่ทำงานบน Automator มีหน้าตา icon แบบนี้

automatr-save-4.jpg

  • Application : เป็น Stand alone application ที่สามารถจะทำงานได้ด้วยตัวเองโดยไม่จำเป็นต้องเปิด Automator ครับ และสามารถนำไปใช้บน Mac เครื่องอื่น ๆ ได้ด้วย เมื่อ save เป็น application แล้ว จะมีหน้าตาแบบรูปด้านล่างนี้

automatr-save-3.jpg

Save As Plug-in... :
จะเป็นการ Save เพื่อเป็นส่วน Plugin เพิ่มความสามารถให้กับ App ต่าง ๆ ที่มีอยู่แล้วบน OS X ครับ เช่น Finder เมื่อเราเลือกหัวข้อนี้ จะมีหน้าต่างใหม่ขึ้นมาถามแบบนี้

automatr-save-01.jpg

  1. Save Plug-in As : ให้เราตั้งชื่อ Plug-in ตัวนี้ครับ (ควรจะตั้งชื่อที่สื่อให้รู้ว่า Plugin ตัวนี้เอาไว้ใช้ทำอะไรจะดีมากครับ สะดวกในการเรียกใช้งานภายหลัง)
  2. Plug-in For : เลือกตรงนี้เพื่อที่จะกำหนดว่าจะให้ Plugin ที่เรากำลังจะ save นี้ไปอยู่ตรงไหนของ OS X ครับ เมื่อคลิ๊กเข้าไป จะมีหัวข้อให้เลือกตามนี้

automatr-save-02.jpg

อธิบาย

  • หัวข้อ Finder : จะเป็น Plug-in เสริมที่สามารถเรียกได้จากการคลิ๊กขวา (Ctrl+Click) บน Finder

submenu_0.jpg

  • หัวข้อ Folder Actions : เอาไว้สำหรับฝัง workflow เข้าไปกับ Folder ปรกติเพื่อการทำงานตาม workflow ที่เราตั้งเอาไว้ ที่เราจะได้คือหน้าตา Folder ปรกติแต่จะทำงานเมื่อมี file ถูกลากลงไปไว้ข้างในครับ

มีวิธี setup Folder Actions

หลังจากที่ Save workflow เป็น Folder actions เรียบร้อยแล้ว บางครั้งจะมีช่องให้ติ๊ก Enable Folder Actions ตาม Folder ที่เรากำหนดให้เลย แต่บางทีก็ไม่มีครับ ถ้าไม่มี เราสามารถที่จะ Enable Folder Actions เองได้ด้วยวิธีนี้

ขั้นตอนที่1.ไปที่ Folder ที่เราต้องการจะผูก workflow ที่เรา save เอาไว้ แล้วคลิ๊กขวา (Ctrl+Click) เลือก More/Config Folder Actions

fldr-action-02.jpg

ขั้นตอนที่ 2.จะมีหน้าต่างใหม่แสดงขึ้นมา ให้กำหนดค่าตามนี้ครับ

fldr-action-03-1.jpg

  1. เลือก Folder action ที่เราต้องการจากที่ save เอาไว้ (จากภาพตัวอย่างมีรายการที่เป็นสีแดงอยู่แสดงว่าตัว folder actions นั้นหายไปแล้ว หรือว่า path ไม่สมบูรณ์ครับ - มีบางส่วนที่ผมลบทิ้งไปบ้างแล้ว ณ ตอนที่เขียนบทความนี้อยู่)
  2. จะแสดงรายการ .scpt ให้เราเลือกขึ้นมา ปรกติจะเลือกไว้อยู่แล้ว ปรกติเอาไว้ให้เรา edit เองได้ด้วยการแก้ไข Apple Script ครับ แต่สำหรับผู้ใช้บ้าน ๆ (เช่นผม) ให้ผ่านไปขั้นต่อไปเลย แบร่..
  3. เลือก Enable Folder Actions จากตรงนี้

วิธีใช้งานก็ให้ลาก file ลง folder ที่ตั้งเอาไว้ได้เลย แล้วจากนั้นจะมีการทำงานแบบอัตโนมัติตาม workflow ของเราเกิดขึ้น

note : สำหรับการตั้ง folder actions นี้ ผมคิดว่าบน 10.5 ทำงานแบบผีเข้าผีออกอยู่ครับ คาดว่าน่าจะเป็น bug (ปัจจุบัน 10.5.5 แล้วปัญหานี้ก็ยังไม่หาย) คือคุณสั่งงาน 2 ครั้ง ให้ผลไม่เหมือนกัน หรือไม่ก็หยุดการทำงานไปกลางทางเอาดื้อ ๆ แบบไม่มีเหตุผล .. ถ้าต้องการใช้ workflow นี้จริง ๆ ให้เลี่ยงไปใช้การ save แบบอื่นหรือว่า save เป็น application แทนครับ เวลาใช้ก็ลากไฟล์ลงตัว application ซึ่งให้ผลเหมือนกัน และผิดพลาดน้อยกว่ามากครับ

  • หัวข้อ Ical Alarm : เป็นการนำ workflow ไปผูกเข้ากับ Alarm บน iCal ครับ เมื่อเลือกตรงนี้ จะเป็นการสร้าง Event กำหนดการตั้งเตือนให้เปิดไฟล์ ที่เราเพิ่ง save เอาไว้ให้ทำงานบน iCal ในส่วนปฎิธินของ Automator ครับ

ical-alrm-02.jpg

ical-alrm-01.jpg

  • หัวข้อ Image Capture : นำ workflow ไปผูกเข้ากับขั้นตอนระหว่างการใช้งาน Image Capture ที่จะเอาไว้สำหรับถ่ายโอนไฟล์ภาพ digital จากเครื่อง scanner หรือว่ากล้อง digital เข้ามาในเครื่องเราครับ ซึ่งตามที่ผมเข้าใจ เค้าจะทำงานเองถ้าเกิดมีการถ่ายโอนไฟล์จาก Image Capture เกิดขึ้น
  • หัวข้อ Print Workflow : จะเพิ่มตัวเลือกในการ Print ให้เราครับ

print-workflw.jpg

  • หัวข้อ Script Menu : save ให้ workflow ของเราเข้าไปรวมอยู่ใน Script menu สำหรับผู้ที่ชอบสั่งงาน Apple Script ผ่าน menu bar ครับ

วิธีลบ Workflow ที่เรา Save เป็น Plug-in เอาไว้แล้วออกจากส่วนต่าง ๆ ของเครื่อง
workflow ที่ถูก save เข้าไปเป็น Plug-in ยังส่วนต่าง ๆ ของ OS X นี้ ถ้าเราต้องการแก้ไข้หรือต้องการเอาออก ให้เปิด Finder ขึ้นมาแล้วไปที่

Home Folder (แฟ้มด้านซ้ายรูปบ้าน เป็นชื่อเราเอง) /Library/Workflows/Applications

delete-wkflw.jpg

แล้วเราจะเห็นส่วนต่าง ๆ ที่เราเลือกเอาไว้แบบนี้ครับ .. จากนั้นอยากจะเอาตัวไหนออกก็ลบได้เลย
หรือในทางกลับกัน ถ้าเราโหลด Folder Actions มาจากใน Internet ก็ให้จับมาใส่ไว้ในนี้เพื่อที่จะได้เรียกใช้งานได้นะครับ

Tips :
เมื่อเรา save ไฟล์ออกมาแล้ว ไม่ว่าจะเป็นแบบ workflow, application หรืออื่น ๆ เราสามารถที่จะใช้ Automator เพื่อทำการแก้ไชไฟล์นั้นได้ครับ สังเกตความแตกต่างได้จาก title ตอนบนของหน้าต่าง Automator ครับ

automatr-save-05.jpg

แบบ Workflow ปรกติ

automatr-save-06.jpg

แบบ Application

Automator : ตัวอย่าง workflow แบบต่าง ๆ

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

เนื้อหาในส่วนนี้ประกอบไปด้วย

  1. การสร้าง workflow เอาไว้สำหรับย่อไฟล์ภาพแบบง่าย ๆ - สำหรับย่อรูปทีละเยอะ ๆ ในคลิ๊กเดียว เนื้อหามีทั้งหมด 2 ตอนครับ
  2. ตัวอย่างการใช้งาน Variables ใน Automator - ในตัวอย่างนี้ จะอ้างอิงจาก workflow ของการย่อรูปในตัวอย่างในหัวข้อที่ 1 แล้วนำมาเพิ่มเติม Variable เข้าไป เพื่อให้ทำงานได้หลากหลายมากขึ้น

ถ้าพบข้อผิดพลาด หรือไม่เข้าใจตรงไหนก็ทิ้งคำถามเอาไว้ได้จากใน comment หน้านั้น ๆ
หรือจะอีเมล์มาหาผมก็ได้ที่ kok[แอด]macmuemai.com ครับ =)

ขอให้มีความสุขในการใช้งาน Automator ครับ
ก๊อก

note : ถ้าหัวข้อทางด้านซ้ายใน How-Tos ซ้อนกันจนอ่านไม่รู้เรื่อง ให้เลือกจากรายการด้านล่างนี้ หรือจาก Automator Sample tags ทางด้านซ้ายมือครับ

Automator : ตัวอย่าง Rename files เป็นกลุ่ม

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

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

  • Automator : เกี่ยวกับ Automator
  • workflow : ชุดคำสั่งของเรา
  • กลักการสร้าง workflow
  • การ Save workflow ไปใช้ในลักษณะต่าง ๆ

โดยเนื้อหาบทความนี้จะแบ่งเป็น 2 ตอน

  • รูปแบบการสร้าง workflow สำหรับ Rename ไฟล์เป็นกลุ่ม และการนำไปใช้กับ Finder
  • รายละเอียดของคำสั่ง Rename Finder Items แบบ Make Sequential

เลือกดูได้จากหัวข้อด้านล่างนี้นะครับ =)

Automator : ตัวอย่าง Rename files เป็นกลุ่ม #1

ขั้นตอนที่ 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 ด้วย

เสร็จแล้วจะได้หน้าตาประมาณนี้ครับ

automatr-rename-1_1.jpg

อธิบาย

  • Get Selected Items : ให้เราเลือกไฟล์ที่ต้องการจะเปลี่ยนชื่อ ก่อนสั่ง workflow ให้ทำงานครับ ซึ่งถ้าสั่ง workflow ตอนที่เรายังไม่ได้เลือกไฟล์อะไรไว้ จะไม่มีการทำงานเกิดขึ้น
  • Rename Finder Items : action นี้จะมีรายละเอียดเกี่ยวกับการเปลี่ยนชื่อไฟล์ในรูปแบบต่าง ๆ ในตัวอย่างนี้ เลือก Make Sequential ครับ จะเป็นการเปลี่ยนชื่อไฟล์แบบไล่ลำดับ (ดูการใช้งาน Make Sequential แบบละเอียดได้จาก ที่นี่ ประกอบครับ)

ขั้นตอนที่ 4
ทดสอบ workflow นี้ด้วยการเลือกไฟล์ที่ต้องการเอาไว้ จากนั้นสั่ง RUN ครับ

ขั้นตอนที่ 5
เมื่อทุกอย่างเป็นไปตามที่เราต้องการแล้ว ให้ Save workflow นี้ออกมาเป็นแบบ Application ครับ จากนั้นก็จับเข้ามาวางไว้ใน Toolbar ของ Finder เพื่อที่จะสามารถเรียกใช้ workflow นี้ได้จาก Finder ครับ (ไม่ต้องเปิด automator มาสั่งงานอีกต่อไป)

ดูรายะเอียดการ Save ในการนำ workflow มาทำงานกับ Finder ได้จากในนี้ครับ (ใช้วิธีการเดียวกัน)
http://macmuemai.com/content/538

หมดแล้วครับ =)

Automator : ตัวอย่าง Rename files เป็นกลุ่ม #2

อธิบายส่วนประกอบต่าง ๆ ของการเปลี่ยนชื่อไฟล์แบบ Sequential

automatr-rename-1-1_7.jpg

1.เลือกการเปลี่ยนชื่อไฟล์แบบ Make Sequential จะเป็นการใส่ลำดับเลขลงไปในชื่อไฟล์ครับ เช่น

  • ABC-01.jpg
  • ABC-02.jpg
  • ABC-03.jpg...

2.Add number to : จะเป็นการเลือกว่าจะเพิ่มลำดับอย่างไร

  • existing item name : เป็นการใส่ลำดับลงไปต่อท้ายชื่อไฟล์เดิม
  • new name : ให้เราตั้งชื่อไฟล์ใหม่ พร้อมกับมีลำดับลงไปในชื่อไฟล์ใหม่ด้วย

3.รายละเอียดการใส่ลำดับ

  • Place number : ให้เราเลือกว่า จะใส่ลำดับเลขอลงไปในชื่อไฟล์อย่างไร ระหว่าง

before name : ใส่ลำดับไปก่อนชื่อไฟล์
after name : ใส่ลำดับลงไปหลังชื่อไฟล์

  • Start numbers at : กรอกค่านับเลขแรกลงไปครับ สามารถกำหนดให้เริ่มลำดับไฟล์ตามตัวเลขที่ต้องการได้ โดยไม่จำเป็นต้องเริ่มที่ 1 เสมอไป

  • Separate by : เป็นการกำหนดว่าจะให้มีอะไรอยู่ระหว่างชื่อไฟล์กับเลขลำดับหรือไม่

dash : ใช้เครื่องหมาย “-” (ลบ)คั่น เช่น abc-01.jpg
period : ใช้เครื่องหมาย “.” (จุด)คั่น เช่น abc.01.jpg
space : เป็นการเว้นวรรค เช่น abc 01.jpg
under score : ใช้เครื่องหมาย “_” (ขีดล่าง)คั่น เช่น abc_01.jpg
nothing : ไม่มีอะไรคั่น เขียนติดกันทั้งชื่อไฟล์กับลำดับ abc01.jpg

  • Make all numbers XX digits long : เป็นการกำหนดว่าจะให้ลำดับไฟล์เป็นเลขกี่หลักครับ

⁃ 1 digit log = เลขหลักเดียว เช่น abc-1.jpg
⁃ 2 digit log = เลขสองหลัก เช่น abc-01.jpg
⁃ 3 digit log = เลขสามหลัก เช่น abc-001.jpg

  • Example : ตรงนี้จะแสดงตัวอย่างชื่อไฟล์ใหม่ตามข้อกำหนดที่เราเลือกนะครับ ลองเล่นดู

4.ให้เลือก Options : Show this action when the workflow runs เอาไว้ด้วย เวลาสั่งให้เค้าทำงานเราจะได้ตั้งรายละเอียดได้ครับ

Automator : ตัวอย่าง workflow #1/2 - ย่อรูปทีละเยอะ ๆ ในคลิ๊กเดียว

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

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

  • การเริ่มต้นสร้าง workflow เพื่อย่อขนาดไฟล์ภาพทีละเยอะ ๆ
  • การปรับแต่ง workflow เดิม ๆ ให้ทำงานได้หลากหลายมากขึ้น

note : ให้ลองเปิด Automator แล้วมั่วไปด้วยกันเลยครับ ยิ้ม

ขั้นตอนที่ 1 :
เรียกใช้งาน Automator ขึ้นมาจากใน Applications/Automator.app เราจะเจอหน้าต่าง welcome screen แบบนี้

scale-img-01_1.jpg

อธิบาย

  1. เลือกหัวข้อ Photo & Images : ตรงนี้จะเป็นการให้ Automator เริ่มต้น workflow ให้เราครับในกรณีที่เราไม่เคยใช้มาก่อนทำให้เริ่มต้น workflow ได้เร็วขึ้น
  2. มี 2 หัวข้อให้เลือก
    • ในหัวข้อ Get content from เลือก my Mac : เพื่อบอกว่าเราต้องการนำไฟล์จากที่ไหนมาป้อนให้ workflow ของเรา
    • เลือก Ask for image files when my workflow runs : ตรงนี้จะเป็นการบอกให้มีการถามหาไฟล์ภาพเมื่อเราสั่งงานไปแล้ว
  3. จากนั้นเลือก Choose เพื่อยืนยัน

ขั้นตอนที่ 2:
เราจะเข้าสู่หน้าต่างของ Automator พร้อมกับมี Action 1 อันมาให้แล้วคือ Ask for Finder Items

scale-img-06_1.jpg

ขั้นตอนที่ 3:

scale-img-07-1_1.jpg

อธิบาย

  1. ในช่อง Library ด้านซ้ายสุด ให้เลือก Photos หมวดเกี่ยวกับรูปภาพ (มี icon เป็นรูปไฟล์ภาพ)
  2. จากนั้นในช่องถัดมา ค้นหา Action ชื่อว่า Scale Images แล้วให้ลาก Action นี้มาไว้ใน workflow pane ทางด้านขวามือครับ ในตำแหน่งที่ 3

ขั้นตอนที่ 4:
จะมีหน้าต่างมาถามเราขึ้นมามีใจความว่า Action นี้จะทำการเปลี่ยนแปลงไฟล์ภาพต้นฉบับนะ เราต้องการที่จะสร้างสำเนาเอาไว้หรือไม่

scale-img-02_1.jpg

ให้เลือก Add เพื่อเป็นการสร้างสำเนาไฟล์ต้นฉบับเอาไว้อีกชุดหนึ่งกันพลาด

note : สำหรับคนที่แม่นแล้ว หรือว่าทำเสาเนาไฟล์เอาไว้ก่อนหน้านี้แล้ว ก็เลือกข้ามตรงนี้ไปก็ได้ครับ ซึ่งถ้าเลือกข้ามตรงนี้ไป (Don’t Add) ก็จะไม่มี Action Copy Finder Items โผล่ขึ้นมาเหมือนขั้นตอนต่อไปนะครับ =)

ขั้นตอนที่ 5:
หลังจากเราเลือก Add ไปแล้ว จะเห็นว่าจะมี workflow เพ่ิมขึ้นมาคั่นตรงกลางระหว่างอันแรก (1) ที่เราสร้างเอาไว้แต่เดิม กับ Scale images (2)ที่เราเลือกเข้าไปครับ

scale-img-03-1_1.jpg

workflow อันนี้มีชื่อว่า Copy Finder Items จะเป็นการสร้างสำเนาไฟล์ที่เรานำมาใส่ใน workflow ไว้อีกชุดหนึ่ง ก่อนที่จะเปลี่ยนขนาดครับ ซึ่งสรุปแล้ว หลังจาก workflow ชุดนี้ทำงาน เราจะได้ไฟล์ภาพสุดท้าย 2 ชุดด้วยกันคือ

  1. ไฟล์ที่ถูกเปลี่ยนขนาดแล้ว
  2. ไฟล์ภาพเดิม(สำเนาต้นฉบับ)ก่อนที่จะถูกเปลี่ยนขนาด

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

  • Action#1 :หลังจากกด RUN ไปแล้ว จะมีหน้าต่างขึ้นมาให้เรา browse ไฟล์ภาพที่ต้องการจะย่อขนาด ให้เลือกไฟล์ภาพขึ้นมา (จะมากกว่า 1 ไฟล์ก็ได้ ถ้าเราติ๊กที่ Allow Multi Selection เอาไว้) จากนั้นกด Choose
  • Action#2 : มีการสร้างสำเนาไฟล์ภาพที่เราเลือกเอาไว้ขนาดเท่าต้นฉบับลงใน Desktop (หรือที่อื่นถ้าเกิดเราเปลี่ยนใน workflow) แบบอัตโนมัติ
  • Action#3 : ไฟล์ต้นฉบับที่เราเลือกเอาไว้ จะถูกย่อเป็นขนาดใหม่ตามค่าที่เรากำหนดใน workflow แบบอัตโนมัติ หลังจากเค้าทำงานจบ จะมีเสียงแจ้งเตือนเรามาครับ =)

สำหรับการสร้าง workflow การย่อรูปหลัก ๆ จะมีแค่นี้ครับ แต่ผมจะเขียนต่อเพื่ออธิบายถึงขั้นตอนต่าง ๆ แบบละเอียดต่อไปนะครับ
Action #1 : Ask For Finder Items
เป็น action แรกที่เราสร้างขั้นมาจากหน้าต่าง welcome screen ตอนเปิด automator ขึ้นมา

scale-img-03-2-1_1.jpg

  • Prompt : คือจะมีหน้าต่างขึ้นมาให้เราเลือกเมื่อ workflow ทำงานว่าเราจะเอาไฟล์ภาพจากไหนใส่เข้ามา (เปลี่ยนแปลงไม่ได้ เป็นค่า Fix ของ action ตัวนี้)
  • Start at : ให้เริ่ม browse จาก Desktop (เปลี่ยนแปลงได้ตามเหมาะสม)
  • Type : เราสามารถเลือกได้ว่าจะเอาเฉพาะ file หรือว่าทั้ง folder เข้ามา ให้เลือกเป็น Files เพียงอย่างเดียวเอาไว้ เพราะคำสั่งเปลี่ยนขนาดภาพที่อยู่ด้านล่างจะไม่รองรับกับข้อมูลแบบ Folder ครับ
  • Allow Multiple Selection : เลือกติ๊กตรงนี้เพื่อที่จะสามารถเลือกไฟล์ได้มากกว่าครั้งละ 1 ไฟล์

note : ในหัวข้อ Type ถ้าเลือกเป็น Folder ไว้ จะไม่มีการเปลี่ยนขนาดภาพเกิดขึ้นจาก Action ที่ 3 แต่จะมีการทำสำเนาเกิดขึ้นจาก Actions ที่ 2 ครับ เพราะ Action ที่ 2 : Copy Finder Items นั้นรองรับกับข้อมูลแบบ Folder ได้ด้วย... ถ้ายังงงอยู่ ก็ลองเลยครับ =)
Action #2 : Copy Finder Items
Action นี้จะทำหน้าที่ copy files/folder ทุกอย่างที่ผ่านเข้ามาจาก action ด้านบน แล้วทำสำเนาขึ้นมาใหม่ยังปลายทางที่เราต้องการครับ

scale-img-03-3_1.jpg

  • To: กำหนดว่าเราต้องการสร้างสำเนาไฟล์ขึ้นมาที่ไหน
  • Replacing existing files : ถ้าเลือกตรงนี้เอาไว้ แล้วเกิดกรณีไฟล์ต้นฉบับกับไฟล์สำเนามาอยู่ที่เดียวกัน (เช่นบน desktop เหมือนกัน) เค้าจะ copy ทับไฟล์เก่าที่เคยมีในชื่อเดียวกันไปครับ กลับกัน ถ้าเราปล่อยไว้ไม่ติ๊ก ถ้าเกิดเราสร้างสำเนามาอยู่ที่เดียวกับต้นฉบับ เค้าจะเปลี่ยนชื่อไฟล์ให้ครับ ไม่เซฟทับของเดิม จากตัวอย่างผมเว้นตรงนี้เอาไว้ครับ กันพลาด =)

Action #3 :Scale Images เป็นคำสั่งเปลี่ยนขนาดของไฟล์ภาพ

scale-img-03-4_1.jpg

โดยทั่วไปเราสามารถกำหนดการเปลี่ยนขนาดไฟล์ภาพได้ 2 แบบคือ

  • To Size (pixels) : จะเป็นการกำหนดค่า Pixel (จะกำหนดแบบ Fix ตายตัว หรือจะกำหนดเองตอน workflow ทำงานก็ได้ ดู tips ด้านล่างต่อไปประกอบครับ)
  • By Percentage : ย่อขนาดเป็นเปอร์เซ็นต์ ค่อนข้างสะดวกมากสำหรับคนที่ต้องย่อภาพในอัตรส่วนที่เท่า ๆ กันครั้งละเยอะ ๆ

Tips
ถ้าเราต้องการกำหนดขนาดเองทุกครั้งที่ workflow ทำงาน เราสามารถทำได้ โดยเลือกไปที่ Options (ใน Scale Images นี่ล่ะครับ) แล้วเลือก Show this action when the workflow runs

ซึ่งถ้าเราเลือกตรงนี้ไปแล้ว และสั่ง Run workflow ให้ทำงาน จะมีหน้าต่างนี้ขึ้นมาถามเราครับ ให้เรากำหนดได้ว่าจะย่อรูปแบบไหน ที่ขนาดเท่าไหร่

scale-img-08_1.jpg

ผมแบ่งเนื้อหาตัวอย่างของ workflow ย่อรูปออกเป็น 2 ตอนนะครับ เพื่อสะดวกในการเปิดหน้าเวป .. จากตรงนี้เป็นอันหมดเนื้อหาในตอนที่ 1 แล้ว เข้าไปอ่านตอนที่ 2 ได้ที่ http://macmuemai.com/content/538

Automator : ตัวอย่าง workflow #2/2 - ย่อรูปทีละเยอะ ๆ ในคลิ๊กเดียว

เป็นตอนที่ 2 ต่อจาก Automator : ตัวอย่าง workflow #1/2 - ย่อรูปทีละเยอะ ๆ ในคลิ๊กเดียว นะครับ เนื้อหาในตอนนี้จะต่อเนื่องมาจากตอนที่แล้วที่หลังจากสร้าง workflow และรู้จักการทำงานของเค้าไปบ้างแล้ว เนื้อหาในตอนนี้จะกล่าวถึง

  • การนำไปประยุกต์ใช้งานจริงในรูปแบบต่าง ๆ
  • การเพิ่มความสามารถให้กับ workflow แบบบ้าน ๆ

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

note : ดูเรื่อง Automator : การ Save workflow ของเรา ประกอบ

ขั้นตอนที่ 1
ในหน้า Automator ของเราที่เพิ่งทำเสร็จไป ให้ไปที่เมนูบาร์เลือก File/ Save as..

save-as-02_0.jpg

save-as-01_0.jpg

จะมีหน้าต่างใหม่ขึ้นมา ให้กำหนดค่าตามนี้ครับ

  1. ตั้งชื่อที่เราต้องการ (ควรจะเกี่ยวกับ workflow ที่เราจะใช้นะครับ จะได้สะดวกเวลาใช้งานภายหลัง)
  2. เลือกว่าจะ Save ไปไว้ที่ไหน
  3. เลือก File Format เป็นแบบ Application เพื่อที่จะให้ workflow นี้ทำงานได้ด้วยตัวของเค้าเอง (Stand alone) ครับ
  4. จากนั้นเลือก Save เพื่อยืนยัน

จริง ๆ จะหมดแค่ตรงนี้ก็ได้ครับ แต่ถ้าเราต้องการใช้งาน workflow ให้สะดวกกว่านั้น ให้ดูขั้นตอนต่อไปครับ จะเป็นการนำ workflow ที่เรา save ไว้เป็น application นี้มาฝังอยู่ใน Finder ของเรา

ขั้นตอนที่ 2
ใน Finder ให้ browse ไปยังที่ ๆ เรา save เค้าเอาไว้จากขั้นตอนด้านบน เราจะเห็นว่า สัญลักษณ์ไฟล์เป็น icon ที่ไม่เหมือนเรา Save workflow ตามปรกติ คือถ้าเราเลือก save แบบ Application เค้าจะมีหน้าตาแบบนี้ (เหมือนหุ่นยนต์ครับ)

save-as-03_0.jpg

note : สำหรับ workflow ที่เรา save ไว้แบบ application นี้ เค้าจะเหมือน app ทั่วไปตามปรกตินะครับ สามารถที่จะนำไปใช้เพื่อทำงานแบบเดียวกันบนเครื่อง Mac เครื่องอื่นได้

ขั้นตอนที่ 3
ใน FInder ให้คลิ๊กที่ icon ของ workflow ที่เป็นแบบ Application นี้ แล้วลากเค้ามาไว้บนที่ว่างของ Toolbar ใน Finder ครับ (ต้องค้างเอาไว้สักครู่นึง)

save-as-04_0.jpg

แล้วเราจะได้แบบนี้..

save-as-05_0.jpg

ซึ่งหลังจากนี้ต่อไปถ้าเราต้องการจะเรียกใช้งาน workflow นี้ก็สามารถคลิ๊กได้จากบน finder เราได้เลยโดยที่ไม่จำเป็นต้องเปิด Automator ขึ้นมาแล้วครับ =)

note : บน Toolbar ของ Finder เราสามารถลาก app ต่าง ๆ มาเก็บเอาไว้ในนี้ได้เหมือนกันด้วยวิธีเดียวกันนี้ครับ

Tips
ถ้าเราต้องการให้ workflow นี้ทำงานจากไฟล์ที่เราเลือกเอาไว้เลยตอนที่สั่งงาน แทนที่จะต้องเลือกไฟล์ใหม่ทุกครั้งหลังจากสั่ง workflow ให้ทำงาน

  • ให้เปลี่ยน Action แรกใน workflow เป็น Files/Folder : Get Selected FInder Items ครับ

ถ้าต้องการย่อภาพสำหรับลงในเวป

  • เพิ่ม Sharpen หรือ Photo effect อื่น ๆให้พิ่ม Action = Photos : Apply Quartz Composition Filter to Image Files ลงไปหลัง Action สุดท้ายครับ และกำหนด Option ให้แสดง workflow ตอนทำงาน เพื่อที่เราจะได้เลือกได้ว่าจะปรับตรงไหนบ้าง (ถ้าใช้แล้วไม่ได้ผล ให้แทรกลงไปก่อนหน้าแทน)
  • ถ้าต้องการเปลี่ยนชนิดของไฟล์ภาพ ให้เพิ่ม Action = Photos : Change Type of Images ลงไปใน Action สุดท้าย และเลือก Option ให้แสดง workflow ตอนทำงาน

Automator : ตัวอย่างการใช้งานค่า Variables ใน Automator

บทความนี้จะเป็นตัวอย่างการใช้งานเกี่ยวกับค่า Variables ของ Automator นะครับซึ่งจะนำ workflow จากบทความตัวอย่างสำหรับการย่อรูป มาปรับปรุงต่อกัน ซึ่งจะมีการข้ามเนื้อหาบางส่วนที่เคยเขียนไว้แล้วไป ถ้าใครยังไม่ได้อ่าน ก็ลองอ่านบทความนั้นก่อนเพื่อความสมบูรณ์ของเนื้อหานะครับ

Variables : เป็นคล้าย ๆ ตัวแปรที่จะจำข้อมูลของผลลัพท์ที่เกิดขึ้นใน workflow แล้วนำมาใช้ตรงไหนก็ได้ของ workflow ครับ .. คือปรกติการทำงานของ workflow ทั่วไป จะทำงานแบบไล่จากบนลงล่าง เราจะสั่งข้ามขั้นตอนหรือว่าใช้ผลลัพท์จาก action อื่นมาเป็น input ไม่ได้.. แต่ Variables จะเป็นตัวช่วยให้เราทำตรงนี้ครับ ซึ่งทำให้เราสามารถสร้าง workflow ที่สลับซับซ้อนขึ้นกว่าเดิมได้

workflow ปรกติเป็นประมาณนี้

  • ขั้นตอนที่ 1 ได้ผลลัพท์เพื่อนำไปใช้ในขั้นตอนที่ 2 เท่านั้น
  • ขั้นตอนที่ 2 ได้ผลลัพท์เพื่อนำไปใช้ในขั้นตอนที่ 3 เท่านั้น
  • ขั้นตอนที่ 3 ได้ผลลัพท์เพื่อนำไปใช้ในขั้นตอนที่ 4 เท่านั้น
  • ขั้นตอนที่ 4 ได้ผลลัพท์เพื่อนำไปใช้ในขั้นตอนที่ 5 เท่านั้น
  • ขั้นตอนที่ 5 จบการทำงาน

ถ้าเราใช้ Variables ช่วย เราสามารถทำได้แบบนี้

  • ขั้นตอนที่ 1 ได้ผลลัพท์เพื่อนำไปใช้ในขั้นตอนที่ 2,3,4 หรือ 5
  • ขั้นตอนที่ 2 ได้ผลลัพท์เพื่อนำไปใช้ในขั้นตอนที่ 3 ,4 หรือ 5
  • ขั้นตอนที่ 3 ได้ผลลัพท์เพื่อนำไปใช้ในขั้นตอนที่ 4 หรือ 5
  • ขั้นตอนที่ 4 ได้ผลลัพท์เพื่อนำไปใช้ในขั้นตอนที่ 5
  • ขั้นตอนที่ 5 จบการทำงาน

note : ที่ไฮไลท์สีนำเงินคือความแตกต่างในการใช้ Variables เข้าช่วยครับ

ตัวอย่าง :
จากเดิมผมทำ workflow สำหรับย่อรูปปรกติทั่วไปแต่ผมต้องการเพิ่มขั้นตอนบางอย่างลงไปให้ workflow เดิมครับ มีโจทก์เป็นแบบนี้..

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

จากตรงนี้ จะเห็นว่า แค่ย่อรูปกับสร้าง folder ขึ้นมาใหม่ workflow ปรกติก็สามารถทำได้อยู่แล้ว แต่จะทำอย่างไร ให้มีการย้ายไฟล์รูปที่ย่อเสร็จแล้วลงไปใน folder ใหม่ ... ตรงนี้เป็นขั้นตอนที่ปรกติเราทำแบบอัตโนมัติไม่ได้ เราเลยต้องอาศัย Vaiables ช่วย

ภาพรวม
workflow ย่อรูปของเดิมเป็นแบบนี้

  • Action 1 : Ask for Finder Items
  • Action 2 : Copy Finder Items
  • Action 3 : Scale Images

workflow ใหม่จะแทรก Action ต่อไปนี้ลงไป (Action ใหม่จะเป็นสีแดง)

  • Action 1: Files & Folders / New Finder
  • Action 2 : Utilities / Set Value for Variables
  • Action 3 : Ask for Finder Items
  • Action 4 : Copy Finder Items
  • Action 5 : Scale Images

อธิบาย
เปิด 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 ครับ

sample-va-03_0.jpg

เมื่อแทรกเข้ามาแล้ว หน้าตาของ Action : Set Value for Variables จะเป็นแบบนี้

sample-va-01_0.jpg

เสร็จแล้วจะได้หน้าตา workflow ใหม่ประมาณนี้ครับ (ผมพับ workflow บางอันเก็บไป เปิดเฉพาะอันที่เกี่ยวข้องกับเนื้อหาใหม่นะครับ)

sample-va-02_0.jpg

สังเกตว่า Action 2 กับ Action 3 นั้นไม่เชื่อมต่อกันนะครับ หมายความว่า workflow นี้จะแบ่งการทำงานออกเป็น 2 ชุดด้วยกัน

  • ชุดแรกคือการสร้าง folder ใหม่แล้วจำค่านั้นเอาไว้
  • ชุดที่สองคือคำสั่งย่อรูปตามปรกติ

วิธีแบ่ง workflow ให้ทำแบบนี้ครับ
ไปคลิ๊กขวา (Ctrl+Click) ที่ Action : Ask for Finder Items แล้วเลือก Ignore Input

ignor-input_0.jpg

แล้วเราก็จะได้หน้าตาของ workflow แบบนี้มา

ingnor-input-1_0.jpg

note : สังเกตดูว่า Actions ไม่ต่อกันแล้วนะครับ

ขั้นตอนที่ 3
ใน Action ที่ 2 ให้คลิ๊กไปที่คำว่า New variable.. ในช่องที่มีให้เลือก

sample-va-04_0.jpg

จะมี pop up หน้าต่างใหม่เล็ก ๆ ขึ้นมาให้เราตั้งชื่อ Variables นี้ครับ

sample-va-05_0.jpg

เค้าจะตั้งมาให้เองว่า New Storage ส่วนถ้าใครต้องการจะเปลี่ยนเป็นชื่ออื่นก็ทำได้จากตรงนี้ครับ แต่ในบทความนี้ผมอ้างอิงกับคำว่า New Storage เป็นหลัก จากนั้นกด Done แล้วจะเราจะเห็นช่อง Variable แสดงขึ้นมาที่ด้านล่าง workflow pane พร้อมด้วยค่า New Storage เป็น Variable ที่เราเพิ่งสร้างไปตะกี๊ขึ้นมาครับ ตามรูปนี้

sample-va-06_0.jpg

การสร้าง Variables ในขั้นตอนนี้ จะหมายถึงการจำค่า Folder ที่เราสร้างใหม่นี้เอาไว้ ทั้งชื่อ Folder และ Path มายัง Folder นี้ครับ

ขั้นตอนที่ 4
จากหน้าต่าง Variable นี้ ให้เราคลิ๊กตัว New Storage แล้วลากขึ้นมาไว้แทนตำแหน่ง To ของ Action : Copy Finder Items ครับ แบบนี้

sample-va-07_0.jpg

แล้วเราจะได้ผลลัพท์แบบนี้

sample-va-09_0.jpg

เสร็จแล้วครับ ภาพรวมของ workflow ที่เสร็จแล้วจะได้แบบนี้

sample-va-10_0.jpg

จะเห็นว่ามีตัว Variable แทรกอยู่ 2 จุด คือ

  • ใน Action 2 : ให้โปรแกรมจำ Folder ใหม่เอาไว้ และนำ path มายัง folder ใหม่นี้ไปใช้ใน
  • และใน Action 4 : Copy Finder Items ครับ เมื่อเราสั่ง workflow นี้จะมีการสร้าง Folder ขึ้นมาใหม่ (ตรงนี้จะเลือก Option ให้แสดงขึ้นมาตอน workflow ทำงานด้วยก็ได้ เพื่อที่เราจะได้ตั้งชื่อ Folder เอง ถ้าไม่เลือกตรงนี้ folder ใหม่ที่ถูกสร้างขึ้นจะมีชื่อว่า untitled folder เสมอ

จากนั้นลองสั่ง RUN workflow ใหม่นี้ดูถ้าไม่มีอะไรผิดพลาด จะมี folder เกิดขึ้นใหม่ และภาพที่ย่อขนาดแล้วจะถูกนำมาใส่ไว้ใน folder นี้ครับ

หมดแล้วครับ หวังว่าคงพอเป็นประโยชน์กับผู้ใช้งานแมคมือใหม่ขึ้นมาบ้าง ไม่มากก็น้อยนะครับ ยิ้ม

ก๊อก