Page 1 of 3

เมนูบาร์

Posted: Mon Sep 12, 2011 1:45 pm
by yodpao.b
ต้องการทำเมนูใช้เองแต่อยากได้เหมื่อนเมนูบาร์ทำอย่างไรครับ อาจารย์ช่วยทำตัวอย่างสักเมนูนะครับ

Re: เมนูบาร์

Posted: Mon Sep 12, 2011 4:13 pm
by snasui
:D การสร้างเมนูเองสามารถคลิกเมนู Tools > Customize เลือก Macros > เลือก Custom menu item ด้านขวา > คลิก Modify selection > กำหนดค่าตามต้องการ

Re: เมนูบาร์

Posted: Tue Sep 13, 2011 1:14 pm
by yodpao.b
ผมอาจสื่อความหมายผิด ที่ต้องการคืออยากสร้างเป็นเมนูเอง โดยทำลักษณะเหมือเมนูบาร์ของexcel
ที่วงไว้คือส่วนหนึ่งของเมนู แต่มันไม่สวยเหมือนด้านบน

Re: เมนูบาร์

Posted: Tue Sep 13, 2011 4:14 pm
by snasui
:lol: เมนูต้องสร้างด้วย Object ที่เป็นเมนูของโปรแกรมครับ จะสร้างเองหรือใช้ VBA สร้างก็ได้ จะสร้างให้เป็น ComboBox ตามตัวอย่างที่ให้มานั้นเป็นเรื่องยาก หากจะทำได้ต้องสร้าง Class ขึ้นมาเองครับ

Re: เมนูบาร์

Posted: Wed Sep 14, 2011 11:15 am
by yodpao.b
ขอตัวอย่างได้ไหมครับ

Re: เมนูบาร์

Posted: Wed Sep 14, 2011 11:28 am
by snasui
:D ไม่มีตัวอย่างครับและไม่เคยเห็นใครทำเช่นนั้นด้วยครับ :mrgreen:

Re: เมนูบาร์

Posted: Wed Sep 14, 2011 8:29 pm
by snasui
:D ตัวอย่างด้านล่างเป็นการสร้าง Custom เมนูแบบ ComboBox

หลังจากนำ Code ไปวางแล้ว ลอง Run Sub ComboToolbar จากนั้นเลือก แต่ละ Item ในเมนูที่สร้างขึ้นมาแล้วสังเกตดูผลครับ

Code: Select all

Sub ComboToolbar()
Set myBar = CommandBars _
    .Add(Name:="Custom", Position:=msoBarTop, _
    Temporary:=True)
myBar.Visible = True
Set newCombo = myBar.Controls _
    .Add(Type:=msoControlComboBox)
With newCombo
    .AddItem "Q1"
    .AddItem "Q2"
    .AddItem "Q3"
    .AddItem "Q4"
    .Style = msoComboNormal
    .OnAction = "ScrollToQuarter"
End With
End Sub

Sub ScrollToQuarter()
Dim userChoice As Long
userChoice = CommandBars("Custom").Controls(1).ListIndex
    Select Case userChoice
        Case 1
            MsgBox "Q1 is selected"
        Case 2
            MsgBox "Q2 is selected"
        Case 3
            MsgBox "Q3 is selected"
        Case 4
            MsgBox "Q4 is selected"
    End Select
End Sub

Re: เมนูบาร์

Posted: Thu Sep 15, 2011 9:17 am
by yodpao.b
อันนี้ไว้ก่อนนะครับจารย์ ผมมีตัวอย่างไว้จะให้อาจารย์ดูครับ ไฟล์มันใหญ่กำลังหาทางตัดออก

Re: เมนูบาร์

Posted: Thu Sep 15, 2011 10:45 am
by yodpao.b
อันที่อาจารย์ให้น่าจะคล้ายกันกับตัวอย่างที่ผมแนบมา อาจารย์ช่วยดูอีกที่ครับ อยากได้แบบนี้มากครับ
แนบรูปมาให้ด้วยครับ

Re: เมนูบาร์

Posted: Thu Sep 15, 2011 11:33 am
by snasui
:D ดูตัวอย่างการสร้างเมนูใช้เองตามภาพด้านล่างครับ

Re: เมนูบาร์

Posted: Thu Sep 15, 2011 12:00 pm
by yodpao.b
ขอบพระคุณมากครับ ที่นี้ก็ได้เมนูสวยสวยไว้แล้ว

Re: เมนูบาร์

