Page 1 of 1
ย้าย file แบบมีเงื่อนไข
Posted: Mon Nov 14, 2022 3:27 pm
by predee16
ผมต้องการเพิ่ม code ย้าย file แบบมีเงื่อนไข คือตัวอักษร 3 ตัวท้าย แยกไปตาม folder ที่กำหนดไว้ 3 folder ตามตัวอย่างแนบครับ
Code: Select all
Sub FSOMoveFile()
Dim OldPath As String
Dim NewPath As String
Dim LoopFile As String
Dim FileExt() As String
OldPath = "D:\DataPayment\"
NewPath = "D:\RunPayment\MB\"
LoopFile = Dir(OldPath & "*.*")
Do While LoopFile <> ""
FileExt = Split(LoopFile, ".")
Select Case FileExt(UBound(FileExt))
Case "xlsx", "xls", "bmp"
Name OldPath & LoopFile As NewPath & LoopFile
End Select
LoopFile = Dir
Loop
End Sub
![Image]()
Re: ย้าย file แบบมีเงื่อนไข
Posted: Mon Nov 14, 2022 5:25 pm
by snasui

กรุณาอธิบายว่าสามตัวท้ายคืออะไรบ้าง ในภาพตัวเล็กไป อ่านลำบากครับ
นอกจากนี้ช่วยแนบไฟล์ที่มี Code ข้างต้นมาด้วย จะได้สะดวกต่อการตอบของเพื่อนสมาชิกครับ
Re: ย้าย file แบบมีเงื่อนไข
Posted: Mon Nov 14, 2022 6:02 pm
by predee16
เงื่อนไขคืออักษรท้าย 3 ตัวไม่เอา $
เช่นชื่อไฟล์
1092_G_VEN_18112022_kan$
= kan
ย้ายไปที่ folder TV
รายละเอียดตัวอย่างอยู่ใน file แนบ ครับ
Re: ย้าย file แบบมีเงื่อนไข
Posted: Mon Nov 14, 2022 7:57 pm
by snasui

ไฟล์แนบมีแต่ภาพ ไม่ได้แนบ Code มาด้วย กรุณาแนบไฟล์ที่มี Code มาอีกรอบครับ
Re: ย้าย file แบบมีเงื่อนไข
Posted: Tue Nov 15, 2022 11:10 am
by predee16
เรียน อาจารย์ ผมแนบไฟล์ที่แนบ code ไว้ (แต่ไม่แน่ใจว่า Code จะติดมากับ file หรือเปล่า) ผมจึงได้แนบ Code ไว้ที่ Sheet2 ครับ
Re: ย้าย file แบบมีเงื่อนไข
Posted: Tue Nov 15, 2022 12:57 pm
by snasui

เพื่อความสะดวกในการตอบปัญหาจำเป็นต้องแนบ Code มาในตำแหน่งที่พร้อมทดสอบได้ทันที
ไฟล์ล่าสุดไม่พบว่ามี Code อยู่ใน Module ใด ๆ
Module จะอยู่ใน VBE การเปิด VBE สามารถกดแป้น Alt+F11
การ Insert Module เข้าเมนู Insert > Module > เขียนหรือนำ Code มาวาง
ลองแนบไฟล์มาใหม่โดยต้องมี Code อยู่ใน VBE เรียบร้อยแล้ว กรุณาตรวจสอบว่ามี Code แล้วเรียบร้อยก่อนแนบมาครับ
ปกติผู้ที่จะใช้ Code VBA ได้จะต้องทราบสิ่งเหล่านี้เป็นเบื้องต้น ไม่เช่นนั้นยังไม่ควรใช้งาน VBA จะต้องศึกษามาเป็นลำดับก่อนครับ
Re: ย้าย file แบบมีเงื่อนไข
Posted: Tue Nov 15, 2022 5:04 pm
by predee16
แนบ file ตามที่แนะนำครับ
Re: ย้าย file แบบมีเงื่อนไข
Posted: Tue Nov 15, 2022 8:17 pm
by snasui

ตัวอย่างการปรับ Code ครับ
Code: Select all
Sub MoveFile()
Dim OldPath As String
Dim NewPath As String
Dim LoopFile As String
Dim FileExt As Variant
Dim d As String
OldPath = "D:\DataPayment\"
LoopFile = Dir(OldPath & "*.*")
Do While LoopFile <> ""
If InStr(LoopFile, "$") Then
FileExt = Split(LoopFile, "$")(0)
FileExt = Split(FileExt, "_")(UBound(Split(FileExt, "_")))
Select Case FileExt
Case "rap", "jar"
d = "ON"
Case "cha", "kan", "rat"
d = "TV"
Case "nar", "var"
d = "MB"
End Select
NewPath = "D:\RunPayment\" & d & "\"
Name OldPath & LoopFile As NewPath & LoopFile
End If
LoopFile = Dir
Loop
End Sub
Re: ย้าย file แบบมีเงื่อนไข
Posted: Wed Nov 16, 2022 9:49 am
by predee16
ขอบคุณอย่างสูงครับ