首页 > 代码库 > qtp动态加载宏

qtp动态加载宏

说明:本文例子基于excel2010,其他版本类似

一、eom模型

  在学习宏前,先了解下什么是eom模型。

  EOM:Excel Automation Object Model,excel的自动化模型对象。既然需要使用EOM就必须先要对其进行引用,引用完之后方可对其封装的所有方法进行调用,并对excel进行自动化。excel的组件和类名分别为Excel和Application。下图展示部分excel对象模型

             技术分享

说明:

application—>此主对象引用Excel本身。

Workbooks—>此对象引用当前打开的所有Excel工作簿集合

Workbook—>此对象引用单个已打开的Excel工作簿对象

Worksheets—>此对象引用已打开且被选中的工作簿中的工作表集合

Worksheet—>此对象引用已打开且被选中工作簿中的单个工作表

问题1:如何调用和关闭Excel实例

          技术分享

 

问题2:如何新建并保存Excel工作表

         技术分享

 

二、动态加载并运行宏代码

  通过上面例子,了解了如何使用EOM自动化模型来对Workbook和WorkSheet进行自动了,下面我们学习动态加载并运行宏代码

  excel本身有个相当强大的功能,那就是宏,英文为Macro,宏的作用可以让用户自行定义一些操作,并通过计算机进行自动化,本文主要讲述宏的动态加载和运行。

场景:对工作簿year的shell1中所有“2017”更改为“2018”,所有“2016”更改为“2017”,“2015”更改为“2016”,且保存为.xlsx格式

1、准备需要改动的excel文件,保存路径为:E:\测试\qtp_test\data\年份\year.xlsx

2、创建需要加载的宏函数文件,存放路径设置为:E:\测试\qtp_test\lib\ply.cls

  文件内容如下:

技术分享

3、qtp脚本如下,脚本中有详细注释,在此不再做解释,相信读者能看明白

技术分享

 

建议:如果读者想要了解更多excel的自动化功能,建议参考Excel VBA/宏编辑书籍

 

qtp动态加载宏