对象:严格的说,对象是复杂数据和程序结构在内存中的表现,只有在程序运行时才存在。包含有方法和属性。

对象的创建及用法

1. Set 语句

将对象引用赋给一个变量或属性,或者将对象引用与事件关联。
Set objectvar = {objectexpression | New classname | Nothing}
-或者-
Set object.eventname = GetRef(procname)
 
参数
objectvar
必选项,变量或属性名称;符合标准变量命名规则。
objectexpression
可选项,与对象名称一致的表达式,另一个相同对象类型、函数或方法的已声明变量,它们返回相同对象类型的对象。
New
用于创建一个类的新实例的关键字。如果 objectvar 包含一个对某个对象的引用,当一个新的引用被赋给这个对象之后,则这个引用将被释放。New 关键仅用于创建一个类的实例。
classname
可选项. 创建的类名称。使用 Class 语句定义类及其语句。
Nothing
可选项。断开 objectvar 与任何指定对象或类的关联。当没有其他变量引用前面的引用对象时,将 objectvar 赋值为 Nothing 以释放与前面的引用对象相关联的系统或内存资源。
object
必选项。与 event 相关联的对象名称。
event
必选项。函数作用域的事件名称。
procname
必选项。包含与event 相关联的 Sub 或 Function 名称的字符串。
 
说明
为了使其有效,objectvar 必须与赋值的对象类型相一致。
Dim、Private、Public 或 ReDim 语句仅声明一个引用对象的变量。在使用. Set 语句为一个具体对象赋值之前,没有实际对象可以引用。
通常, 当您使用 Set 语句将一个对象引用赋给一个变量之前,不会创建那个变量的对象的副本。实际上,只创建了一个对象的引用。多个引用对象变量可以引用相同的对象。因为这些变量都是对象的引用,而不是对对象副本的引用,因此对象中所作的任何变化都可以在引用该对象的所有变量中反映出来。
利用 New 关键字,您可以随时创建一个类的实例,并将一个对象引用变量赋值给它。赋给类的实例的变量一定利用 Dim (或相似的语句)语句事先已经声明。
 

2. CreateObject 函数

创建并返回对 Automation 对象的引用。
CreateObject(servername.typename [, location])
参数
servername
必选项。提供对象的应用程序名称。
typename
必选项。要创建的对象类型或类。
location
可选项。对象所在的网络服务器将被创建。
 
说明
Automation 服务器至少提供一种对象类型。例如,字处理应用程序可以提供应用程序对象、文档对象和工具条对象。
要创建 Automation 对象,将 CreateObject 函数返回的对象赋值给某对象变量
举例,创建Excel表格对象:
Dim ExcelSheet
Set ExcelSheet = CreateObject("Excel.Sheet")
' 上述代码启动创建对象(在此实例中,是 Microsoft Excel 电子表格)的应用程序。
' 对象创建后,就可以在代码中使用定义的对象变量引用此对象。
' 在下面的示例中,可使用对象变量、ExcelSheet 和其他 Excel 对象,包括 Application 对象和 Cells 集合访问新对象的属性和方法。
' 例如:
' 使 Excel 在整个 Application 对象中都可见。
ExcelSheet.Application.Visible = True
' 将一些文本放入工作表的第一个单元格中。
ExcelSheet.ActiveSheet.Cells(1,1).Value = "This is column A, row 1"
' 保存工作表。
ExcelSheet.SaveAs "C:\DOCS\TEST.XLS"
' 关闭 Excel,使 Quit 方法处于 Application 对象中。
ExcelSheet.Application.Quit
' 释放对象变量。
Set ExcelSheet = Nothing
在远程服务器上创建一个对象,当 Internet 安全关闭时只能完成。通过传递计算机名到 CreateObject 服务器名的参数,能在远程网络上创建对象。该名称如同共享部份的机器名。例如网络共享名命名为: "\\myserver\public", servername 是 "myserver"。另外,只能指定 servername 使用 DNS 格式或 IP 地址。
 

3. GetObject 函数

返回对文件中 Automation 对象的引用。
GetObject([pathname] [, class])
参数
Pathname
可选项。字符串,包含待检索对象的文件的完整路径和名称。如果省略 pathname 则必须有 class。
Class
可选项。字符串,对象的类。
 
