วิธีย้ายไฟล์โดยใช้ vba (พร้อมตัวอย่าง)
คุณสามารถใช้เมธอด MoveFile ใน VBA เพื่อย้ายไฟล์จากโฟลเดอร์หนึ่งไปยังอีกโฟลเดอร์หนึ่งได้
นี่เป็นวิธีทั่วไปในการใช้วิธีนี้ในทางปฏิบัติ:
Sub MoveMyFile()
Dim FSO As New FileSystemObject
Set FSO = CreateObject("Scripting.FileSystemObject")
'specify source file and destination file
SourceFile = "C:\Users\bob\Desktop\Some_Data_1\soccer_data.txt"
DestFile = "C:\Users\bob\Desktop\Some_Data_2\soccer_data.txt"
'move file
FSO.MoveFile Source:=SourceFile, Destination:=DestFile
End Sub
มาโครนี้จะย้ายไฟล์ชื่อ soccer_data.txt จากโฟลเดอร์ชื่อ Some_Data_1 ไปยังโฟลเดอร์ชื่อ Some_Data_2
ตัวอย่างต่อไปนี้แสดงวิธีใช้ไวยากรณ์นี้ในทางปฏิบัติ
ตัวอย่าง: วิธีย้ายไฟล์โดยใช้ VBA
สมมติว่าเรามีไฟล์ข้อความชื่อ soccer_data.txt อยู่ในโฟลเดอร์ชื่อ Some_Data_1 บนเดสก์ท็อปของเรา:
ตอนนี้ สมมติว่าเราต้องการใช้ VBA เพื่อย้ายไฟล์ข้อความนี้ไปยังโฟลเดอร์อื่นชื่อ Some_Data_2 บนเดสก์ท็อปของเรา ซึ่งปัจจุบันมีไฟล์ข้อความสองไฟล์:
ก่อนที่จะใช้ VBA เพื่อย้ายไฟล์นี้ เราต้องเปิดใช้งาน Microsoft Scripting Runtime ในตัวแก้ไข VB ก่อน
ในการดำเนินการนี้ ให้เปิดตัวแก้ไข VB จากนั้นคลิก Tools จากนั้นคลิก References :
ในหน้าต่างใหม่ที่ปรากฏขึ้น ให้เลื่อนลงจนกว่าคุณจะเห็น Microsoft Scripting Runtime และทำเครื่องหมายที่ช่องถัดจากนั้น จากนั้นคลิก ตกลง
จากนั้นเราสามารถสร้างแมโครต่อไปนี้เพื่อย้ายไฟล์:
Sub MoveMyFile()
Dim FSO As New FileSystemObject
Set FSO = CreateObject("Scripting.FileSystemObject")
'specify source file and destination file
SourceFile = "C:\Users\bob\Desktop\Some_Data_1\soccer_data.txt"
DestFile = "C:\Users\bob\Desktop\Some_Data_2\soccer_data.txt"
'move file
FSO.MoveFile Source:=SourceFile, Destination:=DestFile
End Sub
เมื่อแมโครนี้ถูกดำเนินการ ไฟล์ชื่อ soccer_data.txt จะถูกย้ายจากโฟลเดอร์ Some_Data_1 ไปยังโฟลเดอร์ Some_Data_2 :
โปรดทราบว่าหากคุณต้องการย้ายไฟล์ทั้งหมดจากโฟลเดอร์หนึ่งไปยังอีกโฟลเดอร์หนึ่ง คุณสามารถใช้ไวยากรณ์ต่อไปนี้:
Sub MoveMyFile()
Dim FSO As New FileSystemObject
Set FSO = CreateObject("Scripting.FileSystemObject")
'specify source and destination folders
SourceFile = "C:\Users\bob\Desktop\Some_Data_1\*"
DestFile = "C:\Users\bob\Desktop\Some_Data_2\"
'move all files from source folder to destination folder
FSO.MoveFile Source:=SourceFile, Destination:=DestFile
End Sub
มาโครนี้จะย้ายไฟล์ทั้งหมดจากโฟลเดอร์ Some_Data_1 ไปยังโฟลเดอร์ Some_Data_2
หมายเหตุ : คุณสามารถดูเอกสารฉบับเต็มสำหรับวิธี MoveFile ได้ที่นี่
แหล่งข้อมูลเพิ่มเติม
บทช่วยสอนต่อไปนี้จะอธิบายวิธีการทำงานทั่วไปอื่นๆ ใน VBA:
วิธีสร้างโฟลเดอร์โดยใช้ VBA
วิธีลบโฟลเดอร์โดยใช้ VBA
วิธีลบไฟล์โดยใช้ VBA