Visual Basic for Applications:
สร้างไฟล์ชั่วคราว

วิธีทำ:

ใน VBA การสร้างไฟล์ชั่วคราวสามารถทำได้ด้วยการใช้ FileSystemObject ที่พร้อมใช้ในไลบรารีของ Microsoft Scripting Runtime อ็อบเจกต์นี้ให้วิธีการต่าง ๆ ในการสร้าง อ่าน เขียน และลบไฟล์และโฟลเดอร์ นี่คือคู่มือในการสร้างไฟล์ชั่วคราว ขั้นตอนตามลำดับ:

  1. เปิดใช้งาน Microsoft Scripting Runtime: ขั้นแรก ตรวจสอบให้แน่ใจว่ามีการเปิดใช้งานอ้างอิง Microsoft Scripting Runtime ในสภาพแวดล้อม VBA ของคุณ ไปที่ Tools > References ในตัวแก้ไข VBA และเลือก “Microsoft Scripting Runtime”

  2. การสร้างไฟล์ชั่วคราว: โค้ด 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
  1. ผลลัพธ์ตัวอย่าง: เมื่อคุณรันโค้ดข้างต้น มันจะสร้างไฟล์ชั่วคราวที่ชื่อ 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 แต่การสำรวจทางเลือกอื่นสำหรับงานที่ใหญ่ขึ้นหรือมีความสำคัญต่อความปลอดภัยคือทางที่ควรพิจารณา