class 参数的语法格式为 appname.objectype,其中包括以下部分:
参数
appname
必选项。字符串,提供对象的应用程序名称。
objectype
必选项。字符串,要创建的对象的类型或类。
 
说明
使用 GetObject 函数可以访问文件中的 Automation 对象,而且可以将该对象赋值给对象变量。使用 Set 语句将 GetObject 返回的对象赋值给对象变量。
 

常用的VBS调用对象

  • 文件系统对象相关: ("scripting.filesystemobject")
  • 字典相关: ("scripting.dictionary")
  • 脚本外壳相关: ("wscript.shell")
  • windows外壳相关: ("shell.application")
  • 正则表达式相关: ("vbscript.regexp")
  • asp相关: ("mswc.adrotator") ("mswc.nextlink") ("mswc.myinfo")
  • 公用对话框相关: ("mscomdlg.commondialog")
  • 编码与密码相关: ("scriptpw.password") ("scripting.encoder")
  • 邮件发送的组件相关: ("jmail.message") ("cdonts.newmail") ("cdo.configuration") ("eudora.euapplication.1") ("novellgroupwaresession")
  • 水晶报表相关: ("crystalruntime.application")
  • ie浏览器相关: ("internetexplorer.application")
  • windows媒体播放相关: ("wmplayer.ocx") ("wmplayer.ocx.7")
  • 助手角色相关: ("agent.control")
  • ado相关: ("adodb.connection") ("adodb.command") ("adodb.recordset") ("adodb.record") ("adodb.stream") ("dao.dbengine.35") ("adox.catalog") ("adox.table")
  • sql相关: ("sqldmo.sqlserver") ("sqldmo.login") ("sqldmo.backup") ("sqldmo.user") ("sqldmo.backupdevice") ("sqldmo.database") ("sqldmo.restore") ("sqldmo.application") office相关: ("word.application") ("excel.application") ("powerpoint.application") ("excel.sheet") ("frontpage.application") ("access.application") ("msgraph.application") ("outlook.application")
  • 图像图形相关: ("aspimage.jpeg") ("persits.jpeg") ("activeimage.images.1")("jsdraw.ops") ("jsiptc.jpgedit") ("gflax.gflax") ("photoshop.application")
  • 语音朗读相关: ("speech.voicetext") ("speech.voicetext.1") ("sapi.spvoice") ("sapi.spfilestream") ("texttospeech.texttospeech") ("texttospeech.texttospeech.1") ("activevoice.activevoice") ("activevoice.activevoice.1")
  • 操作系统相关: ("jsdlgbox.browser") ("jsbin.binaryops") ("jsform.window") ("jslistvw.list") ("jssys3.ops") ("jssys3.iniedit") ("tli.tliapplication") ("autoitx3.control") ("windowsinstaller.installer") ("virtualserver.application") ("useraccounts.commondialog") ("mosearch.gatherlog.1") ("mscomdlg.commondialog")
  • wmi相关: ("wbemscripting.swbemdatetime") ("wbemscripting.swbemlocator") ("wbemscripting.swbemnamedvalueset") ("wbemscripting.swbemsink","sink_")("wbemscripting.swbemrefresher") ("wbemscripting.swbemlasterror") ("wbemscripting.swbemobjectpath")
  • web,net相关: ("winhttp.winhttprequest") ("winhttp.winhttprequest.5.1") ("msxml2.serverxmlhttp") ("microsoft.xmlhttp") ("microsoft.xmldom") ("msxml2.xmlhttp.4.0") ("wscript.network") ("asphttp.conn") ("inetctls.inet") ("post.clspost") ("webget.web") ("netcommocx.netcomm","com_")("mswinsock.winsock") ("rcbdyctl.setting")

