เพื่อมุ่งให้เกิดคุณภาพจากการอบรมสูงสุด Excel Expert Training ให้การอบรม Excel กลุ่มเล็กๆ ไม่เกิน 6 คนทุกคนสามารถเรียนรู้ Excel อย่างใกล้ชิด จะมาคนเดียวหรือมาเป็นกลุ่มแล้วนัดวันอบรมแบบส่วนตัวก็ได้ ผู้เข้าอบรมทุกคนสามารถติดตามเนื้อหาที่อบรมได้อย่างชัดเจนจากจอภาพด้านหน้าของตัวเอง
Page 1 of 7 123 ... LastLast
Results 1 to 10 of 65

Thread: ให้VBAหาภาพในfoldersและใส่ภาพในไฟล์excelอัตโนมัติ

  1. #1
    widtara
    Guest

    Question ให้VBAหาภาพในfoldersและใส่ภาพในไฟล์excelอัตโนมัติ

    ให้VBAหาภาพในfoldersและใส่ภาพในไฟล์excelอัตโนมัติ
    ต่อจากให้ VBA แยกชีทค่ะ
    ปัจจุบันใช้ code
    Sub Macro1()
    Dim i As Integer
    For i = 1 To ThisWorkbook.Worksheets.Count
    ThisWorkbook.Worksheets(i).Copy
    'ActiveSheet.Name = Workbooks("sheet.xlsm").Sheets(i).Range("O4").Value
    ActiveWorkbook.SaveAs Filename:=ThisWorkbook.Path & "\" & Range("O4").Value & Range("j13").Value & ".xls", FileFormat:=xlExcel8, CreateBackup:=False
    ActiveWorkbook.Close True
    Next i
    End Sub

    เพื่อแยกชีท แต่ในไฟล์ excel อยากให้ใส่ภาพให้กับ cel ไปพร้อมกับการแยกชีทได้ไหมค่ะโดยมีเส้นทางดังนี้
    1. ไดร์ที่จัดเก็บภาพ R:\SQA DEDUCT PAYMENT Y11
    มี 3 folders หลักคือ
    1.R:\SQA DEDUCT PAYMENT Y11\EVENT PICTURES DRYER
    2.R:\SQA DEDUCT PAYMENT Y11\EVENT PICTURES FRONT LOAD
    3.R:\SQA DEDUCT PAYMENT Y11\EVENT PICTURES TOP LOAD
    2.ภาพใน 3 folders ก็จะประกอบด้วย folders ย่อยชื่อ wk01 ถึง wk52 (เป็นสัปดาห์ใน 1 ปีค่ะ)
    3.ใน folders ย่อยชื่อ wk01 ถึง wk52 ประกอบด้วย Folders ชื่อ RJI และ RJL
    4.ใน folders ชื่อ RJI และ RJL ประกอบไปด้วย Folders ที่มีเลข 5 ถึง 6 หลัก (เป็นหมายเลขเอกสารค่ะ)
    5.หมายเลขเอกสารที่เป็นชื่อ Folders จะไม่ซ้ำกันของ Folders ที่มีทั้งหมด ใน3 folders หลักคือ
    1.R:\SQA DEDUCT PAYMENT Y11\EVENT PICTURES DRYER
    2.R:\SQA DEDUCT PAYMENT Y11\EVENT PICTURES FRONT LOAD
    3.R:\SQA DEDUCT PAYMENT Y11\EVENT PICTURES TOP LOAD
    6.ภายใต้ Folders ที่มีเลข 5 ถึง 6 หลัก (เป็นหมายเลขเอกสารค่ะ) นั้นจะมี 3 ภาพ และมี 2 ภาพกำหนดให้ชื่อ 1 และ 2

    สิ่งที่ต้องการคือ
    1.ต้องการดึงภาพ 1 ไปใส่ cel ชื่อ pic1
    2.ต้องการดึงภาพ 2 ไปใส่ cel ชื่อ pic2
    3.โดยมีเงื่อนไขว่า ต้องเช็ครหัสเอกสารก่อนใน cel J29 ของทุก sheet ทั้งหมดภายใน worksbook

    ไฟล์แนบ
    1.มีภาพ Foldersประกอบ เหลือ 2 ภาพ แนบไม่ได้ค่ะ
    2.มีไฟล์ .xlsm ประกอบ ชื่อ AddPic เหลือ 1 ไฟล์ตัวอย่าง แนบไม่ได้ค่ะ

    ถามว่าจะต้องเพิ่ม code ต่อจาก code ที่มีอย่างไรบ้างค่ะ

  2. #2
    excel_fever
    Guest

    อ่านคำอธิบายมาก ๆ แล้วปวดหัวครับ

    คิดว่าน่าจะเพิ่มเติมดังนี้ครับ
    1. ชีตที่ให้แทรกนั้นต้องมีเซลล์ที่กรอกชื่อและที่เก็บไฟล์ภาพ
    2. ภาพที่จะแทรก ควรจะผ่านการตกแต่งเรียบร้อยแล้ว (คือแทรกมาแล้วไม่ต้องมาย่อ/ขยาย หรือทำอะไรอีก) ทุกภาพ
    3. สำหรับคนอื่นผมไม่รู้ แต่สำหรับผมนั้นการเก็บภาพเป็นโฟลเดอร์ย่อย ๆ ๆ ๆ ๆ หลายชั้นจะทำให้เขียนรหัสยาก
    4. เวลาทำเอกสารทำไมไม่แทรกภาพไปเลยล่ะครับ แค่ภาพเดียวเอง

    VBA ใส่ภาพน่ะไม่ยากหรอกครับ ผมว่ายากที่การหา

  3. #3
    widtara
    Guest

    Exclamation จำนวนไฟล์เยอะที่ต้องใส่ภาพ

    Quote Originally Posted by excel_fever View Post
    คิดว่าน่าจะเพิ่มเติมดังนี้ครับ
    1. ชีตที่ให้แทรกนั้นต้องมีเซลล์ที่กรอกชื่อและที่เก็บไฟล์ภาพ
    2. ภาพที่จะแทรก ควรจะผ่านการตกแต่งเรียบร้อยแล้ว (คือแทรกมาแล้วไม่ต้องมาย่อ/ขยาย หรือทำอะไรอีก) ทุกภาพ
    3. สำหรับคนอื่นผมไม่รู้ แต่สำหรับผมนั้นการเก็บภาพเป็นโฟลเดอร์ย่อย ๆ ๆ ๆ ๆ หลายชั้นจะทำให้เขียนรหัสยาก
    4. เวลาทำเอกสารทำไมไม่แทรกภาพไปเลยล่ะครับ แค่ภาพเดียวเอง

    VBA ใส่ภาพน่ะไม่ยากหรอกครับ ผมว่ายากที่การหา
    เหตุผลคือ
    1.ไฟล์ที่แยกมีชื่อ เอกสาร MA เป็นเลขที่ไม่ซ้ำ
    2.ไฟล์ที่แยกมาต่อ 1 อาทิตย์ มีมากกว่า 200 ไฟล์ แต่ละไฟล์จะต้องมานั่งเพิ่มภาพเข้าไป
    ประมาณ 2 ภาพต่อไฟล์
    3.ภาพที่ใส่ถ้า บีบภาพให้เล็กมากจะมีผลทำให้มองภาพไม่ชัด เพราะเป็นการบอกปัญหาคุณภาพ ต่อผู้ไม่เข้าใจ คือ supplier ค่ะ
    4.การวาง folder เป็นการวางภาพโดยทีมหนึ่ง ลักษณะการวางเป็นการวางแบบซ้ำๆปัจจุบันไม่ได้เปลี่ยนชื่อไฟล์เอาตามที่รันจากกล้องเลย แต่มีเลข ma ที่สามารถระบุได้หากทำการดึงภาพเพราะไม่ซ้ำค่ะ

    ช่วยหาหนทางหน่อยนะค่ะ เพราะหากทำได้จะลดเวลาการทำงานลงไปมากเลยค่ะ:yesnod:

  4. #4
    orange_soi9
    Guest
    ส้มคิดไว้แล้วเชียวว่างานของเจ้าของกระทู้ ยังไม่จบแค่กระทู้นั้นแน่ๆ :smile:

  5. #5
    widtara
    Guest

    Talking ถูกต้องแล้วค่ะ

    Quote Originally Posted by orange_soi9 View Post
    ส้มคิดไว้แล้วเชียวว่างานของเจ้าของกระทู้ ยังไม่จบแค่กระทู้นั้นแน่ๆ :smile:
    เอาทีละท่อนดีกว่า ถ้ารวมครั้งเดียว กลัวสมอง(ตัวเอง) จะรับไม่ทัน ค่ะ :yesnod:

  6. #6
    excel_fever
    Guest
    คำถามเรื่อง VBA ผู้ใช้ต้องสามารถประยุกต์รหัสเองได้บ้าง
    ผมขอแนะนำดังนี้ครับ
    ก่อนคำสั่ง Thisworkbook.Close True ให้ใส่ขั้นตอนต่อไปนี้ลงไป
    สั่งให้ VBA เขียนสูตร ค้นหาที่เก็บภาพและชื่อภาพแล้วเอามาเชื่อมต่อกัน
    โฟลเดอร์1&\&โฟลเดอร์2&\&โฟลเดอร์3&\&โฟลเดอร์....&\&ชื่อภาพ.นามสกุล
    โดย
    โฟลเดอร์1=ค่าจากเซลล์ใหน
    โฟลเดอร์2=ค่าจากเซลล์ใหน
    โฟลเดอร์3=ค่าจากเซลล์ใหน
    .
    .
    .
    ชื่อภาพ=ค่าจากเซลล์ใหน.นามสกุลอะไร

    แล้วจึงจะสามารถแทรกได้ครับ

  7. #7
    widtara
    Guest

    ทำตามที่บอกแล้วค่ะ

    Quote Originally Posted by excel_fever View Post
    ผมขอแนะนำดังนี้ครับ
    ก่อนคำสั่ง Thisworkbook.Close True ให้ใส่ขั้นตอนต่อไปนี้ลงไป
    สั่งให้ VBA เขียนสูตร ค้นหาที่เก็บภาพและชื่อภาพแล้วเอามาเชื่อมต่อกัน
    โฟลเดอร์1&\&โฟลเดอร์2&\&โฟลเดอร์3&\&โฟลเดอร์....&\&ชื่อภาพ.นามสกุล
    โดย
    โฟลเดอร์1=ค่าจากเซลล์ใหน
    โฟลเดอร์2=ค่าจากเซลล์ใหน
    โฟลเดอร์3=ค่าจากเซลล์ใหน
    .
    .
    .
    ชื่อภาพ=ค่าจากเซลล์ใหน.นามสกุลอะไร

    แล้วจึงจะสามารถแทรกได้ครับ
    ช่วยตรวจสอบไฟล์ดูให้หน่อยค่ะ
    ดึงภาพ
    1 EVENT PICTURES TOP LOAD=D115
    2 wk04=D116
    3 sub=D117
    4 RJ IT=D118
    5 82521=D119
    6 1.JPG=D120
    7 2.JPG=D121

  8. #8
    orange_soi9
    Guest
    ทำไมมี Folder sub เพิ่มเข้ามาอีกคะ?

  9. #9
    excel_fever
    Guest
    ลองเอาไปทดสอบดูครับ

  10. #10
    widtara
    Guest

    ลองทำแล้วค่ะ

    Quote Originally Posted by excel_fever View Post
    ลองเอาไปทดสอบดูครับ
    ต้องขอโทษด้วยค่ะ คือไม่มี Folder sub ค่ะตาลายไปหน่อย
    และลองรันสูตรแล้วค่ะ ติด Error ค่ะ
    แนบไฟล์มาให้ใหม่ค่ะ

Tags for this Thread

Posting Permissions

  • You may not post new threads
  • You may not post replies
  • You may not post attachments
  • You may not edit your posts
  •