总第360期
2021年4
月利用VBA 在PowerPoint 中快速绘制无机化学方程式
张进军
摘 要:利用PowerPoint 自带的VBA 宏语言进行编程,可以快速绘制无机化学方程式。使用程序对于输入的化学方程式基本信息进行分析,自动根据反应条件的多少更改等号的长短,自动分析并根据需要将数字格式更改为下标,自动分析并根据需要在生成物后面添加气体符号或沉淀符号。程序绘制出的方程式美观大方,具有很好的实用价值。关键词:VBA ;PowerPoint ;快速绘制;化学方程式
作者简介:张进军,本科,高级教师。江苏省常熟市外国语初级中学,215500
PowerPoint 是教育教学中最常用的课件演示软件。使用PowerPoint 编辑化学课件时,经常需要录入无
机化学方程式。在教学实践中,通常采用插入文本框的方式绘制反应物和生成物的化学式、绘制反应条件,并最终和文本框组合在一起。绘制化学方程式过程耗时耗力,而且很难做到美观大方。主要原因:一是化学方程式中,化学式中的数字均需要更改为下标格式,每次更改都需要使用快捷键或点击按钮。二是气体符号“↑”和沉淀符号“↓”无法直接从键盘输入,通常需要通过插入符号才能实现。三是插入反应条件的文本框后,反应方程式中的“=”无法更改长短。四是反应条件与化学方程式主体在组合前需要调整位置,很难精确定位。
VBA(Visual Basic for Application)是一种事件驱动编程语言,默认情况下内置于PowerPoint 等Office 系列软件中。VBA 的强大之处是,几乎所有可以使用鼠标、键盘执行的操作都可以通过VBA 编辑程序实现。使用VBA 编辑的程序也被称为“宏”。利用VBA 进行编程,可以快速完成下标的更改、气体符号或沉淀符号的插入,也可以进行文本框的精确定位。
一、程序开发环境
程序的设计和应用基于PowerPoint 2013或以上版本,推荐目前应用较广的PowerPoint 2016。默认情况下,安装PowerPoint 时,已经附加安装了VBA 相关功能。
由于VBA 程序功能强大,出于安全考虑,Office 软件隐藏了VBA 功能,并禁止运行VBA 。使用需要打开VBA 的开发工具,并允许启用所有宏。
在“开发工具”选项卡上,点击"Visual Basic"按钮,就打开了VBA 程序的开发窗口。鼠标单击“插入”菜单上的“模块”按钮后,在弹出的“模块1”窗口中就可以编写VBA 程序代码了。
二、程序初步设计1.程序设计目标
执行一个过程,自动插入化学方程式。例如执行如下程序代码:
Sub Test()
insertChemEquation "2NaOH+(NH4)2SO4", "△=", "Na2SO4+2NH3+2H2O"
End Sub
在当前打开的演示文稿幻灯片底部,可绘制出化
学方程式:
visual basic pdf
2.程序设计思路
(1)将化学方程式拆分成反应物、生成物、等号、等号上方的反应条件、等号下方的反应条件分别进行绘制。
其中反应物、生成物、反应条件用Shapes 对象的AddTextbox 对象绘制文本框实现,等号则用Shapes 对象的AddLine 方法画两条近距离的直线,并且线的长度取决
教育信息化与智能化
于反应条件文本框的宽度。在对几个模块进行组合时,要以等号为中心进行定位。
(2)程序实现根据需要自动将化学方程式中的数字改为下标的功能。
使化学计量数保持正常数学显示,化学式中的数字则显示为下标。实现的思路就是把字符串以“+”为分隔符分解成小字符串,然后分别从头检索数字,使化学计量数的数字正常显示,字母或括号后的数字更改为下标。用程序代码实现更改下标的功能,采用了在文本框中插入公式的方法。例如要把
(NH4)2SO4更改为(NH
4)
2
SO
4
,可以先将(NH4)2SO4更
改为(NH_4 )_2 SO_4(注意下标数字前面有一空格),然后通过CommandBars对象的ExecuteMso方法执行两条命令"EquationInsertNew"和"EquationProfessional"即可实现转变。
(3)程序实现根据需要自动添加气体符号、沉淀符号的功能。
程序首先分析反应物、生成物字符串中是否有气体或沉淀,再根据方程式的书写规则决定是否需要在生成物相应化学式后面添加气体符号或沉淀符号。程序判断气体或沉淀的方法是,建立常见气体或沉淀的数组,然后在数组中进行字符串索引。
3.程序模块设计
(1)判断某字符串代表的物质是否是气体,程序设计流程见图1。
图1 程序设计流程1
(2)判断某字符串代表的物质是否是沉淀,程序设计流程见图2。
图2 程序设计流程2
(3)将字符串中需要变为下标的数字做上标记,程序设计流程见图3。
图3 程序设计流程3
(4)绘制化学方程式的主函数,程序设计流程见图4。
图4 程序设计流程4
三、程序可视化界面设计
调用insertChemEquation自定义函数生成方程式虽然
总第360
期2021年4月
总第360期
2021年4
月可以生成相对完美的无机化学方程式,但对于一般化学教师而言,使用起来仍不是很方便。设计可视化界面,只需要进行简单的输入或鼠标点击,便可实现方程式的绘制。
点击VBA 编辑器“插入”菜单中“用户窗体”,弹出用户窗体UserForm1。点击VBA 编辑器“工具”菜单中的“附加控件”,在弹出的对话框中勾选"Microsoft ListView Control ,Version 6.0"后,点击确定。利用“控件”工具箱中的控件,进行如下可视化界面设计(见图5)
图5 可视化界面设计
界面主要分为两个区:区域一是“编辑方程式区”,在TextBox1中输入反应物,在TextBox2中输入生成物,根
据需要可以在TextBox3,TextBox4中输入反应条件,然后点击插入方程式按钮即可在幻灯片中快速插入化学方程式。区域二是“快捷索引区”,双击ListView1中的化学方程式字符串,即可快速插入方程式。ListView1中显示的方程式字符串,可以用文本文件预置。在C 盘根目录下建立名为“ ”的文本文件,每行内容显示如:2KMnO4|△=|K2MnO4+MnO2+O2。
每一行是一个化学方程式,其中反应物、反应条件、生成物之间用“|”隔开。文本文件的最后一行保留为空行。这样就可以把中学阶段常用的无机化学方程式都预先录入文本文件中。此外,在TextBox1中输入反应物相关内容时,会根据内容在“快速索引区”适时更新,以便更快捷地索引所需方程式。
四、结语
实践证明,在PowerPoint 中用VBA 绘制化学方程式是可行的,提高了制作PowerPoint 的效率和效果,有效解决了中学化学教师录入化学方程式难的问题。
(上接22页)
本特性和系统分析的理解,避免了“拍脑袋”式的随意设计,并运用科学的工具,通过建模初步形成了系统性的工程思维,为后续设计制作桥梁模型打下坚实基础。
2.运用“我家我设计6.0”软件的教学实践《通用技术(必修2):技术与设计2》中的“系统的优化”也是一个教学难点,运用“我家我设计6.0”居室格局设计仿真软件,可让学生在软件中绘制80平方米的两居室的外围框架(见图4),引导学生思考如何在有限的空间内进行权衡比较、系统分析,合理布局客厅、厨房、卫生间、卧室的位置。当学生基本掌握后,就可以针对自己家居室的情况在软件中进行系统优化,实现学以致用,使学生兴趣高涨。
图4 学生在“我家我设计6.0”中进行居室优化
设计并进行三维仿真
通过这个软件,学生可以高效准确地理解权衡比较、系统分析这种工程思维,并在近似真实的工程项目中进行初步运用。
四、结语
笔者运用两款成本低、易上手、学生感兴趣的仿真软件,将学生带入近似真实的工程情境中,让学生在简单建模过程中感受权衡比较、掌握系统分析的工程思维方法,教学效果比单一的讲授式教学好很多,真正激发了学生主动学习的动力,所探讨的问题也是工程技术的
基本问题,对广大学校非常有借鉴意义,适合推广。参考文献
[1] 中华人民共和国教育部.普通高中通用技术课程标
准(2017年版)[S].北京:人民教育出版社,2018.