วิธีสร้างชุดคำสั่งควบคุมระบบเมื่อเปิดปิดแฟ้ม

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

ดังนั้นแทนที่จะต้องเสียเวลาปรับระบบของ Excel ให้ถูกใจ เรามาใช้ Macro Recorder บันทึกรหัสเพื่อทำหน้าที่ปรับระบบให้ทันทีเมื่อเปิดแฟ้มขึ้นมาดีกว่า พอเปิดแฟ้มขึ้นมา ก็ให้ระบบปรับตัวเองทันที และเมื่อปิดแฟ้มก็ให้ปรับระบบกลับสู่สภาพแรกสุด เหมือนสมัยที่เพิ่งเปิดใช้ Excel เป็นครั้งแรก

วิธีใช้ Macro Recorder ต่อไปนี้ มีข้อสำคัญอยู่ที่ชื่อของ Macro ว่าต้องตั้งชื่อว่า Auto_Open และ Auto_Close เท่านั้น ห้ามตั้งชื่อเป็นอย่างอื่น โดย Auto_Open จะถูกสั่งให้ทำงานเองทันทีเมื่อแฟ้มที่เก็บรหัสนี้ถูกเปิดขึ้น และ Auto_Close จะถูกสั่งให้ทำงานทันทีเมื่อแฟ้มที่เก็บรหัสนี้ถูกสั่งปิด

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

ขั้นตอนการบันทึก Macro ชื่อ Auto_Open

สมมติ เราต้องการปรับหน้าจอของแฟ้มที่เปิดขึ้นมาให้ดูเหมือนกระดาษทำการ หาทางทำให้ไม่มีลักษณะใดที่จะบ่งบอกว่าเป็นตารางพื้นที่ Worksheet ทั้งนี้อาจใช้กับการเสนอผลงาน Presentation หรือใช้กับงานทั่วไปที่ต้องการปิดบังไม่ให้ผู้ใช้ Excel สงสัยหรือรู้ว่า หน้าจอที่เปิดขึ้นนั้นเป็นตาราง Excel

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

เริ่มต้นบันทึก Macro โดยกำหนดชื่อ Macro Name : Auto_Open และเลือกใช้ Ctrl+q หรือใช้ปุ่มอื่นก็ได้เป็น Shortcut Key แล้วบันทึกขั้นตอนคำสั่งต่อไปนี้

  1. สั่ง Formulas > Calculation Options > กาช่อง Manual
  2. สั่ง View > ตัดกาช่อง Gridlines เพื่อตัดเส้นตาราง
  3. สั่ง View > ตัดกาช่อง Headings เพื่อตัดหัวตารางที่บอกว่าเป็น row และ column ใด
  4. สั่ง View > ตัดกาช่อง Formula Bar เพื่อช่องใส่สูตร
  5. สั่ง View > Full Screen เพื่อตัดเมนูทิ้ง ขยายพื้นที่แสดงตาราง
  6. กดปุ่ม Esc เพื่อย้อนกลับมาสู่จอตามขนาดเดิมจะได้กดปุ่ม Stop ได้

 ในชุดคำสั่งที่เกิดขึ้น ให้ตัดคำสั่งสุดท้ายทิ้งโดยทำให้เป็น Comment

Sub Auto_Open()

'

' Auto_Open Macro

'

' Keyboard Shortcut: Ctrl+q

'

    Application.Calculation = xlManual

    Application.DisplayFormulaBar = False

    ActiveWindow.DisplayHeadings = False

    ActiveWindow.DisplayGridlines = False

    Application.DisplayFullScreen = True

‘    Application.DisplayFullScreen = False กำหนดคำสั่งนี้ให้เป็น comment

End Sub

เมื่อสั่งให้ Auto_Open ทำงาน จะปรับระบบการคำนวณเป็น Manual และหน้าจอให้ดูเหมือนกระดาษ

image010

ขั้นตอนการบันทึก Macro ชื่อ Auto_Close

ขั้นตอนที่ใช้บันทึก Macro ในชื่อ Auto_Close นั้น จำง่ายๆว่า ทำตามขั้นตอนของ Auto_Open เพียงแต่ให้ทำตรงกันข้ามให้หมด (หรือจะเพิ่มคำสั่งอื่นก็ได้ที่เห็นว่า ควรปรับระบบของ Excel ให้เหมาะกับงานทั่วไป)

