vbs脚本编程简明教程,vbs教程 脚本之家

http://www.itjxue.com  2023-01-14 20:39  来源:未知  点击次数: 

如何编写Windows NT 命令脚本”与“MS-DOS 批处理文件” 小程序

你指的前者应该是VBS 脚本编程吧

这个有人已写过一个小教程,你可以搜索,或则加我,我发给你,名叫:VBS脚本编程简明教程。

而批处理文件,网络上流行的教程也有很多。可以通过搜索批处理教程获得,或则进入相关网站,论坛以获得更有针对性的文章,教程。

学习这两者的前提是要有一点编程基础,以及对WINDOWS系统和运行命令执行的熟悉。

学习编写这两种小程序,可以方便实现很多精致的功能。上手及其容易,当然也只有下的苦工,放能有大收获。祝福你!

VBS详细教程

VBS 取得本机IP

strComputer = "."

Set objWMIService = GetObject("winmgmts:\\" strComputer "\root\cimv2")

Set IPConfigSet = objWMIService.ExecQuery("Select IPAddress from Win32_NetworkAdapterConfiguration Where IPEnabled=TRUE")

For Each IPConfig in IPConfigSet

If Not IsNull(IPConfig.IPAddress) Then

For Each strAddress in IPConfig.IPAddress

WScript.Echo strAddress

Next

End If

Next

2 取得本机计算机名

strComputer = "."

Set objWMIService = GetObject("winmgmts:\\" strComputer "\root\cimv2")

Set colComputers = objWMIService.ExecQuery("Select * from Win32_ComputerSystem")

For Each objComputer in colComputers

Wscript.Echo objComputer.Name

Next

--------------------------------------------------------------------------------

4 检查升级包

strComputer = "."

Set objWMIService = GetObject("winmgmts:\\" strComputer "\root\cimv2")

Set colOperatingSystems = objWMIService.ExecQuery("Select * from Win32_OperatingSystem")

For Each objOperatingSystem in colOperatingSystems

Wscript.Echo objOperatingSystem.ServicePackMajorVersion "." objOperatingSystem.ServicePackMinorVersion

Next

--------------------------------------------------------------------------------

5 检查 Hot Fix

strComputer = "."

Set objWMIService = GetObject("winmgmts:\\" strComputer "\root\cimv2")

Set colQuickFixes = objWMIService.ExecQuery ("Select * from Win32_QuickFixEngineering")

For Each objQuickFix in colQuickFixes

Wscript.Echo "Description: " objQuickFix.Description

Wscript.Echo "Hot Fix ID: " objQuickFix.HotFixID

Next

--------------------------------------------------------------------------------

6 检查本地管理员数目

Set objNetwork = CreateObject("Wscript.Network")

strComputer = objNetwork.ComputerName

Set objGroup = GetObject("WinNT://" strComputer "/Administrators,group")

For Each objUser in objGroup.Members

Wscript.Echo objUser.Name

Next

--------------------------------------------------------------------------------

7 磁盘系统

strComputer = "."

Set objWMIService = GetObject("winmgmts:\\" strComputer "\root\cimv2")

Set colDisks = objWMIService.ExecQuery("Select * from Win32_LogicalDisk Where DriveType = 3")

For Each objDisk in colDisks

Wscript.Echo "Disk drive: " objDisk.DeviceID " -- " objDisk.FileSystem

Next

--------------------------------------------------------------------------------

8 检测自动登录是否开启

Const HKEY_LOCAL_MACHINE = H80000002

strComputer = "."

Set objReg=GetObject("winmgmts:\\" strComputer "\root\default:StdRegProv")

strKeyPath = "Software\Microsoft\Windows NT\CurrentVersion\WinLogon"

strValueName = "AutoAdminLogon"

objReg.GetDWORDValue HKEY_LOCAL_MACHINE, strKeyPath, strValueName,dwValue

If dwValue = 1 Then

Wscript.Echo "Auto logon is enabled."

Else

Wscript.Echo "Auto logon is disabled."

End If

--------------------------------------------------------------------------------

9 关闭自动登录

