:D snasui.com ยินดีต้อนรับ :D
ยินดีต้อนรับสู่กระดานถามตอบ Excel and VBA และอื่น ๆ ที่เป็นมิตรกับทุกท่าน มีไฟล์แนบมหาศาล ช่วยให้ท่านค้นหาและติดตามศึกษาได้โดยง่าย :thup: สมาชิกท่านใดที่ยังไม่ได้ระบุ Version ของ Excel ที่ใช้งานจริง สามารถทำตาม Link นี้เพื่อจะได้รับคำตอบที่ตรงกับ Version ของท่านครับ :arrow: ระบุ Version ของ Excel
:!: โปรดทราบ :!:
  1. กรุณาอ่านกฎการใช้บอร์ด (Forum rules) ในตำแหน่งด้านบนของแต่ละบอร์ด
  2. การสมัครสมาชิก การ Login การกู้คืนรหัสผ่าน
    1. สมัครสมาชิกดูขั้นตอนได้ที่ :arrow: สมัครสมาชิก
    2. Login เข้าระบบโดยคลิกปุ่ม Login ตรงมุมขวาบนของหน้านี้ :roll:
    3. การ Login ผ่าน Facebook ดูวิธีที่ :arrow: Login ผ่าน Facebook
    4. ลืมรหัสผ่านสามารถรับรหัสใหม่ได้ที่ :arrow: Reset รหัสผ่าน
  3. มีปัญหาการใช้งาน แจ้งผู้ดูแลระบบได้ที่ :arrow: ติดต่อผู้ดูแลระบบ
  4. กำหนดการตั้งค่าส่วนตัว เช่นตั้งค่าภาษาเป็นไทยหรืออังกฤษดูได้ที่ :arrow: ตั้งค่าส่วนตัว
  5. การตั้งและตอบกระทู้ดูได้ที่ :arrow: วิธีการตั้งและตอบกระทู้
  6. การจัดรูปแบบตัวอักษรด้วย bbcode ในช่องแสดงความคิดเห็นดูได้ที่ :arrow: จัดรูปแบบตัวอักษร
  7. กำหนดขนาดตัวอักษรใน Browser ดูได้ที่ :arrow: กำหนดขนาดตัวอักษรใน Browser

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

ฟอรัมถาม-ตอบปัญหาการใช้งาน Macro และ VBA
Forum rules
  1. ไม่อนุญาตให้ใช้ภาษาแชทในการถามและตอบปัญหา ไม่ใช้คำว่า "คับ" หรือ "อ่ะครับ" แทนคำว่า "ครับ" ไม่ใช้คำว่า "เด๋ว" แทนคำว่า "เดี๋ยว" เป็นต้น เนื่องจากเมื่อแปลเป็นภาษาต่างประเทศแล้วจะให้ความหมายผิดไปจากที่ควรจะเป็น
  2. ห้ามถามโดยระบุชื่อผู้ตอบและต้องตั้งชื่อกระทู้ให้สื่อถึงปัญหาที่จะถาม ไม่ตั้งชื่อว่า ช่วยด้วยครับ, มีปัญหามาปรึกษาครับ เป็นต้น
  3. กรุณาอธิบายปัญหาและระบุคำตอบที่ต้องการมาในกระทู้ด้วยเสมอถึงแม้จะอธิบายไว้ในไฟล์แนบแล้วก็ตาม ทั้งนี้เพื่ออำนวยความสะดวกแก่เพื่อนสมาชิกในการค้นหาข้อมูล
  4. กรุณาแนบไฟล์ตัวอย่างพร้อมแสดงคำตอบที่ถูกต้องมาในไฟล์ด้วยเพื่อให้ง่ายต่อการทำความเข้าใจและสะดวกต่อการตอบคำถาม (ขนาดไฟล์ไม่เกิน 500Kb ขนาดภาพไม่เกิน 800*600 Pixel) ไม่แนบเป็น Link มาจากแหล่งอื่นที่อาจจะถูกลบทิ้งไปโดยต้นทางในภายหลัง นอกจากนี้ไม่ควรแนบไฟล์ที่มีข้อมูลสำคัญอันก่อให้เกิดความเสียหายกับตนเองและผู้อื่น
  5. กรณีเป็นคำถามเกี่ยวกับ Programming เช่น VBA, VB.Net, C#, SQL ฯลฯ ต้องลองเขียนมาเองก่อนเสมอ ถามเฉพาะที่ติดปัญหา ระบุ Module, Procedure ที่ติดปัญหาให้ชัดเจน กรุณาโพสต์ Code ให้แสดงเป็น Code คือเปิดด้วย [code] และปิดด้วย [/code] ตัวอย่างเช่น [code]dim r as range[/code] เพื่อให้แตกต่างจากข้อความทั่วไป สะดวกในการอ่านและทดสอบ (คลิกเพื่อดูตัวอย่าง)
  6. กรุณาแจ้งผลการใช้งานเมื่อได้รับคำตอบว่าตรงกับความต้องการหรือไม่
