首页 技术 正文
技术 2022年11月22日
0 收藏 824 点赞 4,669 浏览 4378 个字

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


对象的创建及用法

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”)
相关推荐
python开发_常用的python模块及安装方法
adodb:我们领导推荐的数据库连接组件bsddb3:BerkeleyDB的连接组件Cheetah-1.0:我比较喜欢这个版本的cheeta…
日期:2022-11-24 点赞:878 阅读:9,077
Educational Codeforces Round 11 C. Hard Process 二分
C. Hard Process题目连接:http://www.codeforces.com/contest/660/problem/CDes…
日期:2022-11-24 点赞:807 阅读:5,552
下载Ubuntn 17.04 内核源代码
zengkefu@server1:/usr/src$ uname -aLinux server1 4.10.0-19-generic #21…
日期:2022-11-24 点赞:569 阅读:6,400
可用Active Desktop Calendar V7.86 注册码序列号
可用Active Desktop Calendar V7.86 注册码序列号Name: www.greendown.cn Code: &nb…
日期:2022-11-24 点赞:733 阅读:6,176
Android调用系统相机、自定义相机、处理大图片
Android调用系统相机和自定义相机实例本博文主要是介绍了android上使用相机进行拍照并显示的两种方式,并且由于涉及到要把拍到的照片显…
日期:2022-11-24 点赞:512 阅读:7,813
Struts的使用
一、Struts2的获取  Struts的官方网站为:http://struts.apache.org/  下载完Struts2的jar包,…
日期:2022-11-24 点赞:671 阅读:4,896