VBS脚本编程(6)——对象的创建与调用的更多相关文章

  1. Vbs 脚本编程简明教程之一

    —为什么要使用 Vbs ? 在 Windows 中,学习计算机操作也许很简单,但是很多计算机工作是重复性劳动,例如你每周也许需要对一些计算机文件进行复制.粘贴.改名.删除,也许你每天启动 计算机第一件 ...

  2. VBS脚本编程(10)——编写WMI脚本

    WMI介绍 1.WMI是什么? WMI--Windows管理规范(Windows Management instrumentation). 是一项核心的Windows管理技术. 采用统一的.基于开放标 ...

  3. VBS脚本编程(1)——数据类型、变量和常量

    数据类型 VBS只有一种数据类型,称为Variant.而该类型是可变的,以下是Variant的子类型: 子类型 描述 Empty 未初始化的Variant.对于数值变量,值为0:对于字符串变量,值为零 ...

  4. VBS脚本编程(3)——常用函数

    数据类型转换函数 1.Hex 函数 返回表示十六进制数字值的字符串. Hex(number) number 参数是任意有效的表达式. 说明 如果 number 参数不是整数,则在进行运算前将其四舍五入 ...

  5. C++编程思想 - 对象的创建和使用

    前言 用户定义的数据类型(data type)或类(class),是C++区别于传统过程型语言的地方. 通常将创建好的类库存放在库(library)中. 本篇会使用几个C++类库(class libr ...

  6. Shell脚本编程实战一:创建按天备份的脚本工具

    转载请注明原文地址:http://www.cnblogs.com/ygj0930/p/8241256.html 一:准备工作:创建归档目录 与  归档配置文件 归档目录:创建一个仓库目录,专门用于存放 ...

  7. VBS脚本编程(5)——过程与函数

    过程是构成程序的一个模块,往往用来完成一个相对独立的功能.过程可以使程序更清. Sub过程与Function函数的区别: Sub没有返回值,Function有返回值: Sub不能放在表达式中,Func ...

  8. VBS脚本编程(4)——流程控制语句

    分支结构--If .. Then .. Else .. 根据表达式的值有条件地执行一组语句. If condition Then statements [Else elsestatements ] 或 ...

  9. VBS脚本编程(2)——运算符

    算数运算符 用于执行数学计算的运算符. 1.加法运算符( + ) 计算两个数之和. 2.减法运算符( - ) 计算两个数值的差或表示数值表达式的负值. 3.乘法运算符(*) 计算两个数之积. 4.除法 ...

随机推荐

  1. Mybatis学习之自定义持久层框架(一) 为什么要用框架而不直接用JDBC?

    前言 说起Mybatis,相信大家都不会感到陌生,它是一款优秀的持久层框架,应用于java后端开发中,为客户端程序提供访问数据库的接口. 我们都知道,JDBC是Java语言中用来规范客户端程序如何来访 ...

  2. NAG博客目录

    一.Scrum Meeting 1. Alpha Scrum meeting 1 Scrum meeting 2 Scrum meeting 3 Scrum meeting 4 Scrum meeti ...

  3. golang:三次握手四次挥手总结

    TCP的三次握手 所谓三次握手 Three-Way Handshake 是指建立一个TCP连接时,需要客户端和服务端总共发送3个包以确认连接的建立.好比两个人在打电话: 当连接被建立或被终止,交换的报 ...

  4. golang:TCP总结

    在TCP/IP协议中,"IP地址+TCP或UDP端口号"唯一标识网络通讯中的一个进程."IP地址+端口号"就对应一个socket.欲建立连接的两个进程各自有一个 ...

  5. 登录框-element-ui 样式调节

    element-ui样式调节 首先设置布局 如果想要实现如下效果 需要两行,然后设置偏移,第一行中间只是站位,没有内容,可以考虑使用div占位,设置最小高度 el-card调整圆角 border-ra ...

  6. 使用chrony安装chrony

      yum install chrony -y   使用chrony安装chrony 使用root用户登录~]# yum install chrony 默认的chrony进程位置/usr/sbin/c ...

  7. 端口映射(socket应用)

    # coding=gb2312 import sys import time import socket import thread import subprocess ############### ...

  8. Java--反射机制——反射 API(Day_04)

    生活中迷茫感的产生,往往源之于坚持一件事放弃的那一刻,因为从那一刻起,你开始变得无聊,变得没有方向感. 运行环境 JDK8 + IntelliJ IDEA 2018.3  本文中使用的jar包链接 h ...

  9. 1、大数据 Hadoop配置和单机Hadoop系统配置

    #查看服务器ip ip add #设置主机名称 hostnamectl set-hostname master bash #查看 hostname #绑定ip vi /etc/hosts 添加 服务器 ...

  10. MySQL中InnoDB存储引擎的实现和运行原理

    InnoDB 存储引擎作为我们最常用到的存储引擎之一,充分熟悉它的的实现和运行原理,有助于我们更好地创建和维护数据库表. InnoDB 体系架构 InnoDB 主要包括了: 内存池.后台线程以及存储文 ...