VBScript
维基百科,自由的百科全书
VBScript是Visual Basic Script的简称,有时也被缩写为VBS。VBScript是微软开发的一种脚本语言,可以看作是VB语言的简化版,与VBA的关系也非常密切。它具有原语言容易学习的特性。目前这种语言广泛应用于网页和ASP程序制作,同时还可以直接作为一个可执行程序。用于调试简单的VB语句非常方便。
目录 |
[编辑] 使用范围
由于VBScript可以通过Windows脚本宿主调用COM,因而可以使用Windows操作系统中可以被使用的程序库,比如它可以使用Microsoft Office的库,尤其是使用Microsoft Access和Microsoft SQL Server的程序库,当然它也可以使用其它程序和操作系统本身的库。在实践中VBScript一般被用在以下三个方面:
[编辑] Windows操作系统
VBScript可以被用来自动地完成重复性的Windows操作系统任务。在Windows操作系统中,VBScript可以在Windows Script Host的范围内运行。Windows操作系统可以自动辨认和执行*.VBS和*.WSF两种文件格式,此外Internet Explorer可以执行HTA和CHM文件格式。VBS和WSF文件完全是文字式的,它们只能通过少数几种对话窗口与用户通讯。HTA和CHM文件使用HTML格式,它们的程序码可以象HTML一样被编辑和检查。在WSF、HTA和CHM文件中VBScript和JavaScript的程序码可以任意混合。HTA文件实际上是加有VBS、JavaScript成分的HTML文件。CHM文件是一种在线帮助,用户可以使用专门的编辑程序将HTML程序编辑为CHM。
[编辑] 网页浏览器(客户方的VBS)
网页中的VBS可以用来指挥客户方的网页浏览器(浏览器执行VBS程序)。VBS与JavaScript在这一方面是竞争者,它们可以用来实现动态HTML,甚至可以将整个程序结合到网页中来。
至今为止VBS在客户方面未能占优势,因为它只获得Microsoft Internet Explorer的支持(Mozilla Suite可以通过装置一个外挂来支持VBS)。而JavaScript则受到所有网页浏览器的支持。在Internet Explorer中VBS和JavaScript使用同样的权限,它们只能有限地使用Windows操作系统中的对象。
[编辑] 网页服务器(服务器方面的VBS)
在网页服务器方面VBS是微软的Active Server Pages的一部分,它与JavaServer Pages和PHP是竞争对手。在这里VBS的程序码直接嵌入到HTML页内,这样的网页以ASP结尾。网页服务器Internet信息服务执行ASP页内的程序部分并将其结果转化为HTML传递给网页浏览器供用户使用。这样服务器可以进行数据库闻讯并将其结果放到HTML网页中。
[编辑] 语言
VBScript主要的优点有:
- 由于VBScript由操作系统,而不是由网页浏览器解释,它的文件比较小。
- 易学。
- 在所有2000 / 98SE以后的Windows版本都可直接使用。
- 可以使用其它程序和可使用的物件(尤其Microsoft Office)。
缺点有:
- 现在VBS无法作为电子邮件的附件了。Microsoft Outlook拒绝接受VBS为附件,收信人无法直接使用VBS附件。
- VBS的各种编辑程器不受欢迎。
- 操作系统没有任何特别的保护设施。VBS程序与其它JS、EXE、BAT或CMD程序一样对待。操作系统没有监察恶意功能的能力。
[编辑] 和VB的对比
[编辑] 不能为变量定义类型
在VB中,为变量定义类型使用 Dim 变量名 As 类型
但是在VBScript中这样写是错误的。只能使用 Dim 变量名,解释器会自动根据赋值的类型定义变量类型。
[编辑] 不能使用条件编译
在VB中,可以使用 #If … Then、#ElseIf … Then、#Else、#End If、#Const … = … 等语句定义编译时使用的语句
而由于VBScript不需要编译即可直接执行,所以并不需要条件编译语句。
[编辑] 安全性
微软决定Outlook和Outlook Express中的HTML邮件可以使用VBScript后出现了许多利用Windows Script Host和ActiveX的功能的电脑病毒。这些病毒之所以能够传播开来也是因为一开始这些系统功能完全未受保护。虽然VBScript和JavaScript使用同样的使用操作系统的功能的安全措施,今天呼唤这些功能被看作不符合标准。
一般很难保护VBScript的程序码不被用户看到。
|
|
---|---|
工业编程语言 | A+ - ActionScript - Ada - zh-cn:汇编语言;zh-tw:組合語言 - B - Brainfuck - C - C++ - C++/CLI - COBOL - Curl - Delphi - Eiffel - Erlang - FORTRAN - IronPython - Java - JavaScript - JRuby - JScript - Jython - LISP - Lua - MATLAB - MATHEMATICA - Nuva - Oberon - Objective-C - OCaml - Pascal - Perl - PHP - PostScript - Powerbuilder - Python - R - REXX - Ruby - Self - Smalltalk - SQL - Tcl/Tk - C# - F# - J# - Microsoft Visual C# - Microsoft Visual C++ |
BASIC语言 | BASIC - BASICA - GW-BASIC - QBASIC - QuickBASIC - True BASIC - Turbo BASIC Visual Basic .NET - Visual Basic - VBScript - VBA |
GPU用著色器語言 | Cg - GLSL - HLSL |
学术编程语言 | APL/J - Haskell - Logo - ML - Prolog - Scheme - SAC |
其他编程语言 | ALGOL - Clipper - Forth - Modula-2/Modula-3 - MUMPS - PL/I - Simula |
|
|
---|---|
文档呈现语言 | HTML* - XHTML* - XML* - XForms* - DHTML* |
样式格式描述语言 | CSS* - XSL* |
动态网页技术 | CGI - ASP - ASP.NET - ColdFusion - JSP - PHP |
客户端交互技术 | ActiveX - Java Applet - Flash - AJAX - XMLHTTP* |
客户端脚本语言 | JavaScript - JScript - VBScript - ECMAScript |
标识定位语言 | URL - URI - XPath |
文档纲要语言 | DTD* - XML Schema* |
*由W3C制定和维护的标准与规范 |
|
|
---|---|
软件家族 | MS-DOS - 操作系统Windows - 办公系统Office套件 - Web浏览器IE - 集成开发环境Visual Studio - 多媒体播放器Windows Media Player - MS SQL数据库服务器 - Exchange Server |
操作系统 | Windows 1.0 - Windows 2.0 - Windows 3.x - Windows 95 - Windows 98 - Windows Me - Windows XP - Windows Vista - Windows NT - Windows 2000 - Windows Server 2003 - Windows Server "Longhorn" - Windows Vienna - Windows Mobile - Pocket PC - Windows CE - Windows Neptune |
Office | Word - Excel - PowerPoint - Outlook Express - Access - FrontPage - Visio |
网络服务 | MSN - MSNBC - Hotmail - MSN Messenger - Windows Messenger - Microsoft Outlook - MSN Explorer |
Windows Live | Windows Live ID - .NET Messenger Service - Windows Live Messenger - Microsoft Office Live - FolderShare |
技術 | .NET - ASP - ASP.NET - DirectX - VBScript - Visual Basic .NET - C# - WMV - WMA - 信賴運算 |
人物 | 比尔·盖茨 - 史蒂夫·巴爾默 - 保罗·艾伦 - 傑·阿拉德 |
遊戲 | Xbox - Xbox 360 - zh-cn:帝国时代;zh-tw:世紀帝國 - 微軟模擬列車 - 微軟模擬飛行 |
ERP Package | Microsoft Dynamics AX - Microsoft Dynamics NAV - Microsoft Dynamics SL - Microsoft Dynamics GP |