介绍一种用Word编写化学计算器的方法

2011-12-27 07:54黄兆龙唐云翠王丽菊许琴芬毕建梁
红河学院学报 2011年2期
关键词:文本框窗体纯水

黄兆龙,唐云翠,王丽菊,李 芳,许琴芬,毕建梁

(红河学院理学院云南蒙自661100)

介绍一种用Word编写化学计算器的方法

黄兆龙,唐云翠,王丽菊,李 芳,许琴芬,毕建梁

(红河学院理学院云南蒙自661100)

利用MsOffice内嵌的VBA工具,将普通的Word文档编制成一个具有计算面板(窗口),可作各种计算的化学软件.通过实例介绍了Word文档型化学软件的编写方法.

MsOffice;VBA;文档型软件;化学计算器

Ms Office是众所周知的办公软件,Word有强大的文字表达功能,Excel有强大的统计与计算功能,Powerpoint有多彩的演示功能.应用Office的不同软件可以满足文字处理和数据处理的诸多要求.在化学学习中,尤其在分析化学的学习中,许多知识点的讨论和处理都以数据形式来表现,涉及到较多的公式计算,如何利用Word或Excel来编写具有计算功能,又具有交互学习功能的Offiec文档——文档型软件,是一个很有意义的开发问题,目前,有关的文献或作品还鲜有报道[1].我们利用Ms Office内嵌的VBA(Visual Basic for Application),在编写Word化学文档时,通过添加控件,编写简单的VB代码,巧妙地拓展了Word文档的计算功能和学习功能,使一篇很普通的Word文档变成了一个具有窗体形式和计算功能的文档型化学计算器.现以“各种条件下的沉淀溶解度计算”软件为例,介绍文档型化学计算器的编写方法.

1 “各种条件下的沉淀溶解度计算”的面板设计

各种沉淀溶解度计算是《分析化学》中重量分析的计算内容,情况复杂,计算繁琐,涉及到前述的几章内容.如果将相关内容进行梳理、归纳,无疑有助于相关知识的学习和理解,如果能在学习知识要点或计算公式的同时,随时调入与之对应的化学计算器,进行任意条件下的化学实例计算,这将会使学习和运用相得益彰,有利于激发和调动学生的学习兴趣,提高学习效率和实用功能.为此,我们选择了用word文档来编辑一个化学计算器——各种条件下的沉淀溶解度计算(化学计算器).

计算器面板基本框架:一张表格、少量文字、若干个计算窗体.通过表格中的按钮控件调出计算面板.

“各种条件下的沉淀溶解度计算”的文档部分见图1:

图1 软件的文档部分

文档右栏中含各部分的计算链接,需要计算该类问题时,可以单击"我要计算"按钮,即可调出对应的计算面板.见图2:

图2 纯水中的溶解度计算面板

它包括公式提示、基本的参数输入及计算结果框、三个按钮.对于各种情况下需要输入的条件或参数(例如,含酸效应时需pH值、各级酸离解常数等),则在按下“计算”按钮后,结合实际情况通过对话框方式输入数据.这样设计,既可使计算面板简洁明了,又可增强计算的交互性.图3是计算有酸效应的溶解度时弹出的pH值输入框(对话框):

图3 数据输入的对话框

按下“确定”后还会弹出离解常数输入框.数据输入完毕,计算结果会显示在图2下部的溶解度文本框中(S).

2 控件配置及其功能的实现

2.1 控件及计算面板的配置

MsOffice中已有大量的控件,要在Word文档中插入控件,可在Word编辑界面下,点工具栏的“视图/工具栏/控件工具箱”,便弹出图标显示的控件工具箱,单击需要的按钮、文本框、标签等控件,控件就会插入到文档的光标处,然后对插入的控件进行简单编辑(改名、编辑字体、字号、颜色、调整控件大小等),对按钮等控件,需编写简单的代码,让它来实现计算、赋值和提示功能.要在计算面板(窗体)中插入控件,可按下Alt+F11,调出VB编辑器,单击工具栏的“插入/用户窗体”,即可在右侧出现一个新窗体(即计算面板),调整窗体大小,单击工具栏的“视图/工具箱”,调出控件工具箱,在窗体中添加必要的控件,并编辑控件,即得到了图2所示的计算面板.

2.2 控件代码编写

计算面板的计算功能是通过按钮控件(也可通过其他控件)来触发计算相关的子程序,根据输入的数据和条件来完成计算.因此代码编写是必不可少的,但一般简单的计算面板不需要编写很复杂的代码,通常用几段常用代码几乎就可以“通吃”计算问题了.在设计或布置好计算面板的控件后,可以按下述介绍写入几段按钮代码(以纯水溶解度计算为例):

2.2.1 “我要计算”按钮的代码

作用:调出计算面板.