Const HKEY_LOCAL_MACHINE = H80000002

strComputer = "."

Set objReg=GetObject("winmgmts:\\" strComputer "\root\default:StdRegProv")

strKeyPath = "Software\Microsoft\Windows NT\CurrentVersion\WinLogon"

strValueName = "AutoAdminLogon"

dwValue = 0

oReg.SetDWORDValue HKEY_LOCAL_MACHINE, strKeyPath, strValueName, dwValue

--------------------------------------------------------------------------------

10 检查Guest是否禁用

Set objNetwork = CreateObject("Wscript.Network")

strComputer = objNetwork.ComputerName

Set objUser = GetObject("WinNT://" strComputer "/Guest")

If objUser.AccountDisabled Then

Wscript.Echo "The Guest account is disabled."

Else

Wscript.Echo "The Guest account is enabled."

End If

--------------------------------------------------------------------------------

11 关闭Guest

Set objNetwork = CreateObject("Wscript.Network")

strComputer = objNetwork.ComputerName

Set objUser = GetObject("WinNT://" strComputer "/Guest")

If objUser.AccountDisabled Then

Wscript.Echo "The Guest account is already disabled."

Else

objUser.AccountDisabled = True

objUser.SetInfo

Wscript.Echo "The Guest account has been disabled."

End If

--------------------------------------------------------------------------------

12 检索本地共象

strComputer = "."

Set objWMIService = GetObject("winmgmts:\\" strComputer "\root\cimv2")

Set colShares = objWMIService.ExecQuery("Select * from Win32_Share")

For each objShare in colShares

Wscript.Echo "Name: " objShare.Name

Wscript.Echo "Path: " objShare.Path

Wscript.Echo "Type: " objShare.Type

Next

--------------------------------------------------------------------------------

13 脚本检索一个文件夹下.txt文件 汗哦 值得学习

Set objWMIService = GetObject("winmgmts:\\.\root\cimv2")

Set colFiles = objWMIService.ExecQuery("SELECT * FROM CIM_DataFile WHERE Path = '\\Documents and Settings\\Administrator\\桌面\\' AND Drive = 'E:' AND Extension = 'txt'")

Wscript.Echo "Number of .txt files found: " colFiles.Count

for each aa in colFiles

NL=NL vbcrlf aa.name

next

Wscript.Echo NL

--------------------------------------------------------------------------------

14 我如何向用户显示一个用来选择文件的对话框?

问:

嗨,Scripting Guy!有没有什么方法可以让我使用脚本向用户显示一个对话框,供用户选择文件使用?

-- BF

答:

您好,BF。如果您使用的是 Windows 2000,我们不知道实现此操作的方法,至少操作系统中没有内置这样的方法。

但如果您使用的是 Windows XP,情况就不同了。在 Windows XP 上,

您可以使用“UserAccounts.CommonDialog”对象向用户显示一个标准的“文件打开”对话框。可以用类似以下代码的脚本:

Set objDialog = CreateObject("UserAccounts.CommonDialog")

objDialog.Filter = "All Files|*.*" objDialog.InitialDir = "C:\" intResult = objDialog.ShowOpen

If intResult = 0 Then Wscript.Quit Else Wscript.Echo objDialog.FileName End If

这是一个小脚本,所以让我们逐行进行解释吧。我们首先创建一个对 UserAccounts.CommonDialog

对象的对象引用(名为“objDialog”)。接着,我们设置对话框的“筛选”属性。我们要显示所有文件,

所以我们将筛选设置成这样:

objDialog.Filter = "All Files|*.*"

假如我们只想显示文本文件,那该怎么办?在这种情况下,我们将使用以下筛选:

objDialog.Filter = "Text Files|*.txt"

您也许能够看出它是如何运行的:我们为文件类型提供说明 (Text Files),然后插入一个竖线分隔符 (|),

最后使用标准的通配符来指示所有 .txt 文件 (*.txt)。是不是想默认显示 .txt 文件,然后为用户提供查看所有文件的选项?

那么可以使用以下代码:

objDialog.Filter = "Text Files|*.txt|All Files|*.*"

