วันอังคารที่ 2 กันยายน พ.ศ. 2557

สูตร excel ห้ามแสดงเมนูลัดต่างๆ

สูตร excel ห้ามแสดงเมนูลัดต่างๆ (Disable Popup Menu) สูตร excel ที่ว่าคือวิธีการใช้ vba ยกเลิกการแสดงเมนูย่อยเมื่อเราคลิกขวาครับ ... เรา... thumbnail 1 summary
สูตร excel ห้ามแสดงเมนูลัดต่างๆ
(Disable Popup Menu)

สูตร excel ที่ว่าคือวิธีการใช้ vba ยกเลิกการแสดงเมนูย่อยเมื่อเราคลิกขวาครับ ... เราไม่ได้ใช้ฟังก์ชั่นของ Eexcel แต่อย่างใดหรอกน่ะแต่ว่าเราจะใช้การเขียนโปรแกรมเข้าถึง class commandbar เพื่อเข้าไปจัดการกับ popup menu นั่นเอง

เราเคยกล่าวเรื่องการสร้าง Popup Menu ไปแล้ว คราวนี้เราจะมาป้องกันหรือห้ามไม่ให้แสดง Popup Menu กันบ้างโดยการเขียนแมโครด้วย vba

เมนูลัด คือ เมนูที่แสดงขึ้นเมื่อผู้ใช้คลิกเมาส์ขวาที่แถบเครื่องมือ ที่เซลล์ ที่หัวแถว หรือที่คอลัมน์นั่นเอง โดยเราจะเขียนแมโคร (marco) ทั้งสองส่วนนั่นคือในส่วน enable popup menu (สั่งให้แสดง popup menu) และ disable popup menu (สั่งห้ามไม่ให้แสดง popup menu) โดยเราจะเขียนโค้ด (source code) ภายใต้ Event (เหตุการณ์) Workbook_BeforeClose ครับ ซึ่งรายละเอียดของโปรแกรมมีดังนี้

Dim mycbmbar As CommandBar

Sub Disable Popup Menu()

For Each mycmbbar In Application.CommandBars

if mycmbbar.Type=msBarTypePopup Then

mycmbbar.Enabled=False

End if

Next

Application.CommandBars(“Toolbar List”).Enbled=False

End sub

‘ซ่อนเมนู popup (Enable popup menu)

Sub EnablePopupMenu()

With Application

.DisplayAlerts=False

.ScreenUpdating=False

End With

For Each mycmbbar In Application.CommandBars

if mycmbbars.Type=msoBarTypePopup Then

mycmbbar.Enabled=True

End If

Next

Application.CommandBars(“Toolbar List”).Enabled=True

ThisWorkbook.Save

With Application

.DisplayAlerts=True

.ScreenUpdating=True

End With

End Sub

เสร็จสิ้นแล้วครับ ลองเอาไปใช้ดูน่ะครับ