Page 1 of 1

ช่วยอธิบาย Code คำสั่ง ให้หน่อยครับ

Posted: Mon Jul 09, 2012 2:37 pm
by yoguzaa
รบกวนอาจารย์ครับ พอดีไปหาวิธีการใช้งานใน Help ใน VBA Excel มาครับ
อาจารย์อธิบาย คำสั่งเหล่านี้ให้ฟังหน่อยครับ
เป็นการใส่รูปลงใน commandbutton ใช่รึเปล่าครับ

Code: Select all

Sub ChangeButtonImage()
    Dim picPicture As IPictureDisp
    Dim picMask As IPictureDisp

    Set picPicture = stdole.StdFunctions.LoadPicture( _
        "c:\images\picture.bmp")
    Set picMask = stdole.StdFunctions.LoadPicture( _
        "c:\images\mask.bmp")

    'Reference the first button on the first command bar
    'using a With...End With block.
    With Application.CommandBars.FindControl(msoControlButton)
        'Change the button image.
        .Picture = picPicture

        'Use the second image to define the area of the
        'button that should be transparent.
        .Mask = picMask
    End With
End Sub 

และ

Code: Select all

Sub GetButtonImageAndMask()
    Dim picPicture As IPictureDisp
    Dim picMask As IPictureDisp

    With Application.CommandBars.FindControl(msoControlButton)
        'Get the button image and mask of this CommandBarButton object.
        Set picPicture = .Picture
        Set picMask = .Mask
    End With

    'Save the button image and mask in a folder.
    stdole.SavePicture picPicture, "c:\image.bmp"
    stdole.SavePicture picMask, "c:\mask.bmp"
End Sub
ผมก็อปปี้มาทั้งโค้ดเลยครับ รบกวนอาจารย์หน่อยนะครับ

Re: ช่วยอธิบาย Code คำสั่ง ให้หน่อยครับ

Posted: Mon Jul 09, 2012 4:57 pm
by snasui
:D มี Link ให้ดูไหมครับ หรือจับภาพ Help มาให้ดูด้วยก็ดีครับ 8-)

Re: ช่วยอธิบาย Code คำสั่ง ให้หน่อยครับ

Posted: Mon Jul 09, 2012 5:16 pm
by yoguzaa
ไฟล์ภาพ จับภาพจากHelp ครับ

Re: ช่วยอธิบาย Code คำสั่ง ให้หน่อยครับ

Posted: Mon Jul 09, 2012 6:35 pm
by snasui
:D เป็นการกำหนดภาพให้กับ CommandButton ถูกแล้วครับ ซึ่งต้องกำหนดภาพให้กับ 2 Properties คือ .Picture กับ .Mark ซึ่งปกติต้องกำหนดภาพให้กับ .Picture ก่อนแล้วค่อยกำหนดภาพให้ .Mark โดย .Mark จะเป็นตัวกำหนดว่าส่วนไหนของ CommandButton ที่เป็นภาพนั้นมีความโปร่งใส

Code แรกเป็นการนำภาพที่เก็บไว้แล้วมากำหนดให้กับ CommandButton ส่วน Code ที่สองเป็นการ Save ภาพกลับไปเก็บไว้ในเครื่องตาม Path ที่กำหนด

แต่ละ Code ทำงานอย่างไรอ่านจาก Comment ใน Code ได้เลยครับ

Re: ช่วยอธิบาย Code คำสั่ง ให้หน่อยครับ

Posted: Mon Jul 09, 2012 7:09 pm
by yoguzaa
ที่ถามนี่ จะนำไปเป็นแนวทางที่จะเอาไปประยุกต์ใช้ในงานของตัวเองครับ
ถ้าสมมติว่าผมเปลี่ยนตัวคอนโทรลเป็น image ซึ่งบรรจุมันอยู่ใน userform แทน commandbutton
จะได้รึเปล่าครับ
แล้วตัดproperty mask ออกไป
เพื่อจะให้คอนโทรลนั้นแสดงรูปออกมาเมื่อใช้คำสั่ง
คล้ายๆกับใส่รูปในคอมเม้นท์นั่นแหละครับ
เพียงแต่ไม่อยากให้ผู้ใช้งานไปยุ่งเกี่ยวกับแผ่นงาน
ซึ่งจะซ่อนเอาไว้ครับ
ถ้าเปลี่ยนตัวobjectได้ จะลองเขียนโค้ดมาให้อาจารย์ดูครับ
พิมพ์ซะยาวอยากทราบว่า
ผมเปลี่ยนตัวคอนโทรลเป็น image ซึ่งบรรจุมันอยู่ใน userform แทน commandbutton
จะได้รึเปล่าครับ

Re: ช่วยอธิบาย Code คำสั่ง ให้หน่อยครับ

Posted: Mon Jul 09, 2012 7:19 pm
by snasui
:D คำว่า Control จะเป็น CommandButton หรือ Image หรือ TextBox หรือ Label หรือ ฯลฯ มันก็เป็น Control ทั้งนั้นครับ การเปลี่ยนเป็น Image ก็คือเปลี่ยน Properties ของมันเพื่อให้เห็นด้วยตาหรือมีสภาพเป็นอย่างนั้นอย่างนี้ หากยังมีสภาพเป็น Control และสนองตอบต่อ Event เช่นการ Click การเปลี่ยนค่า การ Load การลากเมาส์ผ่าน ฯลฯ ก็ย่อมจะใช้ได้เสมอหากต้องการประมวลผลหรือใช้งานใด ๆ จาก Event ที่เกิดขึ้นนั้นต่อไปครับ

Re: ช่วยอธิบาย Code คำสั่ง ให้หน่อยครับ

Posted: Mon Jul 09, 2012 8:09 pm
by yoguzaa
ขอบคุณครับท่านอาจารย์
จะลองเขียนโค้ดคำสั่งดูนะครับ
หากติดปัญหา หรือ สำเร็จ ประการใด
จะสอบถาม และ นำเสนอ ผลงาน ให้อาจารย์ชมครับ