试一试,您就明白我们的意思了。

然后,我们指定默认文件夹。默认情况下,我们希望对话框显示位于驱动器 C 的根文件夹中的文件,

所以我们这样设置“InitialDir”属性:

objDialog.InitialDir = "C:\"

希望显示 C:\Windows 文件夹中的文件吗?那么可以使用以下代码:

objDialog.InitialDir = "C:\Windows"

不必担心:这是一个真正的“文件打开”对话框,所以您可以随意单击,并且可以随时停下来。

您从 C:\Windows 开始并不意味着您只能打开该文件夹中的文件。

最后,我们使用下面这行代码显示对话框:

intResult = objDialog.ShowOpen

现在,我们只需坐下来,等待用户选择文件并单击“确定”(或者等待用户单击“取消”)。如果用户单击“取消”,

则变量 intResult 将被设置为 0。在我们的脚本中,我们检查 intResult 的值,如果是 0,

我们将只需要使用 Wscript.Quit 来终止此脚本。

但是如果用户实际上选择了文件并单击了“确定”,那该怎么办?在这种情况下,intResult 将被设置为 -1,

“FileDialog”属性将被设置为所选文件的路径名。我们的脚本只回显路径名,这意味着我们将得到类似以下内容的输出:

C:\WINDOWS\Prairie Wind.bmp

不用说,您并不局限于只回显文件路径。实际上,您可以使用 WMI、FileSystemObject 或一些其他技术来绑定该文件,

然后对其执行删除、复制、压缩或检索文件属性等操作 — 您对文件能够执行的操作差不多都可以对它执行。

但无论如何,您都需要使用脚本。

顺便说一句,使用此方法,您一次只能选择一个文件,而不能按住“Ctrl”键选择多个文件。有一种方法可以选择多个文件,

至少在 XP 计算机上可以,但是我们只能将此问题留到以后的专栏中讨论了。

--------------------------------------------------------------------------------

15 我如何确定进程是在哪个帐户下运行的?

问:

嗨,Scripting Guy!我有一个脚本,它返回关于计算机上运行的所有进程的信息,

只是我不知道如何获得这些进程在其下运行的用户帐户的名称。您可以帮助我吗?

-- DL

答:

您好,DL。是的,我们可以帮助您。确定进程是在哪个帐户下运行的,实际上相当简单,

只是如何着手执行此操作并不是特别显而易见的。如果您与大多数人一样,

那么您可能会通过扫描 Win32_Process 类的属性来查找名为 Account 或 UserName 或类似的属性。您很有可能找不到。

出现这种情况的原因是:Win32_Process 没有可以告诉您进程在哪个帐户下运行的属性。

您需要使用“GetOwner”方法来捕捉此信息。下面这个脚本可以告诉您 Microsoft Word (Winword.exe) 在哪个帐户下运行:

strComputer = "."Set objWMIService = GetObject("winmgmts:\\" strComputer "\root\cimv2")

Set colProcessList = objWMIService.ExecQuery _ ("Select * from Win32_Process Where Name = 'Winword.exe'")

For Each objProcess in colProcessList objProcess.GetOwner strUserName, strUserDomain Wscript.Echo "Process " objProcess.Name " is owned by " _ strUserDomain "\" strUserName "."Next

我们最感兴趣的是下面这行代码:

objProcess.GetOwner strNameOfUser, strUserDomain

我们在此所做的就是调用“GetOwner”方法。GetOwner 返回两个“输出参数”,

一个返回负责该进程的用户的名称,一个返回该用户所属的域。为捕获这两个输出参数,我们需要为 GetOwner 方法提供两个变量。

在这个示例脚本中,我们使用了两个分别叫做 strUserName 和 strUserDomain 的变量。名称可以随意选择;您可以将变量称为 A 和 B 或 X 和 Y 或任何其他您想要的名称。

不过,变量的顺序不能随意设置:返回的第一个值总是用户名,第二个值总是域。这意味着,如果您希望用 X 表示用户名,用 Y 表示域,那么您要确保您的代码像下面这行代码一样:

objProcess.GetOwner X, Y