ก่อนจะเริ่มบันทึก Macro ให้กดปุ่ม Esc เพื่อแสดงเมนูให้เห็น เมื่อบันทึกให้กำหนดชื่อ Macro Name : Auto_Close และเลือกใช้ Ctrl+w หรือใช้ปุ่มอื่นก็ได้เป็น Shortcut Key แล้วบันทึกขั้นตอนคำสั่งต่อไปนี้

  1. สั่ง Formulas > Calculation Options > กาช่อง Automatic
  2. สั่ง View > กาช่อง Gridlines เพื่อตัดเส้นตาราง
  3. สั่ง View > กาช่อง Headings เพื่อตัดหัวตารางที่บอกว่าเป็น row และ column ใด
  4. สั่ง View > กาช่อง Formula Bar เพื่อช่องใส่สูตร

ให้แก้ชุดคำสั่งที่เกิดขึ้น โดยลอกคำสั่ง Application.DisplayFullScreen = False มาใส่เพิ่ม

Sub Auto_Close()

'

' Auto_Close Macro

'

' Keyboard Shortcut: Ctrl+w

'

    Application.DisplayFullScreen = False   ‘ลอกมาใส่เพิ่ม

    Application.Calculation = xlAutomatic

    Application.DisplayFormulaBar = True

    ActiveWindow.DisplayHeadings = True

    ActiveWindow.DisplayGridlines = True   

End Sub

เมื่อสั่งให้ Auto_Close ทำงาน จะปรับระบบการคำนวณเป็น Automatic และหน้าจอกลับสู่สภาพเดิม

image011

ทดลองแก้ไขรหัสให้ทำงานกลับไปกลับมาทุกครั้งที่สั่งให้ทำงาน

ขอให้สังเกตรหัสที่ได้จากการบันทึก Macro ข้างต้น จะเห็นว่าใช้คำสั่งให้เท่ากับ True หรือ False เพื่อสั่งให้ทำหรือไม่ทำตาม ซึ่งหมายถึงสั่งให้ทำตรงกันข้ามกับสถานะเดิม ดังนั้นเราจึงสามารถใช้รหัสคำสั่งต่อไปนี้ เพื่อปรับการแสดง Full Screen ให้กลับไปซ่อนเมนูแล้วกลับมาตามเดิมได้ โดยใช้คำสั่งบรรทัดเดียวและใช้รหัส NOT ช่วยให้ทำงานกลับกัน ดังนี้

Sub ReverseFullScreen()
Application.DisplayFullScreen = Not Application.DisplayFullScreen
End Sub

ทุกครั้งที่รหัสคำสั่งชุดนี้ทำงาน จะปรับหน้าจอให้ตรงกันข้ามกับสถานะเดิม เช่น ถ้าเดิมไม่ได้เป็น Full Screen พอใช้คำสั่งนี้จะกลายเป็น Full Screen แต่ถ้าสั่งซ้ำอีกครั้งจะกลับเป็นสภาพเดิมที่ไม่ได้เป็น Full Screen

Related Articles

© Copyright 1999

สงวนลิขสิทธิ์ตามกฎหมาย

ห้ามนำข้อความหรือส่วนหนึ่งส่วนใดของบทความหรือวิดีโอหรือรูปภาพไปใช้เพื่อการค้าขาย หรือเพื่อประโยชน์ส่วนตัว

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

ลิงก์เว็บ Excel Expert Training

เว็บสำหรับ เรียนออนไลน์

เว็บสำหรับ เรียนแบบกลุ่ม-ส่วนตัว

ติดตามข่าวสารได้จาก facebook

ถามปัญหาได้ที่ กลุ่มคนรัก Excel

และไลน์กลุ่ม Excel Expert Group

ที่อยู่และการติดต่อ

สมเกียรติ ฟุ้งเกียรติ 7/1 รามคำแหง ซอย 35 หัวหมาก บางกะปิ กทม 10240 โทร 097-140-5555, 02-718-9331

Excel@ExcelExpertTraining.com

sfk234x234