按键精灵执行a,执行中出现某个情况会中断a执行b,执行完b后继续执行a(从a中断的地方开始)怎么写? 70
一般的宏都是顺序的,但是往往很多时候我们希望在执行时能够通过某些条件做些判断,选择时机或者选择性的执行不同的宏,那么你肯定想到的是将不同的操作定义一个宏,需要时调用执行,但是你想简单了,宏命令在按键精灵里面需要占用用户接口的,即按键,而按键精灵本身的目的就是模拟按键的,想通过模拟按键去触发其他宏,岂不知这给自己埋了一个大坑。
如果你有编程基础,这就是函数调用,如果没有建议学习一点VB的编程基础,很多人遇到你这种稍微复杂的执行顺序就会写多个宏,然后用宏调用宏,这种设计的弊端非常大,1、容易导致执行逻辑混乱,2、按键被没意义的占用(键盘上允许定义的按键时有限的,很多应用程序都会占用一些控制键,留给用户的按键资源没多少),从而当模拟某些动作时会触发其他无关宏,比如当输出一段文本时,如果里面包含某个宏触发字符,就会误触发无关宏,引起混乱。这时候你会想我禁用掉不就好了吗。但是每次每次在调试或执行时,都要先禁用其他无关宏,很不方便。3、效率低下。
正确的设计是一个任务用一个宏,宏内的子任务写在库中,并根据不同用途分类便于管理。
给你个我为自己日常工作写的一套库以及其中一个任务代码片段。下图是一个工作宏,其中右侧选中代码为调用库函数以获取指定窗口的尺寸数据。左侧为命令库列表。
下图是该函数在指定命令库中的代码。