调用 GetOwner 之后,我们就可直接回显进程名和所有者。请注意,我们可以稍微来点儿花样儿 – 使用域\用户格式。这样,我们就可以回显类似于“fabrikam\kenmyer”的名称。

下面附带提供了另一个脚本,该脚本可以列出计算机上的所有进程以及各个进程的所有者:

strComputer = "."Set objWMIService = GetObject("winmgmts:\\" strComputer "\root\cimv2")

Set colProcessList = objWMIService.ExecQuery _ ("Select * from Win32_Process")

For Each objProcess in colProcessList objProcess.GetOwner strUserName, strUserDomain Wscript.Echo "Process " objProcess.Name " is owned by " _ strUserDomain "\" strUserName "."Next

可能有人感到奇怪,2005 年 1 月 3 日正好是 Microsoft 员工的正式休息日。

那么今天为什么会有“嗨,Scripting Guy!”专栏?这只能是由于 Microsoft 脚本专家表现出来的对工作的难以置信的奉献和投入精神。

或者,也可能是由于某个脚本专家 – 还说不出他或她的名字 – 没有意识到今天是假日,所以照常来了(而且是在早上 7 点啊!)。

--------------------------------------------------------------------------------

16 可以将脚本的输出复制到剪贴板吗?

问:

嗨,Scripting Guy!有办法将脚本输出复制到剪贴板吗?

-- ZW, Marseilles, France

答:

您好,ZW.如果您不介意用一些疯狂的解决方法,那么实际上将脚本输出复制到剪贴板相当容易。

首先,您需要构造一个字符串,其中包含想要的输出。然后,创建 Internet Explorer 的一个实例,

然后在其中打开一个空白页。接着,利用 Internet Explorer 对象模型的内置功能,将字符串复制到剪贴板;

特别是, 可以使用 clipboardData.SetData 方法来实现这个技巧。将某些数据复制到剪贴板的示例脚本如下:

strCopy = "This text has been copied to the clipboard."

Set objIE = CreateObject("InternetExplorer.Application")

objIE.Navigate("about:blank")

objIE.document.parentwindow.clipboardData.SetData "text", strCopy

objIE.Quit

运行脚本,然后打开 Notepad,然后单击“粘贴”;应该可以看到所复制的字符串。

顺便说一下,所有这一切都是在“幕后”发生的,Internet Explorer 并不会真的出现在屏幕上。

这是因为,在默认情况下,通过脚本创建的任何 IE 实例在运行时都是隐藏的,除非您利用如下语句将其显示出来:

objIE.Visible = True

vbs常用代码

1、首先在电脑鼠标右键 新建一个文本文档。

2、然后点开文本文档进行编辑,最重要的一个代码就是msgbox,然后在后面添加想要说的话,但是要使用英文标点符号,换行时候都需要在前面加上代码,最后保存。

3、保存好之后,对这个文本文档进行重命名更改后缀,把文本文档的txt改成vbs。

4、改vbs后缀会弹出一个提示框,提示你如果改变文件扩展名,可能会导致文件不可用,确定要改吗,点击是。

5、确定更改文件扩展名之后文本文档就会变成vbs,这样就表示已经完成制作。

6、只要双击这个vbs,桌面就会弹出你所编辑的语言,一直点击确定就会出现你编辑的所有内容。

VBScript的书籍,要系统的,谢谢啦

学C++是可以 但也可以学VB做为基础

如果您想学习编程,却又不知从何入手,那么您不妨看看下面的几种学习方案,可能会给您一些启示吧!

==============================================

方案一 Basic语言 Visual Basic

优点

(1)Basic 简单易学,很容易上手。

(2)Visual Basic 提供了强大的可视化编程能力,可以让你轻松地做出漂亮的程序。

(3)众多的控件让编程变得象垒积木一样简单。

(4)Visual Basic 的全部汉化让我们这些见了English就头大的人喜不自禁。

缺点

(1)Visual Basic 不是真正的面向对象的开发文具。

(2)Visual Basic 的数据类型太少,而且不支持指针,这使得它的表达能力很有限。

