ได้แล้วค่ะลองทดลองผิดถูกด้วยตัวเองดู
Quote:
Originally Posted by
neang
ผมแนะนำเกี่ยวกับเรื่องภาพ ว่าให้เราวาด image tool ก่อนแล้วก็สั่ง image โหลดภาพอีกที ขนาดภาพจะขึ้นอยู่กับ ขนาด tool ไม่ได้ขึ้นกับขนาดของfileภาพครับ ไม่รู้ว่าจะตรงกับความต้องการหรือเปล่านะครับ ปล ไม่ได้อ่านตั้งแต่ comment แรกนะครับ แต่คิดว่าน่าจะเป็นลักษณะดึงภาพมาแล้ววางตรงๆเลย
สรุปได้ไอเดียเรื่องการทำให้ภาพมีขนาดเท่ากัน
ตอนนี้แต่ละไฟล์มี ความต้องการดึงภาพ 1 และ 2 มา สังเกตุว่า ภาพที่ 1 กับ 2 ไม่เท่ากัน ทั้งที่ภาพจริงเท่ากันค่ะ
วิธีแก้ไขค่ะ
With ActiveSheet.Pictures.Insert(Selection.Value)
.Top = Range("f55:j86").Top
.Left = Range("f55:j86").Left
If .Height > .Width Then
.Height = Range("f55:j80").Height
Else
.Width = Range("f55:j80").Width
End If
End With
Range("l43").Select
Selection.FormulaR1C1 = "=R[71]C[-8]&""\""&R[72]C[-8]&""\""&R[73]C[-8]&""\""&R[74]C[-8]&""\""&R[75]C[-8]&""\""&R120C4"
With ActiveSheet.Pictures.Insert(Selection.Value)
.Top = Range("m55:s86").Top
.Left = Range("m55:s86").Left
If .Height > .Width Then
.Height = Range("m55:s86").Height
Else
.Width = Range("m55:s86").Width
End If
End With
หลังจากนั้นที่ไฟล์
.Top = Range("m55:s86").Top
.Left = Range("m55:s86").Left
.Height = Range("f55:j80").Height
.Width = Range("f55:j80").Width
รองรับภาพที่ 1
.Top = Range("m55:s86").Top
.Left = Range("m55:s86").Left
.Height = Range("m55:s86").Height
.Width = Range("m55:s86").Width
รองรับภาพที่ 2
ที่ไฟล์ excel แค่อ้อยปรับ ความกว้าง*ยาว ของ เซลล์ ในช่วง 2 ช่วงให้เท่ากัน ภาพก็เท่ากันแล้วค่ะ
ไม่ต้องสร้างอะไรเพิ่มเติมเลยค่ะ
ขอบคุณทีมงานทุกคนที่คอยให้กำลังใจและช่วยเหลือมาโดยตลอดค่ะ จะนำงานนี้ไปพัฒนาให้ดีกว่านี้แล้วจะกลับมารายงานค่ะ
สุดท้ายปัญหาก็ยังไม่สิ้นสุดค่ะ
เรื่องราวปัญหายุ่งๆของการเรื่อง ภาพก็ยังไม่จบมาดูปัญหาภาคต่อนะค่ะ
R:\SQA DEDUCT PAYMENT Y11\EVENT PICTURES TOP LOAD\wk26\RJ LT\105980
DSC00097.JPG
DSC00098.JPG
DSC00099.JPG
Thumbs.db
ภาพรวมของภาพใน Folders ค่ะ 105980 เป็นชื่อ ma ก่อนที่สูตรจะทำงาน อ้อยต้องทำการเปลี่ยนชื่อไฟล์ภาพ 2 ภาพ
DSC00098.JPG เปลี่ยนเป็น 1.JPG
DSC00099.JPG เปลี่ยนเป็น 2.JPG
ส่วนภาพแรกไม่ต้องการ และจะมีไฟล์ Thumbs.db ติดมาทุก Foldersค่ะ
ปัญหาคือ มี Folders แบบนี้ประมาณ 200 Folders ขึ้นไป และมี ภาพข้างใน 3 ภาพ ชื่อภาพได้จากกล้องเรียงจากน้อยไปมาก
ชื่อภาพน้อยสุดไม่เอา เริ่มเอาภาพ ถัดไป 2 ภาพ
ต้องมาเปลี่ยนชื่อภาพซึ่งไม่ไหวเยอะมาก เพื่อให้สูตรทำงานตามเงื่อนไข
อยากทราบว่าท่านใดมีวิธีแก้ไขปัญหาของโจทย์นี้ไหมค่ะ
1.ต้องการเอาภาพที่ 2 และ 3 ถัดจากภาพที่มีเลขท้ายน้อยที่สุด ส่วนใหญ่การถ่ายภาพของทีมงานจะเป็นแบบนี้
2.ชื่อภาพจะไม่เหมือนกัน เพราะได้จากกล้องเลยต้องกำหนดเป็นภาพที่ 2 และ 3 ที่มีเลขมากเป็นอันดับ 2 และ 3 ค่ะ
3.กำหนดให้ VBA เลือกมาใส่เองอัตโนมัติจากเงื่อนไขเบี้องต้นค่ะ
ใครช่วยได้ช่วยทีนะค่ะ จะเป็นพระคุณอย่างสูงค่ะ