Lesson 17: Working with Files


17.1 Introduction

Up until lesson 13 we are only creating programs that can accept data at runtime, when the program is terminated, the data also disappear. Is it possible to save data accepted by a VB program into a storage device, such as a hard disk,a pen drive or CDRW? The answer is possible. In this chapter, we will learn how to create files by writing them into a storage device and then retrieve the data by reading  the contents of the files using a customized VB program.

17.2 Creating files


To create a file , we use  the following command

Open "fileName" For Output  As #fileNumber

Each file created must have a file name and a file number for identification. As for the file name, you must also specify the path where the file will reside.


Open "c:\My Documents\sample.txt" For Output As #1

will create a text file by the name of sample.txt in My Document folder. The accompany file number is 1. If you wish to create and save the file in A drive, simply change the path, as follows"

Open "A:\sample.txt" For Output As #1

If you wish to  create a HTML file , simply change the extension to .html

Open "c:\My Documents\sample.html" For Output As # 2


17.2.1 Sample Program : Creating a text file

Private Sub create_Click()

Dim intMsg As String
Dim StudentName As String

Open "c:\My Documents\sample.txt" For Output As #1
intMsg = MsgBox("File sample.txt opened")
StudentName = InputBox("Enter the student Name")
Print #1, StudentName
intMsg = MsgBox("Writing a" & StudentName & " to sample.txt ")

Close #1

intMsg = MsgBox("File sample.txt closed")

End Sub

* The above program will create a file sample.txt in the My Documents' folder and ready to receive input from users. Any data input by users will be saved in this text file.

17.3 Reading a file

To read a file created in section 17.2,  you can use the input # statement. However, we can only read the file according to the format when it was written. You have to open the file according to its file number and the variable that hold the data. We also need to declare the variable using the DIM command.

17.3.1 Sample Program: Reading file

Private Sub Reading_Click()
Dim variable1 As String
Open "c:\My Documents\sample.txt" For Input As #1
Input #1, variable1
Text1.Text = variable1
Close #1

End Sub

* This program will open the sample.txt file and display its contents in the Text1 textbox.


Example 17.3.2 Creating and Reading files using Common Dialog Box

This example uses the common dialog box to create and read the text file, which is
much easier than the previous examples as many operations are handled by the
common dialog box. The following is the program:

Dim linetext As String
Private Sub open_Click()
CommonDialog1.Filter = "Text files{*.txt)|*.txt"

If CommonDialog1.FileName <> "" Then
Open CommonDialog1.FileName For Input As #1
Input #1, linetext
Text1.Text = Text1.Text & linetext
Loop Until EOF(1)
End If
Close #1
End Sub
Private Sub save_Click()
CommonDialog1.Filter = "Text files{*.txt)|*.txt"
If CommonDialog1.FileName <> "" Then
Open CommonDialog1.FileName For Output As #1
Print #1, Text1.Text
Close #1
End If
End Sub


The syntax CommonDialog1.Filter = "Text files{*.txt)|*.txt" ensures that only the textfile is read or saved .The statement CommonDialog1.ShowOpen is to display the open file dialog box and the statement CommonDialog1.ShowSave is to display thesave file dialog box. Text1.Text = Text1.Text & linetext is to read the data and display them in the Text1 textbox

The Output window is shown below:




Bookmark and Share

<Previous Lesson>  <<Home>> < Next Lesson>