วิธีย้ายไฟล์โดยใช้ 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

เพิ่มความคิดเห็น

อีเมลของคุณจะไม่แสดงให้คนอื่นเห็น ช่องข้อมูลจำเป็นถูกทำเครื่องหมาย *