Visual Basic for Applications:
สร้างไฟล์ชั่วคราว
วิธีทำ:
ใน VBA การสร้างไฟล์ชั่วคราวสามารถทำได้ด้วยการใช้ FileSystemObject
ที่พร้อมใช้ในไลบรารีของ Microsoft Scripting Runtime อ็อบเจกต์นี้ให้วิธีการต่าง ๆ ในการสร้าง อ่าน เขียน และลบไฟล์และโฟลเดอร์ นี่คือคู่มือในการสร้างไฟล์ชั่วคราว ขั้นตอนตามลำดับ:
เปิดใช้งาน Microsoft Scripting Runtime: ขั้นแรก ตรวจสอบให้แน่ใจว่ามีการเปิดใช้งานอ้างอิง Microsoft Scripting Runtime ในสภาพแวดล้อม VBA ของคุณ ไปที่ Tools > References ในตัวแก้ไข VBA และเลือก “Microsoft Scripting Runtime”
การสร้างไฟล์ชั่วคราว: โค้ด VBA ต่อไปนี้แสดงวิธีการสร้างไฟล์ชั่วคราวในโฟลเดอร์ชั่วคราวเริ่มต้น
Sub CreateTemporaryFile()
Dim fso As Object
Dim tmpFile As Object
' สร้าง FileSystemObject
Set fso = CreateObject("Scripting.FileSystemObject")
' รับเส้นทางของโฟลเดอร์ชั่วคราว
Dim tempFolder As String
tempFolder = fso.GetSpecialFolder(2) ' 2 หมายถึงโฟลเดอร์ชั่วคราว
' สร้างไฟล์ชั่วคราวและรับการอ้างอิงถึงมัน
Set tmpFile = fso.CreateTextFile(tempFolder & "\myTempFile.txt", True)
' เขียนบางอย่างลงไปในไฟล์
tmpFile.WriteLine "This is a test."
' ปิดไฟล์
tmpFile.Close
' เลือกเสร็จสิ้น, พิมพ์เส้นทางเพื่ออ้างอิง
Debug.Print "Temporary file created at: " & tempFolder & "\myTempFile.txt"
End Sub
- ผลลัพธ์ตัวอย่าง: เมื่อคุณรันโค้ดข้างต้น มันจะสร้างไฟล์ชั่วคราวที่ชื่อ
myTempFile.txt
ในโฟลเดอร์ชั่วคราวและเขียนบรรทัดข้อความลงไปในมัน หากคุณเปิด Immediate Window (Ctrl + G
ในตัวแก้ไข VBA) คุณจะเห็น:
Temporary file created at: C:\Users\[YourUsername]\AppData\Local\Temp\myTempFile.txt
ศึกษาลึก
วิธีการที่แสดงใช้ FileSystemObject
(FSO) ซึ่งเป็นส่วนหนึ่งของ Microsoft Scripting Runtime FSO เป็นเครื่องมือที่มีประสิทธิภาพสำหรับการจัดการระบบไฟล์ ที่ได้รับการแนะนำมาตั้งแต่ Visual Basic Scripting Edition แม้จะเป็นระบบเดิมแต่ยังคงได้รับความนิยมใน VBA เนื่องจากความเรียบง่ายและความหลากหลายของการใช้งาน
การสร้างไฟล์ชั่วคราวมีบทบาทสำคัญในหลายๆ งานโปรแกรมหรือสคริปต์ ให้พื้นที่ทดสอบหรือพื้นที่ทำงานสำหรับกระบวนการที่ไม่ต้องการคลังเก็บข้อมูลถาวร อย่างไรก็ตาม ผู้พัฒนาควรจัดการไฟล์เหล่านี้อย่างระมัดระวัง โดยมั่นใจว่าถูกลบหรือนำออกเมื่อไม่มีความจำเป็นอีกต่อไป หลีกเลี่ยงข้อมูลรั่วไหลโดยไม่ตั้งใจหรือการใช้พื้นที่ดิสก์โดยไม่จำเป็น
แม้ VBA จะมีวิธีการที่ใช้กับไฟล์และโฟลเดอร์โดยเฉพาะ แต่ FileSystemObject
มอบวิธีการที่เน้นการเข้าถึงในรูปแบบวัตถุ ซึ่งอาจจะคุ้นเคยมากขึ้นกับโปรแกรมเมอร์ที่มาจากภาษาอื่น อย่างไรก็ตาม เทคโนโลยีใหม่หรือภาษาใหม่อาจจะนำเสนอวิธีการที่เข้มแข็งหรือปลอดภัยมากกว่าในการจัดการไฟล์ชั่วคราว เช่น การใช้โครงสร้างข้อมูลในหน่วยความจำหรือไลบรารี่ไฟล์ชั่วคราวเฉพาะในสภาพแวดล้อมเช่น Python หรือ .NET ในกรณีเหล่านี้ แม้ว่า VBA อาจจะใช้งานได้ดีสำหรับงานเล็กๆ หรือการรวมกันในแอปพลิเคชัน Office แต่การสำรวจทางเลือกอื่นสำหรับงานที่ใหญ่ขึ้นหรือมีความสำคัญต่อความปลอดภัยคือทางที่ควรพิจารณา