(3)Visual Basic 不是真正的编译型语言,它产生的最终代码不是可执行的,是一种伪代码。它需要一个动态链接库去解释执行,这使得Visual Basic 的编译速度大大变慢。

综述:方案一适合初涉编程的朋友,它对学习者的要求不高,几乎每个人都可以在一个比较短的时间里学会vB编程,并用VB 做出自己的作品。对于那些把编程当做游戏的朋友来说,VB 是您最佳的选择。

Basic/Visual Basic简介

==============================================

方案二 Pascal语言 Delphi

优点

(1)Pascal语言结构严谨,可以很好地培养一个人的编程思想。

(2)Delphi是一门真正的面向对象的开发工具,并且是完全的可视化。

(3)Delphi使用了真编译,可以让你的代码编译成为可执行的文件,而且编译速度非常快。

(4)Delphi具有强大的数据库开发能力,可以让你轻松地开发数据库。

缺点

Delphi几乎可以说是完美的,只是Pascal语言的过于严谨让人感觉有点烦。

综述: 方案二比较适合那些具有一定编程基础并且学过Pascal语言的朋友。

Pascal语言简介

Delphi简介

==============================================

方案三 C语言 Visual C++

优点

(1)C语言灵活性好,效率高,可以接触到软件开发比较底层的东西。

(2)微软的MFC库博大精深,学会它可以让随心所欲地进行编程。

(3)VC是微软制作的产品,与操作系统的结合更加紧密。

缺点

对使用者的要求比较高,既要具备丰富的C语言编程经验,又要具有一定的WINDOWS编程基础,它的过于专业使得一般的编程爱好者学习起来会有不小的困难。

综述: VC是程序员用的东西。如果你是一个永不满足的人,而且可以在编程上投入很大的精力和时间,那么学习VC你一定不会后悔的。

C语言简介

==============================================

方案四 C++语言 C++ Builder

优点

(1)C++语言的优点全部得以继承。

(2)完全的可是化。

(3)极强的兼容性,支持OWL、VCL和MFC三大类库。

(4)编译速度非常快。

缺点

由于推出的时间太短,关于它的各种资料还不太多。

综述:我认为C++ Builder 是最好的编程工具。它既保持了C++语言编程的优点,又做到了完全的可视化。

C语言简介

==============================================

方案五 SQL语言 Power Builder

对于一些传统的数据开发人员来说,Foxpro系列也许让他们感到更加熟悉。但是对于初学者来说,PowerBuilder也许是最好的数据库开发工具。各种各样的控件,功能强大的PowerBuilder语言都会帮助你开发出自己的数据库应用程序。

[NextPage]

JSP简介

在Sun正式发布JSP(Java Server Pages)之后,这种新的Web应用开发技术很快引起了人们的关注。JSP为创建高度动态的Web应用提供了一个独特的开发环境。按照 Sun 的说法,JSP能够适应市场上包括Apache WebServer 、IIS4.0在内的85%的服务器产品

word-利用vbs写一个脚本

Vbs 脚本编程简明教程之一—为什么要使用Vbs?

在Windows 中,学习计算机操作也许很简单,但是很多计算机工作是重复性劳动,例如你每周

也许需要对一些计算机文件进行复制、粘贴、改名、删除,也许你每天启动计算机第一件事情

就是打开WORD,切换到你喜爱的输入法进行文本编辑,同时还要播放优美的音乐给工作创造

一个舒心的环境,当然也有可能你经常需要对文本中的某些数据进行整理,把各式各样的数据

按照某种规则排列起来……。这些事情重复、琐碎,使人容易疲劳。

第三方软件也许可以强化计算机的某些功能,但是解决这些重复劳动往往事倍功半,我也尝试

过使用计算机语言编写程序来解决这些问题,但是随之而来的命令、语法、算法、系统框架和

类库常常让我觉得这样是否有必要,难道就是因为猪毛比较难拔,所以我就要去学习机械,为

自己设计一个拔猪毛机(?)吗?

Vbs 是一种Windows 脚本,它的全称是:Microsoft Visual Basic Script Editon.(微软公司可视化

BASIC 脚本版),VBS 是Visual Basic 的的一个抽象子集,是系统内置的,用它编写的脚本代码