Posted: Fri Sep 30, 2011 11:14 am
by yodpao.b
เมนูที่อาจาร์ยสอน ในกรณีที่ผมนำไฟล์ไปใช้กับเครื่องอื่น เมนูมันไม่ตามไปครับ และเมนูนี้จะอยู่ที่เครื่องเดิม
คำถาม ทำอย่างไรให้เมนูตามไปไม่ให้ค้างไว้เครือ่งเดิม

Re: เมนูบาร์

Posted: Fri Sep 30, 2011 3:22 pm
by snasui
:D จากภาพด้านบน :aru: คลิกปุ่ม Attach... ที่อยู่ด้านล่างปุ่ม Reset จะสามารถกำหนดให้แนบเครื่องมือไปกับไฟล์ได้ครับ

Re: เมนูบาร์

Posted: Wed Oct 05, 2011 12:18 pm
by yodpao.b
ได้แล้วครับอาจารย์ แต่ตั้งสั่งรัน Sub ComboToolbar ใน ThisWorkBook ใช่ไหมครับ

Re: เมนูบาร์

Posted: Wed Oct 05, 2011 12:53 pm
by snasui
:D อันนี้ก็แล้วแต่ว่า Code อยู่ที่ไหนครับ ถ้าเมนูกับไฟล์ไปด้วยกันก็ควรจะเป็นเช่นนั้นครับ :mrgreen:

Re: เมนูบาร์

Posted: Wed Oct 05, 2011 2:35 pm
by yodpao.b
อาจาร์ยครับเอาใหม่ผมงง
หลักการสร้างเมนูขึ้นใช้งานในไฟล์แต่เมื่อเอาไฟล์ไปใช้เครื่องไหนเมนูก็จะตามไปใช้งานร่วมกับไฟล์นั้นด้วย ทำอย่างไร
จากตัวอย่างที่ส่งให้อาจาร์ย ผมยังไม่ได้ลองนำไปใช้กับเครื่องอื่น แต่เห็นปัญหาที่เกิดขึ้นใหม่คือ เมื่อเปิดไฟล์Excelอื่นเมนูที่สร้างขึ้นนั้นยังขึ้นค้างอยู่
มันควรจะไม่แสดงให้เห็น

Re: เมนูบาร์

Posted: Wed Oct 05, 2011 4:55 pm
by snasui
yodpao.b wrote:อาจาร์ยครับเอาใหม่ผมงงหลักการสร้างเมนูขึ้นใช้งานในไฟล์แต่เมื่อเอาไฟล์ไปใช้เครื่องไหนเมนูก็จะตามไปใช้งานร่วมกับไฟล์นั้นด้วย ทำอย่างไร แต่เห็นปัญหาที่เกิดขึ้นใหม่คือ เมื่อเปิดไฟล์Excelอื่นเมนูที่สร้างขึ้นนั้นยังขึ้นค้างอยู่มันควรจะไม่แสดงให้เห็น
การทำเช่นนั้นต้องพึ่ง VBA ในการสร้างเมนู เมื่อเปิดไฟล์จะแสดงเมนูมาให้ เมื่อปิดก็ลบเมนูทิ้งไปครับ หากต้องการเช่นนั้นก็เขียนมาก่อนครับ ติดตรงไหนก็มาช่วยกันดูต่อครับ :mrgreen:

Re: เมนูบาร์

Posted: Thu Oct 06, 2011 9:27 am
by yodpao.b
เข้าใจแล้วครับ
เนื่องจากผมตั้งไปปฎิบัติงานต่างจังหวัด 4 วัน
ก่อนไปผมขอเรียนปรึกษาอาจารย์ว่าอาจารย์สามารถให้คำปรึกษาเกียวกับ MsAccess ได้ไหมครับ
เพราะมีนักศึกษาฟึกงานเขียนไว้ให้แต่ยังไม่สมบูรณ์ เข้าใจว่าน่าจะยังไม่มีการ คิวรี และทำ Report
ขอบคุณครับ

Re: เมนูบาร์

Posted: Thu Oct 06, 2011 11:47 am
by snasui
:D ถ้าเป็นเมื่อสักเกือบสิบปีที่แล้วก็พอได้ครับ ตอนนี้ผมใช้งาน Access น้อยมาก การตอบคำถามอาจจะต้องกลับไปทบทวนกันอีกเยอะ เกรงจะเสียเวลารอคอยนานครับ :mrgreen:

Re: เมนูบาร์

Posted: Tue Oct 11, 2011 3:07 pm
by yodpao.b
อยากให้เมนูที่วงกลมหายไปครับ ลองทำเองโดยใช้คำสั่ง

Code: Select all

Application.CommandBars("Worksheet Menu Bar").Visible = False
แต่ Eeror ครับ
ช่วยแก้ให้ด้วยครับ
Untitled1.gif