论文部分内容阅读
前几期,我们已经介绍过了VBS脚本的变量、数组和常量概念及其声明。
今天,我们就来全面系统的认识一下VBS的语句。VBS脚本代码由声明(statement)、过程(procedure)/函数(function)、方法(method)、运算符(operator)、对象(object)/集合(collection)、属性(property)、变量(variable)、常量(constant)等元素根据语法构成语句(sentence),也称句子,通常一条语句占一行。在VBS脚本中除了运算符外还有几个特殊的英文符号:①圆括号“()”,在过程/函数、方法中将参数列表括起来,或者用于运算表达式中;②逗号“,”,当声明多个变量、常量时用于分隔,当声明过程/函数、方法时用于分隔多个参数;③双引号“"”用于指定字符串,当要在字符串出现双引号时,必须使用一对双引号("")代表一个双引号;④单引号“'”用于注释,其后的字符不进行编译;⑤句点号“.”用于对象引用,或者小数点;⑥冒号“:”,只有当一行内排列多条语句时才会使用;⑦井字号“#”用于表示日期文字;⑧下划线“_”用于连接一个语句排列于多行。这几个符号中除了下划线通常用于命名复杂的过程和常量名外,同样均不得用于命名变量、常量以及自定义过程(Sub语句)或函数(Function语句)名称。这些特殊符号会随时出现在范例中,你应当学会它们的用法。
下面,我们就先来介绍If...Then...Else判断语句的用法。
电脑兼职校错别字
首先收集并创建一个勘误列表文件保存在“E:\Errata.tt0”(路径及文件名均可自行替换)。该文件可以用“记事本”自行添加,格式是:错别字词汇 正确词汇(中间必须使用空格分隔),每行只允许放置一条信息,“错别字词汇”不允许含有空格,“正确词汇”允许包含任何键盘符号,包括空格符,而且允许空(即删除文本文档中的错别字词汇),但中间用于分隔的空格不得省略,否则将会出错。程序如下(下载地址:http://www.newhua.com/cfan/200604/jc.rar):
Const WINDOW_HANDLE = 0, OPTIONS = 16
Const ForReading=1, ForWriting=2, ForAppending=8
ListPath = "e:\Errata.tt0"' 错别字勘误列表文件可设置为自己的文件
Set MyShell = CreateObject("Shell.Application")
Set MyFolder = MyShell.BrowseForFolder _
(WINDOW_HANDLE, "请选择文本文档所在的文件夹:", OPTIONS)
If MyFolder Is Nothing Then Wscript.Quit
Set MyFolderItem = MyFolder.Self
MyPath = MyFolderItem.Path
Set MyFso = CreateObject("Scripting.FileSystemObject")
If Not (MyFso.FolderExists(MyPath)) Then
Msgbox "源目录选择错误!程序终止。", 16, "错误"
Wscript.Quit
End If
Set MyFolder = MyFso.GetFolder(MyPath)
Set MyFiles = MyFolder.Files
Set MyFile2 = MyFso.OpenTextFile(ListPath, ForReading)
For Each MyFile In MyFiles
If UCase(MyFso.GetExtensionName(MyFile)) = "TXT" Then
Set MyFile1 = MyFso.OpenTextFile(MyFile.Path, ForReading)
If MyFile1.AtEndOfStream <> True Then
MyFileText = MyFile1.ReadAll
Do While MyFile2.AtEndOfStream <> True
MyText = MyFile2.ReadLine
MyStr1 = Left(MyText, Instr(MyText, " ")-1)
MyStr2 = Right(MyText, Len(MyText) - Instr(MyText, " "))
MyFileText = Replace(MyFileText, MyStr1, MyStr2)
Loop
MyFile1.Close
Set MyFile1 = MyFso.OpenTextFile(MyFile.Path, ForWriting)
MyFile1.Write MyFileText
MyFile1.Close
End If
End If
Next
MyFile2.Close
MsgBox "指定文件夹中文本文档全部替换完毕。", 64, "提示"
通透理解If...Then...Else判断语句
①If...Then...Else判断语句(statement)
If...Then...Else语句是最常用的语句之一,用于判断数值的真假,如果为真则执行Then后面的语句,否则执行Else后的语句。可以通俗地这样理解:如果你说的话是真的,就执行你的命令,否则就执行他的命令。If后面为判断条件(condition),可以是数值或字符串表达式(expression)或者对象引用比较,可以使用逻辑运算符(常用NOT、AND和OR),判断的结果是真(true)或假(false);在Then和Else后面可以是一条或多条语句。
②If...Then...Else语句的用法
If...Then...Else语句的用法分单行和多行。单行格式为“If 条件表达式 Then 语句 [Else 语句]”,其中[Else 语句]是可选的。单行格式通常用于简单的判断,格式为
If 条件表达式 Then
[语句]
[ElseIf 条件表达式-n Then
[elseif语句]] . . .
[Else
[else语句]]
End If
当If条件表达式为“假”时,将逐一判断ElseIf 条件表达式-n,如果条件表达式-n为“真”将执行其下的elseif语句,否则执行Else语句。多行格式通常用于比较复杂的判断,或者多选一。多行格式也叫If块语句,If块语句可以被多重嵌套,即一个If块语句被包含在另一个If块语句之中。If块语句必须是某一行的第一条语句,并且必须以End If语句结束,End If语句必不可缺。
今天,我们就来全面系统的认识一下VBS的语句。VBS脚本代码由声明(statement)、过程(procedure)/函数(function)、方法(method)、运算符(operator)、对象(object)/集合(collection)、属性(property)、变量(variable)、常量(constant)等元素根据语法构成语句(sentence),也称句子,通常一条语句占一行。在VBS脚本中除了运算符外还有几个特殊的英文符号:①圆括号“()”,在过程/函数、方法中将参数列表括起来,或者用于运算表达式中;②逗号“,”,当声明多个变量、常量时用于分隔,当声明过程/函数、方法时用于分隔多个参数;③双引号“"”用于指定字符串,当要在字符串出现双引号时,必须使用一对双引号("")代表一个双引号;④单引号“'”用于注释,其后的字符不进行编译;⑤句点号“.”用于对象引用,或者小数点;⑥冒号“:”,只有当一行内排列多条语句时才会使用;⑦井字号“#”用于表示日期文字;⑧下划线“_”用于连接一个语句排列于多行。这几个符号中除了下划线通常用于命名复杂的过程和常量名外,同样均不得用于命名变量、常量以及自定义过程(Sub语句)或函数(Function语句)名称。这些特殊符号会随时出现在范例中,你应当学会它们的用法。
下面,我们就先来介绍If...Then...Else判断语句的用法。
电脑兼职校错别字
首先收集并创建一个勘误列表文件保存在“E:\Errata.tt0”(路径及文件名均可自行替换)。该文件可以用“记事本”自行添加,格式是:错别字词汇 正确词汇(中间必须使用空格分隔),每行只允许放置一条信息,“错别字词汇”不允许含有空格,“正确词汇”允许包含任何键盘符号,包括空格符,而且允许空(即删除文本文档中的错别字词汇),但中间用于分隔的空格不得省略,否则将会出错。程序如下(下载地址:http://www.newhua.com/cfan/200604/jc.rar):
Const WINDOW_HANDLE = 0, OPTIONS = 16
Const ForReading=1, ForWriting=2, ForAppending=8
ListPath = "e:\Errata.tt0"' 错别字勘误列表文件可设置为自己的文件
Set MyShell = CreateObject("Shell.Application")
Set MyFolder = MyShell.BrowseForFolder _
(WINDOW_HANDLE, "请选择文本文档所在的文件夹:", OPTIONS)
If MyFolder Is Nothing Then Wscript.Quit
Set MyFolderItem = MyFolder.Self
MyPath = MyFolderItem.Path
Set MyFso = CreateObject("Scripting.FileSystemObject")
If Not (MyFso.FolderExists(MyPath)) Then
Msgbox "源目录选择错误!程序终止。", 16, "错误"
Wscript.Quit
End If
Set MyFolder = MyFso.GetFolder(MyPath)
Set MyFiles = MyFolder.Files
Set MyFile2 = MyFso.OpenTextFile(ListPath, ForReading)
For Each MyFile In MyFiles
If UCase(MyFso.GetExtensionName(MyFile)) = "TXT" Then
Set MyFile1 = MyFso.OpenTextFile(MyFile.Path, ForReading)
If MyFile1.AtEndOfStream <> True Then
MyFileText = MyFile1.ReadAll
Do While MyFile2.AtEndOfStream <> True
MyText = MyFile2.ReadLine
MyStr1 = Left(MyText, Instr(MyText, " ")-1)
MyStr2 = Right(MyText, Len(MyText) - Instr(MyText, " "))
MyFileText = Replace(MyFileText, MyStr1, MyStr2)
Loop
MyFile1.Close
Set MyFile1 = MyFso.OpenTextFile(MyFile.Path, ForWriting)
MyFile1.Write MyFileText
MyFile1.Close
End If
End If
Next
MyFile2.Close
MsgBox "指定文件夹中文本文档全部替换完毕。", 64, "提示"
通透理解If...Then...Else判断语句
①If...Then...Else判断语句(statement)
If...Then...Else语句是最常用的语句之一,用于判断数值的真假,如果为真则执行Then后面的语句,否则执行Else后的语句。可以通俗地这样理解:如果你说的话是真的,就执行你的命令,否则就执行他的命令。If后面为判断条件(condition),可以是数值或字符串表达式(expression)或者对象引用比较,可以使用逻辑运算符(常用NOT、AND和OR),判断的结果是真(true)或假(false);在Then和Else后面可以是一条或多条语句。
②If...Then...Else语句的用法
If...Then...Else语句的用法分单行和多行。单行格式为“If 条件表达式 Then 语句 [Else 语句]”,其中[Else 语句]是可选的。单行格式通常用于简单的判断,格式为
If 条件表达式 Then
[语句]
[ElseIf 条件表达式-n Then
[elseif语句]] . . .
[Else
[else语句]]
End If
当If条件表达式为“假”时,将逐一判断ElseIf 条件表达式-n,如果条件表达式-n为“真”将执行其下的elseif语句,否则执行Else语句。多行格式通常用于比较复杂的判断,或者多选一。多行格式也叫If块语句,If块语句可以被多重嵌套,即一个If块语句被包含在另一个If块语句之中。If块语句必须是某一行的第一条语句,并且必须以End If语句结束,End If语句必不可缺。