网站首页 > 技术教程 正文
事件,在JSA中是一项非常重要的一块。用户的每一次操作都是一个事件,比如:
选中一个单元格或单元格区域;切换到另外一个工作表;关闭工作簿;点击一个单元格等等。。这些都是事件,JSA系统都会对这些事件进行监听,当事件发生时,会产生点什么结果。
当我们为这个事件发生时要产生的结果编个程序,那么事件发生的时候就会按这个程序执行。。
事件让程序的运行显得智能化了。
JSA宏教程中有事件的对象模型就三个:Application对象、Workbook对象、WorkSheet对象。
接下来几期里,我们将陆续熟悉这几个对象的事件:
Application对象的事件列表:
可以看到,在上图中,Application对象因为是顶层对象,它拥有了workbook对象的事件、worksheet对象的事件、还有几个关于window窗口的事件,以及最后的文档主题变化的事件。也就是在WPS表格里,Application作为顶层对象,它拥有它的子对象事件。只不过,在顶层对象中对子对象事件的撑控的视野与子对象自身是不一样的。
事件简单介绍
1、Workbook相关的事件:
包含了:工作簿的新建、打开、关闭、打印、保存、失去焦点、获得焦点、创建新工作表、创建新图表这些
2、workSheet相关的事件:
包含了:工作表的失去焦点、获得焦点、删除前、双击前、右击前、工作表计算、工作表切换、选择区改变、超链接跟踪等等
3、Window相关的事件
包含:窗口失去焦点、获得焦点、改变大小
4、文档相关的事件
文档主题改变事件
练习
练习1、关于工作簿事件的练习。
分别练习工作簿的打开、新建、新建工作表、保存、关闭、失焦、获焦这几个事件:
/*
练习1、关于工作簿事件的练习。
分别练习工作簿的打开、新建、新建工作表、保存、关闭、失焦、获焦这几个事件
*/
//打开工作簿
function Application_WorkbookOpen(wk)
{
alert(`工作簿被打开了:打开的工作簿名称是${wk.Name}`);
}
//新建工作簿
function Application_NewWorkbook()
{
alert('新建了一个工作簿');
}
//新建工作表
function Application_WorkbookNewSheet(Wb, Sh)
{
alert(`在${Wb.Name}工作簿中新建了一个工作表${Sh.Name}`);
}
//保存工作簿
function Application_WorkbookAfterSave(Wb, Success)
{
let r = Success ? "成功":"失败";
alert(`${Wb.Name}工作簿保存${r}`);
}
//关闭工作簿
function Application_WorkbookBeforeClose(Wb, Cancel)
{
alert(`${Wb.Name}工作簿正在关闭`);
}
//工作簿获焦
function Application_WorkbookActivate(Wb)
{
alert(`${Wb.Name}工作簿获得了焦点`);
}
//工作簿失焦
function Application_WorkbookDeactivate(Wb)
{
alert(`${Wb.Name}工作失去了焦点`);
}
一个关闭事件,引发两个事件。
练习2、关于工作表事件的练习。
分别练习工作表的切换、删除、选择区改变、双击、失焦、获焦这几个事件
/*
练习2、关于工作表事件的练习。
分别练习工作表的切换、删除、选择区改变、双击、失焦、获焦这几个事件
*/
function Application_SheetChange(Sh, rg)
{
alert(`选中了${Sh.Name}工作表`);
}
function Application_SheetBeforeDelete(Sh)
{
alert(`删除了${Sh.Name}工作表`);
}
function Application_SheetBeforeDoubleClick(Sh, rg, cancel)
{
alert(`双击了${Sh.Name}工作表中的${rg.Address()}区域`);
}
function Application_SheetActivate(Sh)
{
alert(`${Sh.Name}获得焦点`);
}
function Application_SheetDeactivate(Sh)
{
alert(`${Sh.Name}失去焦点`);
}
练习3、关于app窗口事件的练习。
分只是因为练习app窗口改变大小、失焦和获焦这几个事件。
/*
练习3、关于app窗口事件的练习。
分只是因为练习app窗口改变大小、失焦和获焦这几个事件。
*/
function Application_WindowActivate(Wb, Wn)
{
alert(`${Wb.Name},${Wn.Caption}窗口获得焦点`);
}
function Application_WindowDeactivate(Wb, Wn)
{
alert(`${Wb.Name},${Wn.Caption}窗口失去焦点`);
}
function Application_WindowResize(Wb, Wn)
{
alert(`${Wb.Name},${Wn.Caption}窗口大小在改变`);
}
以上代码复制后即可运行。
小编的演示文档会保存起来,免费提供给大家学习,如有需要关注后私信说明要哪一章节的演示文档。
请注意:演示文档与小编的教程同步即是小编的教程到哪一步,演示文档就到哪一章节。
关注我,持续共同学习,一起踏上wps宏(JSA)的登山之路。
猜你喜欢
- 2025-04-27 spring框架怎么实现依赖注入?
- 2025-04-27 卸载 Mac 应用程序的 4 种基础方法
- 2025-04-27 用户界面框架jQuery EasyUI示例大全之Application
- 2025-04-27 win7 64位 server.CreateObject("excel.application")
- 2025-04-27 SpringCloud的配置文件bootstrap和application的区别
- 2025-04-27 Excel VBA小技巧:用Application.Version判断用户Excel版本
- 2025-04-27 详解flink 1.11中的新部署模式-Application模式
- 2025-04-27 为什么CEO念“C~E~O”,而APP却不能念A~P~P?
- 2025-04-27 汇川技术|Inoproshop软件中Application简介及常用功能
你 发表评论:
欢迎- 04-30关于面向对象编程思想的一些思考(面向对象编程六大原则)
- 04-30C 语言标准(c 语言标准库谁写的)
- 04-30C语言标准,ANSI C,ISO C,GNU C(c语言标准库参考手册)
- 04-30适合零基础初学者学习C语言第一课教程,揭开C语言的神秘面纱
- 04-30C语言简介(c语言简介及基础)
- 04-30C语言的来世与今生(c语言的来世与今生的区别)
- 04-30丹尼斯·斯科特获得了魔术系列的终极荣誉
- 04-30c语言的标准(c语言的标准函数名有哪些)
- 最近发表
- 标签列表
-
- sd分区 (65)
- raid5数据恢复 (81)
- 地址转换 (73)
- 手机存储卡根目录 (55)
- tcp端口 (74)
- project server (59)
- 双击ctrl (55)
- 鼠标 单击变双击 (67)
- debugview (59)
- 字符动画 (65)
- flushdns (57)
- ps复制快捷键 (57)
- 清除系统垃圾代码 (58)
- web服务器的架设 (67)
- 16进制转换 (69)
- xclient (55)
- ps源文件 (67)
- filezilla server (59)
- 句柄无效 (56)
- word页眉页脚设置 (59)
- ansys实例 (56)
- 6 1 3固件 (59)
- sqlserver2000挂起 (59)
- vm虚拟主机 (55)
- config (61)
本文暂时没有评论,来添加一个吧(●'◡'●)