分享

Excel之VBA常用功能应用篇:CreateObject函数创建对象方法

 每天学学Excel 2022-02-15

函数通常可以实现一些功能,可以返回某些值或对象,赋值给变量达到过程管理的目的。

本节介绍一个很有用的函数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方法只有一种:

'首先定义一个对象变量,ExcelApp,变量名可根据自己要求设置。

Dim ExcelApp As Object

'其次使用CreateObject函数创建对象并引用

Set ExcelApp= CreateObject("Excel.Application")

具体可对照示例完整地理解。

    本站是提供个人知识管理的网络存储空间,所有内容均由用户发布,不代表本站观点。请注意甄别内容中的联系方式、诱导购买等信息,谨防诈骗。如发现有害或侵权内容,请点击一键举报。
    转藏 分享 献花(0

    0条评论

    发表

    请遵守用户 评论公约

    类似文章 更多