User avatar
yoguzaa
Member
Member
Posts: 87
Joined: Mon Jan 09, 2012 4:48 pm

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

#1

Post 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
ผมก็อปปี้มาทั้งโค้ดเลยครับ รบกวนอาจารย์หน่อยนะครับ
ใช้คำว่า"ไม่รู้"เพื่อที่จะได้"รู้"
ไม่ใช่ใช้เพื่อ"ปฏิเสธความรับผิดชอบ"
User avatar
snasui
Site Admin
Site Admin
Posts: 31253
Joined: Sun Jan 24, 2010 12:33 pm
Location: Songkhla, Thailand
Excel Ver: 2010, 2019
Contact:

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

#2

Post by snasui »

:D มี Link ให้ดูไหมครับ หรือจับภาพ Help มาให้ดูด้วยก็ดีครับ 8-)
User avatar
yoguzaa
Member
Member
Posts: 87
Joined: Mon Jan 09, 2012 4:48 pm

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

#3

Post by yoguzaa »

ไฟล์ภาพ จับภาพจากHelp ครับ
Attachments
VBA_Excel_Help1.png
VBA_Excel_Help1.png (120.54 KiB) Viewed 157 times
VBA_Excel_Help2.png
VBA_Excel_Help2.png (118.42 KiB) Viewed 157 times
ใช้คำว่า"ไม่รู้"เพื่อที่จะได้"รู้"
ไม่ใช่ใช้เพื่อ"ปฏิเสธความรับผิดชอบ"
User avatar
snasui
Site Admin
Site Admin
Posts: 31253
Joined: Sun Jan 24, 2010 12:33 pm
Location: Songkhla, Thailand
Excel Ver: 2010, 2019
Contact:

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

#4

Post by snasui »

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

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

แต่ละ Code ทำงานอย่างไรอ่านจาก Comment ใน Code ได้เลยครับ
User avatar
yoguzaa
Member
Member
Posts: 87
Joined: Mon Jan 09, 2012 4:48 pm

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

#5

Post by yoguzaa »

ที่ถามนี่ จะนำไปเป็นแนวทางที่จะเอาไปประยุกต์ใช้ในงานของตัวเองครับ
ถ้าสมมติว่าผมเปลี่ยนตัวคอนโทรลเป็น image ซึ่งบรรจุมันอยู่ใน userform แทน commandbutton
จะได้รึเปล่าครับ
แล้วตัดproperty mask ออกไป
เพื่อจะให้คอนโทรลนั้นแสดงรูปออกมาเมื่อใช้คำสั่ง
คล้ายๆกับใส่รูปในคอมเม้นท์นั่นแหละครับ
เพียงแต่ไม่อยากให้ผู้ใช้งานไปยุ่งเกี่ยวกับแผ่นงาน
ซึ่งจะซ่อนเอาไว้ครับ
ถ้าเปลี่ยนตัวobjectได้ จะลองเขียนโค้ดมาให้อาจารย์ดูครับ
พิมพ์ซะยาวอยากทราบว่า
ผมเปลี่ยนตัวคอนโทรลเป็น image ซึ่งบรรจุมันอยู่ใน userform แทน commandbutton
จะได้รึเปล่าครับ
ใช้คำว่า"ไม่รู้"เพื่อที่จะได้"รู้"
ไม่ใช่ใช้เพื่อ"ปฏิเสธความรับผิดชอบ"
User avatar
snasui
Site Admin
Site Admin
Posts: 31253
Joined: Sun Jan 24, 2010 12:33 pm
Location: Songkhla, Thailand
Excel Ver: 2010, 2019
Contact:

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

#6

Post by snasui »

:D คำว่า Control จะเป็น CommandButton หรือ Image หรือ TextBox หรือ Label หรือ ฯลฯ มันก็เป็น Control ทั้งนั้นครับ การเปลี่ยนเป็น Image ก็คือเปลี่ยน Properties ของมันเพื่อให้เห็นด้วยตาหรือมีสภาพเป็นอย่างนั้นอย่างนี้ หากยังมีสภาพเป็น Control และสนองตอบต่อ Event เช่นการ Click การเปลี่ยนค่า การ Load การลากเมาส์ผ่าน ฯลฯ ก็ย่อมจะใช้ได้เสมอหากต้องการประมวลผลหรือใช้งานใด ๆ จาก Event ที่เกิดขึ้นนั้นต่อไปครับ
User avatar
yoguzaa
Member
Member
Posts: 87
Joined: Mon Jan 09, 2012 4:48 pm

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

#7

Post by yoguzaa »

ขอบคุณครับท่านอาจารย์
จะลองเขียนโค้ดคำสั่งดูนะครับ
หากติดปัญหา หรือ สำเร็จ ประการใด
จะสอบถาม และ นำเสนอ ผลงาน ให้อาจารย์ชมครับ
ใช้คำว่า"ไม่รู้"เพื่อที่จะได้"รู้"
ไม่ใช่ใช้เพื่อ"ปฏิเสธความรับผิดชอบ"
Post Reply