Lesson1:Introduction: 1.1 A Brief Description of Visual Basic
Lesson1:Introduction: 1.1 A Brief Description of Visual Basic
Lesson1:Introduction: 1.1 A Brief Description of Visual Basic
Lesson1 :Introduction
1.1 A brief description of Visual Basic
VISUAL BASIC is a high level programming language evolved from the earlier DOS version called BASIC.
BASIC means Beginners' Allpurpose Symbolic Instruction Code. It is a fairly easy programming language to
learn. The codes look a bit like English Language. Different software companies produced different version of
BASIC, such as Microsoft QBASIC, QUICKBASIC, GWBASIC ,IBM BASICA and so on.
VISUAL BASIC is a VISUAL and events driven Programming Language.These are the main divergence from
the old BASIC. In BASIC, programming is done in a text-only environment and the prgram is executed
sequentially. In VISUAL BASIC, programming is done in a graphical environment. Because users may click on
a certain object randomly, so each object has to be programmed indepently to be able to response to those
actions(events).Therefore, a VISUAL BASIC Program is made up of many subprograms, each has its own
program codes, and each can be excecuted indepently and at the same time each can be linked together in one
way or another.
On start up, Visual Basic 6.0 will display the following dialog box as shown in figure 1.1.
You can choose to start a new project, open an existing project or select a list of recently opened programs. A
project is a collection of files that make up your application. There are various types of applications we could
create, however, we shall concentrate on creating Standard EXE programs(EXE means executable program).
Now, click on the Standard EXE icon to go into the actual VB programming environment.
● The Blank Form window which you can design your application's interface.
● The Project window displays the files that are created in your application.
● The Properties window which displays the properties of various controls and objects that are created in
your applications.
It also includes a Toolbox that consists of all the controls essential for developing a VB Application. Controls are
tools such as boxes, buttons, labels and other objects draw on a form to get input or display output. They also
add visual appeal.
In this section, we are not going into the technical aspect of VB programming, just have a feel of it. Now,
you can try out the examples below:
Example 2.1.1 is a simple program . First of all, you have to launch Microsoft Visual Basic. Normally, a
default form Form1 will be available for you to start your new project. Now, double click on form1, the
source code window for form1 will appear. Don't worry about the begining and the end statements(i.e
Private Sub Form_Load.......End Sub.); Just key in the lines in between the above two statements
exactly as are shown here.When you run the program, you will be surprise that nothing shown up.In
order to display the output of the program, you have to add the Form1.show statement like in Example
21.2 and Example 2.1.3. Try them out.
Example 2.1
This program is a simple program that calculate the volume of a cylinder. Let design the interface:
First of all, go to the properties window and change the form caption to Volume Of Cylinder. Then draw
three label boxes and change their captions to Base Radius, height andvolume respectively. After that,
draw three Text Boxes and clear its text contents so that you get three empty boxes. Named the text
boxes asradius ,hght(we cannot use height as it is the built-in control name of VB)and volume
respectively. Lastly, insert a command button and change its caption toO.K. and its name to OK. Now
save the project as cylinder.vbp and the form as cylinder.vbp as well. We shall leave out the codes at the
moment which you shall learn it in lesson3.
Example 2.2
Designing an attractive and user friendly interface should be the first step in constructing a VB program.
To illustrate, let's look at the calculator program.
>
Now, please follow the following steps to design the calculator interface.
● Resize the form until you get the size you are satisfed with.
● Go to the properties window and change the default caption to the caption you want , such as 32
Calculator-----Designed by Vkliew.
● Change other properties of the form, such as background color, foreground color , border style.I
recommend you set the following properties for Form1 for this calculator program:
These properties will ensure that the users cannot resize or maximize your calculator
window, but able to minimize the window.
● Draw the Display Panel by clicking on the Label button and and place your mouse on the form.
Start drawing by pressing down your mouse button and drag it along.
● Click on the panel and the corresponding properties window will appear. Clear the default label so
that the caption is blank(because the display panel is supposed to show the number as we click on
the number button). It is good to set the background color to a bright color while the foreground
color should be something like black..(for easy viewing). Change the name to display as I am
going to use it later to write codes for the calculator.
● Now draw the command buttons that are necessary to operate a calculator. I suggest you follow
exactly what is shown in the image above.
● Test run the project by pressing F5. If you are satisfied with the appearance, go ahead to save the
project. At the same time, you should also save the file that contain your form.
Now, I know you are very keen to know how to write the code so that the calculator is working.
Please refer to my sample VB programs for the source codes.
Now, doubleclick on the O.K button and enter the codes between Private Sub OK_Click( ) and End Sub
when you run the program , you should be able to see the interface as shown above. if you enter a value
each in the radius box and the height box, then click OK, the value of of the Volume will be displayed in
the volume box.
I shall attempt to explain the above source program to newcomers in Visual Basic( If you are a veteran,
you can skip this part) . Let me describe the steps using pseudocodes as follows:
The syntax radius.Text consists of two parts, radius is the name of text box while Text is the textual
contents of the text box. Generally, the syntax is: Object.Property
In our example, the objects are radius, hght and volume, each having text as their property.Object and
property is separated by a period(or dot).The contents of a text box can only be displayed in textual form,
or in programming term,as string. To convert the contents of a text box to a numeric value so that
mathematical operations can be performed , you have to use the function Val. Finally, In order to display
the results in a text box, we have to perform the reverse procedure, that is, to convert the numeric value
back to the textual form, using the function Str$.
I shall also explain the syntax that defines the sub procedure Private Sub OK_click. Private Sub here
means that the parameters , values and formulas that are used here belong only to the OK
subprocedure(an object by itself).They cannot be used by other sub procedures or modules. OK_Click
defines what kind of action the subprocedure OK will response .Here, the action is mouse click. There
are other kind of actions like keypress, keyup, keydown and etc that I am going to due with in other
lessons.
● You should set the Caption Property of a control clearly so that a user know what to do with
that command. For example, in the calculator program, all the captions of the command buttons
such as +, - , MC ,MR are commonly found in an ordinary calculator, a user should have no
problem in manipulating the buttons.
● You should set a meaningful name for the Name Property because it is easier for you to write
and read the event procedure and easier to debug your program later.
● Another property that is important is whether you want your control to be visible or not at start
up.This property can only set to be true or false.
● One more important property is whether the control is enabled or not.
There are many types of data we come across in our daily life. For example, we need to handle data such
as names, adresses, money, date, stock quotes, statistics and etc everyday. Similarly In Visual Basic, we
are also going to deal with these kinds of data. However, to be more systematic, VB divides data into
different types.
Numeric data are data that consists of numbers, which can be computed mathematically with various
standard operators such as add, minus, multiply, divide and so on. In Visual Basic, the numeric data are
divided into 7 types, they are summarised in Table 6.1
Type Storage
Range of Values
Byte 1 byte
0 to 255
Integer 2 bytes
-32,768 to 32,767
Long 4 bytes
-2,147,483,648 to 2,147,483,648
-3.402823E+38 to -1.401298E-45 for negative values
Single 4 bytes
1.401298E-45 to 3.402823E+38 for positive values.
-1.79769313486232e+308 to -4.94065645841247E-324 for negative values
Double 8 bytes
4.94065645841247E-324 to 1.79769313486232e+308 for positive values.
Currency 8 bytes -922,337,203,685,477.5808 to 922,337,203,685,477.5807
+/- 79,228,162,514,264,337,593,543,950,335 if no decimal is use
Decimal 12 bytes
+/- 7.9228162514264337593543950335 (28 decimal places).
Literals are values that you assign to a data. In some cases, we need to add a suffix behind a literal so that
VB can handle the calculation more accurately. For example, we can use num=1.3089# for a Double type
data. Some of the suffixes are displayed in Table 5.3.
Table 5.3
In additon, we need to enclose string literals within two quotations and date and time literals within two #
sign. Strings can contain any characters, including numbers. The following are few examples:
memberName="Turban, John."
TelNumber="1800-900-888-777"
LastDay=#31-Dec-00#
ExpTime=#12:00 am#
Variables are like mail boxes in the post office. The contents of the variables changes every now and
then, just like the mail boxes. In term of VB, variables are areas allocated by the computer memory to
hold data. Like the mail boxes, each variable must be given a name. To name a variable in Visual Basic,
The following are the rules when naming the variables in Visual Basic
Examples of valid and invalid variable names are displayed in Table 5.4
Table 5.4
In Visual Basic, one needs to declare the variables before using them by assigning names and data types.
They are normally declared in the genaral section of the codes' windows using the Dim statement.
The format is as follows:
Example 5.1
You may also combine them in one line , separating each variable with a comma, as follows:
If data type is not specified, VB will automatically declares the variable as a Variant.
For string declaration, there are two possible format, one for the variable-length string and another for
the fixed-length string. For the variable-length string, just use the same format as example 5.1 above.
However, for the fixed-length string, you have to use the format as shown below:
Dim VariableName as String * n, where n definex the number of characters the string can hold.
Example 5.2:
After declaring various variables using the Dim statements, we can assign values to those variables.
The general format of an assignment is
Variable=Expression
The variable can be a declared variable or a control property value. The expression could be a
mathematical expression, a number, a string, a boolean value(true or false) and etc. The following are
some examples:
firstNumber=100
secondNumber=firstNumber-99
userName="John Lyan"
userpass.Text = password
Label1.Visible = True
Command1.Visible = false
Label4.Caption = textbox1.Text
ThirdNumber = Val(usernum1.Text)
total = firstNumber + secondNumber+ThirdNumber
In order to compute inputs from users and to generate results, we need to use various mathematical
operators. In Visual Basic, except for + and -, the symbols for the operators are different from normal
mathematical operators,as shown in Table 6.1.
Table 6.1
Modulus(return the
Mod remainder from an integer 15 Mod 4=3
division)
Integer Division(discards
\ 19\4=4
the decimal places)
"Visual"&"Basic"="Visual
+ or & String concatenation
Basic"
Example 6.1:
firstName=Text1.Text
secondName=Text2.Text
yourName=firstName+secondName
number1=val(Text3.Text)
number2=val(Text4.Text)
number3=num1*(num2^3)
number4=number3 Mod 2
number5=number4\number1
Total=number1+number2+number3+number4+number5
Average=Total/5
In lesson, we will see how do we use operators in writing the VB programs codes.
To control the VB program flow, we can use various conditional operators. Basically, they resemble
mathematical operators. Conditional operators are very powerful tools, they let the VB program compare
data values and then decide what action to take, whether to execute a program or terminate the program
and etc. These operators are shown in Table 7.1.
Operator Meaning
= Equal to
> More than
< Less Than
>= More than and equal
<= Less than and equal
<> Not Equal to
* You can also compare strings with the above operators. However, there are certain rules to follows:
Upper case letters are less than lowercase letters, "A"<"B"<"C"<"D".......<"Z" and number are less than
letters.
In addition to conditional operators, there are a few logical operators which offer added power to the VB
programs. There are shown in Table 7.2.
Table 7.2
Operator Meaning
And Both sides must be true
or One side or other must be true
Xor One side or other must be true but not both
Not Negates truth
To effectively control the VB program flow, we shall use If...Then...Else statement together with the
conditonal operators and logical operators.
The general format for the if...then...else statement is
If conditions Then
VB expressions
Else
VB expressions
End If
* any If..Then..Else statement must end with End If. Sometime it is not necessary to use Else.
Example:
firstnum = Val(usernum1.Text)
secondnum = Val(usernum2.Text)
total = Val(sum.Text)
If total = firstnum + secondnum And Val(sum.Text) <> 0 Then
correct.Visible = True
wrong.Visible = False
Else
correct.Visible = False
wrong.Visible = True
End If
End Sub
For more example on If...Then...Else, Click on the [Sample1] and[sample2] program here.
If you have a lot of conditional statements, using If..Then..Else could be very messy. For multiple
conditional statements, it is better to use Select Case
The format is :
Case value1
Block of one or more VB statements
Case value2
Block of one or more VB Statements
Case value3
Block of one or more VB statements
Case value4
.
.
.
Case Else
Block of one or more VB Statements
End Select
* The data type specified in expression must match that of Case values.
8.2 Examples
Example 8.1
grade=txtgrade.Text
Case "A"
result.Caption="High Distinction"
Case "A-"
result.Caption="Distinction"
Case "B"
result.Caption="Credit"
Case "C"
result.Caption="Pass"
Case Else
result.Caption="Fail"
End Select
*Please note that grade is a string, so all the case values such as "A" are of String data type.
Example 8.2
mark = mrk.Text
Case Is >= 85
comment.Caption = "Excellence"
Case Is >= 70
comment.Caption = "Good"
Case Is >= 60
Case Is >= 50
comment.Caption = "Average"
Case Else
End Select
End Sub
* Note we use the keyword Is here to impose the conditions. This is generally used for numeric data.
Example 8.3
mark = mrk.Text
Case 0 to 49
Case 50 to 59
comment.Caption = "Average"
Case 60 to 69
Case 70 to 84
comment.Caption = "Good"
Case Else
comment.Caption = "Excellence"
End Select
End Sub
Lesson 9: Looping
Visual Basic allows a procedure to be repeated as many times as long as the processor could support.
This is generally called looping .
9.1 Do Loop
a) Do While condition
Loop
b) Do
Block of one or more VB statements
Loop While condition
c) Do Until condition
Block of one or more VB statements
Loop
d) Do
Block of one or more VB statements
Example 9.1
num.Text=counter
counter =counter+1
Loop
Do
num.Text=counter
counter=counter+1
Next
Example:
display.Text=counter
Next
counter=counter+1
Next
counter=counter-10
Next
functionName(arguments)
In this lesson, we are going to learn two very basic but useful internal functions, i.e. the MsgBox( ) and
InputBox ( ) functions.
The objective of MsgBox is to produce a pop-up message box and prompt the user to click on a
command button before he /she can continues. This message box format is as follows:
The first argument, Prompt, will display the message in the message box. The Style Value will
determine what type of command buttons appear on the message box, please refer Table 10.1 for types of
command button displayed. The Title argument will display the title of the message board.
We can use named constant in place of integers for the second argument to make the programs more
readable. Infact, VB6 will automatically shows up a list of names constant where you can select one of
them.
yourMsg is a variable that holds values that are returned by the MsgBox ( ) function. The values are
determined by the type of buttons being clicked by the users. It has to be declared as Integer data type in
the procedure or in the general declaration section. Table 10.2 shows the values, the corresponding
named constant and buttons.
Example 10.1
i. The Interface:
You draw three command buttons and a label as shown in Figure 10.1
Figure 10.1
End Sub
When a user click on the test button, the image like the one shown in Figure 10.2 will appear. As the user
click on the OK button, the message "Testing sucessful" will be diplayed and when he/she clicks on the
Cancel button, the message "Testing fail" will be displayed.
Figure 10.2
To make the message box looks more sophisticated, you can add an icon besides the message. The are
four types of icons available in VB as shown in Table 10.3
Table 10.3
16 vbCritical
32 vbQuestion
48 vbExclamation
64 vbInformation
Example 10.2
Figure 10.3
You could draw the same Interface as in example 10.1 but modify the codes as follows:
End Sub
An InputBox( ) function will display a message box where the user can enter a value or a message in the
form of text. The format is
myMessage is a variant data type but typically it is declared as string, which accept the message input bu
the users.The arguments are explained as follows:
Example 10.3
i. The Interface
Figure 10.4
End Sub
When a user click the OK button, the input box as shown in Figure 10.5 will appear. After user entering
the message and click OK, the message will be displayed on the caption, if he click Cancel, "No
or
* Public indicates that the function is applicable to the whole program and
Private indicates that the function is only applicable to a certain module or procedure.
Example 11.1
In this example, a user can calculate future value of a certain amount of money he has today based on the
interest rate and the number of years from now(supposing he will invest this amount of money
somewhere). The calculation is based on the compound interest rate.
End Function
Example 11.2
The following program will automatically compute examination grades based on the marks that a student
obtained.
Case Is >= 80
grade = "A"
Case Is >= 70
grade = "B"
Case Is >= 60
grade = "C"
Case Is >= 50
grade = "D"
Case Is >= 40
grade = "E"
Case Else
grade = "F"
End Select
End Function
grading.Caption = grade(mark)
End Sub
End Sub
You can create your own functions to supplement the built-in functions in Microsoft Excel spreadsheet which
are quite limited. These functions could be very useful and powerful if you know how to program them properly.
One main reason we need to create user defined functions is to enable us to customize our spreadsheet
environment for individual needs. For example, we might need a function that could calculate commissions
payment based on the sales volume, which is quite difficult if not impossible by using the built-in function alone.
Lets look at the table below:
In the above table, if a saleman attain a sale volume of $6000, he will be paid $6000x12%=$720.00. A visual
basic function to calculate the commissions could be written as
follows:
Function Comm(Sales_V As Variant) as Variant
If Sales_V <500 Then
Comm=Sales_V*0.03
Elseif Sales_V>=500 and Sales_V<1000 Then
Comm=Sales_V*0.06
Elseif Sales_V>=1000 and Sales_V<2000 Then
Comm=Sales_V*0.09
Elseif Sales_V>=200 and Sales_V<5000 Then
Comm=Sales_V*0.12
Elseif Sales_V>=5000 Then
Comm=Sales_V*0.15
End If
End Function
To create User Defined functions in MS Excel, you can click on tools, select macro and then click on Visual
Basic Editor as shown in Figure 12.1
Upon clicking the Visual Basic Editor, the VB Editor windows will appear as shown in figure 12.2. To create a
function, type in the function as illustrated in section 12.1 above After typing, save the
In the Excel windows, type in the titles Sales Volume and Commissions in any two cells. By refering to figure
12.3, key-in the Comm function at cell C4 and by referencing the value in cell B4, using the format Comm(B4).
Any value appear in cell B4 will pass the value to the Comm function in cell C4. For the rest of the rows, just
copy the formula by draging the bottom right corner of cell C4 to the required cells, and a nice and neat table
that show the commisions will automatically appear. It can also be updated anytime
By definition, an array is a list of variables, all with the same data type and name. When we work with a
single item, we only need to use one variable. However, if we have a list of items which are of similar
type to deal with, we need to declare an array of variables instead of using a variable for each item. For
example, if we need to enter one hundred names, instead of declaring one hundred different variables, we
need to declare only one array. We differentiate each item in the array by using subscript, the index value
of each item, for example name(1), name(2),name(3) .......etc.
We could use Public or Dim statement to declare an array just as the way we declare a single variable.
The Public statement declares an array that can be used throughout an application while the Dim
statement declare an array that could be used only in a local procedure.
Example 13.1
will declare an array that consists of 10 elements if the statement Option Base 1 appear in the declaration
area, starting from CusName(1) to CusName(10). Otherwise, there will be 11 elements in the array
starting from CusName(0) through to CusName(10)
Example 13.2
declares an array that consists of the first element starting from Count(100) and ends at Count(500)
(i)
The Interface
The codes
Next
End Sub
End Sub
The above program accepts data entry through an input box and displays the entries in the form itself. As
you can see, this program will only allows a user to enter 10 names each time he click on the start button.
(ii)
The Interface
The Codes
End Sub
The above program accepts data entries through an InputBox and displays the items in a list box.
Up until lesson 13 we are only creating programs that could accept data at runtime, when a 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 hardisk or diskette, or even CDRW? The answer is possible. Is
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 customized VB programs.
Each file created must have a file name and a file number for identification. As for file name, you must
also specify the path where the file will reside.
For example
will create a text file by the name of sample.txt in the 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"
If you wish to create a HTML file , simple change the extension to .html
Close #1
* 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.
To read a file created in section 14.2, you can use the input # statemment. 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.
End Sub
* This program will open the sample.txt file and display its contents in the Text1 textbox.
You can create various multimedia applications in VB that could play audio CD,
audiofiles, VCD , video files and etc.
To be able to play multimedia files or multimedia devices, you have to insert
Microsoft Multimedia Control into your VB applications
that you are going to create. However, Microsoft Multimedia Control is not
normally included in the startup toolbox, therefore you need
to add the MM control by pressing Ctrl+T and select it from the components
dialog box that is displayed.
¡¡
¡¡
First of all, you place a Multimedia control into your form and rename it as any
name of your choice. Here I use myCD to replace the default name MMControl1.
Next, you can put two labels on your form, change caption of the left label to
Track and rename the one on the right to trackNum and make its caption
invisible(this lable is to display CD track numbers at runtime.). Finally, put five
command buttons in your form and name them as Play, Next, Previous, Stop and
Exit. You can also choose to make the MM Control visible or invisible at
runtime. If you choose to make it visible,you could play the CD using the buttons
available on the control itself or you can click on the buttons at the bottom that
are created by you.
End Sub
Private Sub myCD_StatusUpdate()
¡®Update the track number
trackNum.Caption = myCD.Track
End Sub
End Sub
¡¡
In this project, you need to insert a ComboBox, a DriveListBox, a DirListBox, a TextBox and a
FileListBox into your form.I Shall briefly discuss the function of each of the above controls.
Besides, you must also insert Microsoft Multimedia Control(MMControl) in your form , you may
make it visible or invisible. In my program, I choose to make it invisible so that I could use the
command buttons created to control the player.
Relevant codes must be written to coordinate all the above controls so that the application can
work properly. The program should flow in the following logical way:
Step2:User selects the drive that might contains the relevant audio files.
Step 3:User looks into directories and subdirectories for the files specified in step1. The files
should be displayed in the FileListBox.
Step 4: User selects the files from the FileListBox and click the Play button.
Step 5: User click on the Stop to stop playing and Exit button to end the application.
The Interface
¡¡
The Code
If ListIndex = 0 Then
File1.Pattern = ("*.wav")
ElseIf ListIndex = 1 Then
File1.Pattern = ("*.mid")
Else
Fiel1.Pattern = ("*.*")
End If
End Sub
File1.Path = Dir1.Path
If Combo1.ListIndex = 0 Then
File1.Pattern = ("*.wav")
ElseIf Combo1.ListIndex = 1 Then
File1.Pattern = ("*.mid")
Else
File1.Pattern = ("*.*")
End If
End Sub
Dir1.Path = Drive1.Drive
End Sub
End Sub
Combo1.AddItem "*.wav"
Combo1.AddItem "*.mid"
Combo1.AddItem "All files"
End Sub
End Sub
Command2_Click
If Combo1.ListIndex = 0 Then
AudioPlayer.DeviceType = "WaveAudio"
ElseIf Combo1.ListIndex = 1 Then
AudioPlayer.DeviceType = "Sequencer"
End If
AudioPlayer.FileName = Text1.Text
AudioPlayer.Command = "Open"
AudioPlayer.Command = "Play"
End Sub
Similar to the previous project, in this project, you need to insert a ComboBox, a DriveListBox, a DirListBox, a
TextBox and a FileListBox into your form. I Shall brieflyexplain again the function of each of the above controls.
Relevant codes must be written to coordinate all the above controls so that the application can work properly. The
program should flow in the following logical way:
Step2:User selects the drive that might contains the relevant graphic files.
Step 3:User looks into directories and subdirectories for the files specified in step1. The files should be displayed in
the FileListBox.
Step 4: User selects the files from the FileListBox and click the Show button.
¡¡
The Interface
The Code
End Sub
¡¡
File1.Pattern = ("*.bmp;*.wmf;*.jpg;*.gif")
Else
Fiel1.Pattern = ("*.*")
End If
End Sub
File1.Path = Dir1.Path
File1.Pattern = ("*.bmp;*.wmf;*.jpg;*.gif")
End Sub
End Sub
End Sub
picture1.Picture = LoadPicture(filenam)
End Sub
¡¡
Relevant codes must be written to coordinate all the above controls so that the application can
work properly. The program should flow in the following logical way:
Step2:User selects the drive that might contains the relevant audio files.
Step 3:User looks into directories and subdirectories for the files specified in step1. The files
should be displayed in the FileListBox.
Step 4: User selects the files from the FileListBox and click the Play button.
Step 5: User click on the Stop to stop playing and Exit button to end the application.
¡¡
The Interface
¡¡
¡¡
The Code
Private Sub Form_Load()
Left = (Screen.Width - Width) \ 2
Top = (Screen.Height - Height) \ 2
Combo1.Text = "*.wav"
Combo1.AddItem "*.wav"
Combo1.AddItem "*.mid"
Combo1.AddItem "*.avi;*.mpg"
Combo1.AddItem "All files"
End Sub
End Sub
File1.Pattern = ("*.avi;*.mpg")
Else
File1.Pattern = ("*.*")
End If
End Sub
End Sub
End Sub
¡¡
¡¡
Closely Related
Moderately Related
Loosely Related
Submit Query