Font s :
Background :

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

ทุกคนที่ต้องแบ่งกันใช้เครื่องคอมพิวเตอร์เครื่องเดียวกันทำงาน มักพบปัญหาว่า เมื่อเปิดโปรแกรม 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. สั่ง Tools > Options > Calculation > กาช่อง Manual
  2. สั่ง Tools > Options > View > ตัดกาช่อง Gridlines เื่พื่อตัดเส้นตาราง
  3. สั่ง Tools > Options > View > ตัดกาช่อง Row & column headers เพื่อตัดหัวตารางที่บอกว่าเป็น row และ column ใด
  4. สั่ง Tools > Options > View > ตัดกาช่อง Horizontal scroll bar เพื่อตัดแถบเคลื่อนจอด้านล่างที่เลื่อนเพื่อขยับพื้นที่ตามแนวนอน
  5. สั่ง Tools > Options > View > ตัดกาช่อง Vertical scroll bar เพื่อตัดแถบเคลื่อนจอด้านขวามือที่เลื่อนเพื่อขยับพื้นที่ตามแนวตั้ง
  6. สั่ง Tools > Options > View > ตัดกาช่อง Sheet tabs เพื่อตัดแถบชื่อชีท
  7. สั่ง View > Full Screen เพื่อตัดเมนูทิ้ง ขยายพื้นที่แสดงตาราง

 

ชุดคำสั่งที่เกิดขึ้น (บรรทัดที่มี Comment *** ตัดทิ้งได้)

Sub Auto_Open()
'
' Auto_Open Macro
' Macro recorded 4/11/2006 by Somkiat Foongkiat
'
' Keyboard Shortcut: Ctrl+q
'
    With Application
       .Calculation = xlManual
       .MaxChange = 0.001 '***
    End With
    ActiveWorkbook.PrecisionAsDisplayed = False '***
    With ActiveWindow
       .DisplayGridlines = False
       .DisplayHeadings = False
       .DisplayHorizontalScrollBar = False
       .DisplayVerticalScrollBar = False
       .DisplayWorkbookTabs = False
    End With
    Application.DisplayFullScreen = True
End Sub

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

autoopenscreen

 

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

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

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

  1. สั่ง Tools > Options > Calculation > กาช่อง Automatic
  2. สั่ง Tools > Options > View > กาช่อง Gridlines
  3. สั่ง Tools > Options > View > กาช่อง Row & column headers
  4. สั่ง Tools > Options > View > กาช่อง Horizontal scroll bar
  5. สั่ง Tools > Options > View > กาช่อง Vertical scroll bar
  6. สั่ง Tools > Options > View > กาช่อง Sheet tabs
  7. สั่ง View > Full Screen เพื่อแสดงเมนูตามเดิม

 

ชุดคำสั่งที่เกิดขึ้น (บรรทัดที่มี Comment *** ตัดทิ้งได้)

Sub Auto_Close()
'
' Auto_Close Macro
' Macro recorded 4/11/2006 by Somkiat Foongkiat
'
' Keyboard Shortcut: Ctrl+w
'
    With Application
       .Calculation = xlAutomatic
       .MaxChange = 0.001 '***
    End With
    ActiveWorkbook.PrecisionAsDisplayed = False '***
    With ActiveWindow
       .DisplayGridlines = True
       .DisplayHeadings = True
       .DisplayHorizontalScrollBar = True
       .DisplayVerticalScrollBar = True
       .DisplayWorkbookTabs = True
    End With
    Application.DisplayFullScreen = False
End Sub

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

autoCloseScreen

 

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

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

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

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

 

 

Categories

About this Entry

Font s :
Background :