ในงานอุตสาหกรรมบางอย่าง ที่ต้องใช้คอมพิวเตอร์เป็นตัวประมวลผล เพื่อให้เครื่องจักรทำงานตามวันเวลาที่ได้ตั้งเอาไว้ หรือ เพื่อการเก็บข้อมูลของการเกิด Error เอาไว้ และอื่นๆอีก จำเป็นต้องมีการบันทึกเหตุการณ์ต่างๆเอาไว้ทำการตรวจสอบความผิดพลาด พอดีลูกศิษย์ท่านนึง ได้เข้ามาสอบถามว่าโปรแกรมที่โรงงานเขาทำอยู่มีโปรแกรมใช้งานที่เขียนมาจาก VB อยากจะให้บอกวิธีทำ Logging เอาไว้ให้หน่อย ผมก็เลยลองมาก๊อกๆแก๊กๆดู เพราะตัวผมเองจะถนัดมากกว่า เมื่อเขียน VB หนักไปทางด้านฐานข้อมูลน่ะครับ.
อันดับแรกต้องเลือกปุ่ม CommandButton จาก Toolbox มา 1 ตัว และ ในงานชิ้นนี้ผมเลือกเอา Control อีกตัวก็คือ RichTextBox มาเพื่อทำการแสดงผลด้วย คุณสามารถเลือกได้จาก Project --> Components --> Microsoft Rich TextBox Control ดังรูปครับผม

เพราะ Code ของเราต้องอ้างถึง Script ด้วย จากนั้นต้องเลือก Project --> Reference --> Microsoft Scripting Runtime มิฉะนั้น Error แน่ครับท่าน
Option Explicit
Private Sub Command1_Click()
Dim MyFSO As New FileSystemObject, MyTextFile
Dim txtStream As TextStream
' เคลียร์ Rich TextBox Control ก่อน
RichTextBox1.Text = ""
'
If Dir(App.Path & "\Log.Txt") = "" Then ' กรณีที่ค้นหาไม่เจอ จะทำการสร้างไฟล์ชื่อ Log.txt ขึ้นมาใหม่
Set MyTextFile = MyFSO.CreateTextFile(App.Path & "\Log.txt", False) MyTextFile.Write ("ไฟล์นี้ถูกสร้างเมื่อ ") & Now & vbCrLf MyTextFile.Close
MsgBox "ไม่พบไฟล์ที่คุณต้องการ...." Else
Set MyTextFile = MyFSO.GetFile(App.Path & "\Log.Txt") Set txtStream = MyTextFile.OpenAsTextStream(ForAppending) ' เมื่อเจอไฟล์ที่ต้องการก็ทำการบันทึกข้อมูลลงไปต่อท้ายไฟล์เลย
txtStream.WriteLine (Now) txtStream.Close End If
' ' นำไปแสดงผลออกที่ RichTextBox1
RichTextBox1.LoadFile MyTextFile
End Sub
จากนั้นทำการ Run โปรแกรมด้วยการกด F5....แล้วกดปุ่ม Command1
ลองเอาไปประยุกต์ใช้งานดูน่ะครับ
|