代码编写:令控件处于“设计模式”,双击“纯水”右侧的“我要计算”,即弹出VBA的代码编辑窗口:

图4 VB编辑器窗口(代码窗口)

纯水中S计算的代码见图4中的加亮部分.该按钮控件名称为“纯水S”,1、3句代码都是系统自动生成的,填写第2句.

“UserForm1纯水.Show”的作用是加载纯水中溶解度的计算面板(窗体名称为“UserForm1纯水”,自定义的),即显示计算面板(图2).其他“我要计算”的按钮代码与此相同,只需修改计算面板名称即可(在本例中,各类计算都设计了各自的计算面板).

2.2.2 计算面板中各按钮的代码

计算面板中设计了“计算”、“退出”、“清空”三个按钮,它们的作用和代码如下:

(1)“退出”按钮代码

作用:关闭计算面板

代码编写:在VBA编辑窗口左侧,双击“UserForm1纯水”图标(即打开纯水的计算面板),再双击右边计算面板中的“退出”按钮,右边变为代码窗口,在中间代码区填写“Unload Me”:

Private Sub退出_Click()

Unload Me

End Sub

1、3 句是系统自动生成的.“Unload Me”是关闭当前窗体,即关闭计算面板.

(2)“清空”按钮代码

作用:将计算面板中的文本框数据清空为空白.

代码编写:双击计算面板中的“清空”按钮,右边变为代码窗口,在中间填写如下代码:

Private Sub清空_Click()

TextBox1.text=""

TextBox2.text=""

TextBox3.text=""

TextBox4.text=""

End Sub

1、3 句是系统自动生成的.TextBox1到Tex tBox4是计算面板上四个文本框的名称,TextBox1.text表示文本框内填写或显示的值(可以是数据或字符),代码中的四个等式是赋值语句,表示清空文本框(双引号里填入任何数据或字符,则在文本框中就“原样”显示该数据或字符).

(3)“计算”按钮代码

作用:利用计算面板中的文本框数据及其他来源的数据进行计算,得到溶解度值.

代码编写:双击计算面板中的“计算”按钮,在右边的代码窗口中,填写如下代码:

Private Sub计算_Click()

Dim Ksp,m,n,s

Ksp=10^(-Val(TextBox1.Text))

m=Val(TextBox2.Text)

n=Val(TextBox3.Text)

s=(Ksp/m^m/n^n)^(1/(m+n))

MsgBox"溶解度s="&s

TextBox3.Text=s

End Sub

本例中Ksp、m、n三个值是从计算面板中的文本框里取值的,它们都是字符串,需用Val()函数将它们转换为数值,故有:m=Val(TextBox2.Text)等语句;因输入了pKsp,计算要用Ksp,故需进行指数换算:Ksp=10^(-Val(Tex tBox1.Text)).s表达式为溶解度计算公式,最后计算得到的s值分别以信息框形式告知(用了MsgBox函数)和显示在计算面板的文本框中(Tex tBox3.Text=s).

如果有其他影响时,“计算”代码会略为复杂些.条件值可以通过对话框形式交互地输入,可以用数组和循环语句来方便地实现.

当然,如果考虑到输入数据时的一些失误(如输入负数或忘记输入,错按取消等),以及结果要以科学计数法表示等要求,还可以补充一些中断和提示的代码,在此不再详述.

3 结语

Ms Office中的VBA是一款拓展Office功能的内嵌软件,利用VBA工具,在初步掌握一些编程知识的基础上,可以用Word编写化学软件,图文并茂,即时学习即时应用,提高化学电子文档的实用性和广泛性.

[1]罗刚君.Excel_VBA程序开发自学宝典[M].北京:电子工业出版社,2009

A methode of editing chem istry calculator by the Word

HUANG Zhao-long,TAN Yun-cui,WANG Li-ju,LI Fang,XU Qin-Fen

(College of Science,Hong he University,Mengzi 661100,China)

Using VBA build-in Ms Office,a normal word document could be wrote and changed to a chemical software with a calculation panels for many chemical calculation.Base on the sample,a methode of editing documental chemistry software had been introduced.

Ms Office;VBA;documental chemistry software;chemical calculator

TP3-0

A

1008-9128(2011)02-0031-03

2011-03-25

黄兆龙(1958-),男,云南建水人,教授。研究方向:冶金分析和计算化学.

[责任编辑 张灿邦]

猜你喜欢
文本框窗体纯水
巧用文本框实现PPT多图片排版
纯水体系下水合物的生成及堵塞实验研究
PPT文本框的另类应用
试谈Access 2007数据库在林业档案管理中的应用
不做生命的纯水
纯水就好
文本框酷变3D效果
实验室纯水系统更换反渗透膜对生化检验的影响
巧设WPS窗体控件让表格填写更规范
文本框在地理课件中的应用