函数通常可以实现一些功能,可以返回某些值或对象,赋值给变量达到过程管理的目的。
本节介绍一个很有用的函数CreateObject,此函数十分强大,简单理解就是创建对象的意思。
什么是创建对象呢?
可以想象成新建了一个实物,如一间房子,一个虚拟人物等等。
同理,也可以创建一个软件应用。如Excel软件或Word软件文档。
也就是说,这个函数提供了一种可能,一种可以创造万物的可能,本来没有的东西,通过这个函数就可以创建出来了。似乎是上帝的工具,上帝说有人,就有了人,上帝说有天,就有了天。
那么问题来了,如何利用这个函数创建对象呢?
如上图所示,CreateObject()函数语法结构
根据语法可以创建相应的对象类型,然后再根据对象的属性方法或事件来进行编程。这就是此函数的神奇之处。
这样有一个好处,就是本来没有的对象,我们创建了一个,然后进行了一些对象操作,再把这个对象抹除,什么都不留下,但是,我们会得到一个结果,一个想要的结果。
神奇之处犹如来过这个世界,走了之后,发现什么都不存在,感觉没有来过一样。
具体看一下示例代码:
'使用CreateObject函数创建工作薄
Dim xApp As Excel.Application '定义Excel应用对象
Dim xBook As Excel.Workbook '定义工作薄对象
Dim xSheet As Excel.Worksheet '定义工作表对象
Set xApp = CreateObject("Excel.Application") '创建并引用Excel应用对象
Set xBook = xApp.Workbooks.Add '添加工作薄
Set xSheet = xBook.Worksheets(1) '引用工作表1
xSheet.Cells(1, 1).Value = "这是一个新工作表!"
xApp.Application.ScreenUpdating = False
xApp.Application.DisplayAlerts = False
xBook.SaveAs ThisWorkbook.Path & "\newBook.xlsx"
xApp.Visible = True
xBook.Close '关闭工作薄
xApp.Application.ScreenUpdating = True
xApp.Application.DisplayAlerts = True
xApp.Quit '退出Excel应用
Set xApp = Nothing
Set xBook = Nothing
Set xSheet = Nothing
上述代码执行之后,电脑中发生了一些变化,在当前工作目录中新建了一个newBook.xlsx工作薄,并且在第一个工作表中留下一段话”这是一个新工作表!”,之后悄无声息地关闭Excel应用。
有什么用处呢?
最大用处在于可以跨表操作,就是在A工作薄中操作B工作薄的内容,而且神不知鬼不觉。
这只是CreateObject()函数的其中一个使用方法,严格来说,它可创建很多不同的应用对象。
如下表所示:
CreateObject() 创建如下对象: |
creatobject(“adodb.recordset”) 数据库记录操作 |
creatobject(“scripting.filesystemobject”) 文件操作 |
creatobject(“wscript.shell”) SHELL creatobject(“wscript.network”) 网络操作 |
createobject(“microsoft.xmlhttp”) XMLHTTP ,远程获取文件用的 |
createobject (“msxml2.xmlhttp.4.0”) 同上 |
createobject(“adodb.stream”) 数据流传输 |
createobject(“adodb.connection”) 数据库连接 |
createobject (“word. application “) WORD |
createobject (“excel. application “) EXCEL |
createobject (“mswc.adrotator”) 广告 |
createobject(“scripting.dictionary”) HASH表操作 |
createobject(“powerpoint.application”) |
createobject(“Microsoft.XMLDOM”) XML操作 |
createobject(“WScript.Shell”) |
createobject(“wscript.network”) |
createobject(“MSWC.adRotator”) |
createobject(“excel.sheet”) |
createobject(“frontpage.application”) |
createobject(“access.application”) |
createobject(“msgraph.application”) |
createobject(“photoshop.application”) |
如果有点看不明白,那就对了,每个应用有其操作方法,但其CreateObject方法只有一种:
‘首先定义一个对象变量,ExcelApp,变量名可根据自己要求设置。
Dim ExcelApp As Object
‘其次使用CreateObject函数创建对象并引用
Set ExcelApp= CreateObject(“Excel.Application”)
具体可对照示例完整地理解。
欢迎关注、收藏
—END—
免责声明:本站所有文章内容,图片,视频等均是来源于用户投稿和互联网及文摘转载整编而成,不代表本站观点,不承担相关法律责任。其著作权各归其原作者或其出版社所有。如发现本站有涉嫌抄袭侵权/违法违规的内容,侵犯到您的权益,请在线联系站长,一经查实,本站将立刻删除。 本文来自网络,若有侵权,请联系删除,如若转载,请注明出处:https://itzsg.com/10089.html