不能编译成二进制文件,直接由Windows 系统执行(实际是一个叫做宿主host 的解释源代码并

执行),高效、易学,但是大部分高级语言能干的事情,它基本上都具备,它可以使各种各样的

任务自动化,可以使你从重复琐碎的工作中解脱出来,极大的提高工作效率。

我个人认为Vbs 脚本其实就是一种计算机编程语言,但是由于缺少计算机程序设计语言中的部

分要素,对于事件的描述能力较弱,所以称为脚本,它最方便的地方就是提供了对COM 对象

的简便支持。那么什么是COM 对象呢?

我这样理解,COM 对象就是一些具有特定函数功能项程序模块,他们一般以ocx 或者dll 作为

扩展名,你只要找到包含有你需要的功能的模块文件,并在脚本中规范的引用,就可以实现特

定的功能,也就是说Vbs 脚本就是调用现成的“控件”作为对象,用对象的属性和方法实现目的,

完全免去了编写代码、设计算法等等麻烦。说白了,我不是觉得拔猪毛麻烦么?我发觉xx 机(比

如真空离心器)有一个功能可以实现脱毛,ok,我把它拿来给猪脱毛。什么?大材小用?太浪

费资源了?天哪,那是计算机芯片的事情,死道友不死贫道,反正我的事情是方便快速的解决

了,这就行了。

最方便的是它甚至不需要专门的开发环境,在你的计算机中,只要有notepad,就可以编写Vbs

脚本了,并且可以直接执行。

===============================

Vbs 脚本编程简明教程之二—如何开始第一个Vbs 脚本?

就像多数计算机教程一样,我们从“Hello World!”程序开始我们的练习。什么?不知道是什

么意思?就是说大部分的计算机程序设计教程开篇入门都是编写一个小程序,执行这个程序的

结果就是在计算机的屏幕上或者dos 窗口中显示一行文字:Hello World!好了,我们开始吧。

打开你的“记事本”程序,在编辑窗口填写:

msgbox "He llo World!"

然后用鼠标单击“文件”菜单,单击“保存”,把“保存在”一栏设为桌面,在“文件名”一栏中填写

kk.vbs,单击“保存”就可以了。然后最小化“记事本”窗口,在桌面上寻找你刚刚保存的kk.vbs,

然后双击。看到弹出的对话框了没有,单击“确定”,对话框消失了。难看了点,不过确实是你

编写的第一个脚本程序。

说明之一:上面的操作中,保存位置放在桌面,仅仅是为了执行方便,你保存到其他的地方完

全没有问题,只要你知道你保存在什么地方就可以了,什么?是废话,自己保存的当然知道保

存在那里了。不,自己保存的文件自己找不到的人我见的多了去了。文件名你可以随意填写,

不一定非要写kk,只要符合Windows 的文件命名规则就可以了,但是扩展名必须是vbs,什么?

不知道什么是扩展名?就是文件名中“.”后的那部分,简单说,就是vbs 脚本文件命名时必须是:

xxx.vbs,其中xxx 你随意。

说明之二:在记事本编辑窗口中写的这行是什么意思?

Msgbox 是VBS 内建的函数,每一个函数都可以完成一定的功能,你只需要按照语法要求,在

函数的相应部分填写相应的内容就可以了,这部分内容我们称为参数,当然函数执行的结果我

们称为返回值,一个函数可以有返回值也可以没有,可以有参数也可以没有。你不用了解函数

是怎么运作的,只要了解这个函数能干什么就行了。

Msgbox 语法:msgbox "对话框内容", , "对话框的标题"

你不妨用记事本打开刚才的文件在编辑窗口中输入:

msgbox "He llo World!" , , "系统提示"

执行一下,看看效果和位置。

说明之三:如果执行失败,看看你的标点符号,所有的标点符号必须是在英文状态下输入的。

当然,这个脚本实在是太简单了,甚至连最简单的交互都没有,所以你可以把脚本这样修改一

下:

Dim name

name=Inputbox("请输入你的名字:","名称")

