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/宏编辑书籍

时间: 2024-10-03 14:25:44

qtp动态加载宏的相关文章

QTP动态加载对象库

Public Function AddObjectRepository(path) On Error Resume Next Dim pos, repath If instr(path,".tsr") Then repath = path else repath = path & ".tsr" End If RepositoriesCollection.RemoveAll() print repath RepositoriesCollection.Add (

关于apk加壳之动态加载dex文件

由于自己之前做了一个关于手机令牌的APK软件,在实现的过程中尽管使用了native so进行一定的逻辑算法保护,但是在自己逆向破解的过程中发现我的手机令牌关键数据能够“轻易地”暴露出来,所以我就想进一步的对其进行加固.于是,我使用的网上常用的梆梆加固.爱加密和阿里的聚安全应用来对我的apk进行一个加固保护.加固后,出于好奇心,我想对这些加固的原理进行一个了解,便于我自己能够实现这个加固的方法.于是开始了网上关于这方面的学习,我将这些加固的大致原理进行了一个总结,发现它们实现的最主要的方法就是利用

mini2440驱动奇谭——LED驱动与测试(动态加载)

我的博客:http://blog.csdn.net/muyang_ren 实现功能:开发板动态加载led驱动模块并能通过测试程序 系统:Ubuntu 14.04 驱动交叉编译内核:linux-2.6.32.2               //建立交叉编译 开发板:mini2440 (128M nandflash)     //关于怎么烧写linux到开发板请点击,Linux RootFs 选择rootfs_rtm_2440.img  (光盘目录:image/linux/rtm ) 开发所需工具:

Qt动态连接库/静态连接库创建与使用,QLibrary动态加载库

版权声明:若无来源注明,Techie亮博客文章均为原创. 转载请以链接形式标明本文标题和地址: 本文标题:Qt动态连接库/静态连接库创建与使用,QLibrary动态加载库     本文地址:http://techieliang.com/2017/12/680/ 文章目录 1. 动态连接库创建与使用  1.1. 项目创建  1.2. 调用-使用.h文件 2. 静态库创建及使用  2.1. 创建  2.2. 使用 3. QLibrary动态加载动态库  3.1. 介绍  3.2. 范例  3.3.

页面滚动图片等元素动态加载插件jquery.scrollLoading.js

如果一个网页很长,那么该页面的加载时间也会相应的较长.而这里给大家介绍的这个jQuery插件scrollLoading的作用则是,对页面元素进行动态加载,通俗的说就是滚到哪就加载到哪,屏幕以下看不见的就不用加载了.这样还可以在一定程度上节省服务器资源.该插件作者的网页将该插件的功能和使用方法描述的非常详细,这里把最一般最普遍的使用情况给大家展现一下. 插件作者:http://www.zhangxinxu.com/ 首先我们需要加载jQuery库和本插件js文件. (jquery.scrollLo

EasyUi -- 如何根据动态加载panel和Datagrid

在做项目的过程中,前台的面板和表格一般都不是固定的,它是根据后台传来的数据进行变化的.举个例子: 实现: 看一下我们的效果图: 这个上面的最左边的Panel要根据系别动态加载,有多少个系别就要加载都少个Panel,Panel里面的是一个table,这个里面也是动态加载出来. 右边是一个datagrid,datagrid里面的工作效率.业务能力等等也都是数据库动态加载出来的,包括后面的ABCD也是动态的. 这样就算数据库中的数据怎么变,这里都会动态地加载出来.那么怎么实现这些功能呢? 一.动态加载

Python模块动态加载机制

本文和大家分享的主要是python中模块动态加载机制相关内容,一起来看看吧,希望对大家学习python有所帮助. import 指令 来看看 import sys 所产生的指令: co_consts : (0, None) co_names : ('sys',) 0 LOAD_CONST               0 (0) 2 LOAD_CONST               1 (None) 4 IMPORT_NAME              0 (sys) 6 STORE_NAME  

黄聪:AngularJS 动态加载控制器实例-ocLoazLazy

一.AngularJS动态加载控制器和视图实例 路由配置关键代码: [javascript] view plain copy print? //二级页面 $stateProvider.state('main', { url: '/:name', /**如果需要动态加载数据和控制器***/ views: { "": { templateUrl: function ($stateParams) { console.info($stateParams); return '/template/

动态加载JS

res/js/modules/s01.js alert("动态加载JS成功!");  形式1: <script src="layui-v1.0.9_rls/layui.js"></script> <script> layui.use("res/js/modules/s01"); </script> 形式2: <script src="layui-v1.0.9_rls/layui.js