Msgbox name, , "您的名字是"

保存执行一下,看到弹出的对话框了么?填入你的名字,点确定,看到结果了吗?

说明之一:第一句是定义变量,dim 是定义变量的语句

其格式为:dim 变量1,变量2……,

Vbs 只有一种变量类型,所以不用声明变量类型。系统会自动分辨变量类型。

说明之二:inputbox 是VBS 内建的函数,可以接受输入的内容,其语法格式为:

Inputbox("对话框内容","对话框标题")

第二句的意思是接受用户的输入,并把输入结果传递给变量name。

好了,到此脚本基本的输入输出函数都有了,已经可以完成一些比较简单的功能了,你可以编

写一个简单的脚本,然后拷贝的“程序”—“启动”中,然后重新启动计算机看看结果。

VB语言 基本语句(会数学的也可以)

If...Then判断语句

If..Then判断语句属于一种单行假设判断语句,它会按照用户所给定的比较或逻辑表达式。

进行判断。当判断结果为“True”也就是真时,则执行Then后的程序代码块,否则跳过该块的执行步骤。

使用语法的方法如下:

If 判断式 Then 执行语句

If 判断式 Then

执行语句1

执行语句2

End If

其实上述的两种语法并不相同的,主要差异在于第一种写法是使用在处理程序部分的源代码较短,

无需分段的时候:

If a b Then Print "a b"

而当处理程序部分需要分段时,则必须使用第二种写法将执行语句包括在"If...Then...End If"范围中:

If a b Then

c = a + b

Print "a + b = " c

End If

而If...Then...Else...End If语句则可以将不符合条件式的情况,交给Else后所接的程序代码来处理:

例如:

If a b Then

c = a + b

Else

c = a - b

End If

Print c

在上面程序片段中,变量C的数值会由条件式”ab“成立与否而有不同的输出结果。

至于ElseIf的语法也是和If搭配来使用,它主要是用来进行多重逻辑判断。

If...ElseIf...Else...End If使用语法的方法如下:

If 判断式1 Then ? ? ? ? ?//当判断式1成立时,执行以下语句

程序语句 甲

ElseIf 判断式2 Then ? ? ?//当判断式1不成立,但判断式2成立时执行以下语句

程序语句乙

ElseIf 判断式3 ? ? ? ? ? //当判断式1和2都不程序,但判断式3成立时执行以下语句

程序语句 丙

Else ? ? ? ? ? ? ? ? ? ?//当上面所有判断式都不成立时,执行下面的语句

程序语句 丁

End If

★Select Case判断语句

Select Case流程控制语句可以根据判断式的返回值来执行不同程序代码片段。

Select Case语法如下:

Select Case 参数

Case 条件1 ? ? ? //当判断式满足条件1时就执行以下的语句

程序语句1

程序语句2

Case 条件2 ? ? ? //当判断式满足条件2时就执行以下的语句

程序语句1

程序语句2

Case Else ? ? ? ?//当判断式无满足任何条件时就执行Case Else标签后的语句

程序语句1

End Select

由于Select Case仅能传入一个参数,也就是说它无法执行“比较”与“判断”的操作,并且Case

仅能是数值而不能是表达式。

以下这个是个错误程序的片段:

Select Case A B ? //错误!!!仅能传送一个参数

或是

Select Case A

Case A C ? ? ?//错误!!!Case只能接受数值

★循环语句

当程序需要执行重复性工作时,可以使用循环控制语句连续执行某段程序代码,直到满足特定条件为

止。

VB提供了Fot...Next、While...Wend与Do...Liio三种循环控制语法。

For...Next循环语句

For...Next属于先测试循环控制语句,属于基本的循环控制语法。它按照用户所赋予的初值、终值

与步长表达式来重复执行某一特定程序区段。在每次执行前,系统会先检查目前初值状态是否符合

终值条件,如果不符合终值条件的话则执行增量运算后,再执行循环语句:反之如符合终值条件,则

跳出循环。

For 循环语法如下:

For 初值 to 终值 Step 步长

程序语句

Next

(责任编辑:IT教学网)

更多