轻松实现化学式上下标的一键输入_第1页
轻松实现化学式上下标的一键输入_第2页
轻松实现化学式上下标的一键输入_第3页
轻松实现化学式上下标的一键输入_第4页
全文预览已结束

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

1、轻松实现化学式上下标的一键输入徐林岗江苏江都市丁沟中学 225235摘要:笔者是一名中学化学教师,工作中常常要输入许多的化学式。化学式中的上下标在输入时要不停地切换,十分不便,所以笔者尝试用vba编写了一段宏,很好地解决了这个问题。关键词:化学式,上下标,宏随着电脑日益的普及,中学化学老师在出试卷,写教案,写论文等的过程中都可能在使用电脑输入处理了,在这个过程中,经常需要书写各种化学式,但因为要不停地切换输入状态为“上标”“下标”或“正常”,这使得很多老师常常感到非常麻烦和累人,工作效率低下。本文就是试图把烦琐的输入方法改进成简单易用的操作。下面就是笔者用vba编写的宏。使用时只要选择含有化学

2、式的内容,而后运行一下宏就可以了,正确率几乎是百分之百。sub 智能上下标() dim x, y, j, k as integer dim m, n as long dim char as string x = selection.start y = selection.end 记录当前选取的起始位置与终止位置 for j = x to y step 1 对选取内容进行枚举,对于属于化学式的内容进行改写. selection.start = j - 1 selection.end = j char = selection.text n = instr(abcdefghijklmnopqrstu

3、vwxyzabcdefghijklmnopqrstuvwxyz)), char) if n 0 then selection.start = j selection.end = j + 1 char = selection.text m = instr(0123456789, char) if m 0 then k = 2 selection.font.subscript = wdtoggle selection.start = j selection.end = j + k char = selection.characters(k).text m = instr(0123456789-+,

4、 char) do while m 0 if char = + or char = - then selection.start = j + k selection.end = j + k + 1 char = selection.text m= instr(0123456789abcdefghijklmnopqrstuvwxyzabcdefghijklmnopqrstuvwxyz((, char) 如果是“+”表示加号,也不别在前面加上一个空格,以避开它与离子符号间相互的干扰。 if m 0 then goto line1 else selection.start = j - 1 selec

5、tion.end = j + k char = selection.characters(1).text end if if char = o or char = h then 与line1共同作用以防止将nh4+、alo2-这一类的一价离子,错误地改写成nh4+、alo2-。 selection.start = j selection.end = j + 1 selection.font.subscript = wdtoggle selection.font.subscript = wdtoggle selection.start = j + 1 selection.end = j + k

6、selection.font.superscript = wdtoggle goto line1 end if selection.start = j selection.end = j + k selection.font.superscript = wdtoggle selection.font.superscript = wdtoggle goto line1 end if k = k + 1 selection.start = j selection.end = j + k char = selection.characters(k).text if char = - or char

7、= + then selection.start = j selection.end = j + k - 2 selection.font.subscript = wdtoggle selection.font.subscript = wdtoggle selection.start = j + k - 2 selection.end = j + k selection.font.superscript = wdtoggle goto line1 else m = instr(0123456789, char) end if loop selection.start = j selection

8、.end = j + k - 1 selection.font.subscript = wdtoggle selection.font.subscript = wdtoggle end ifline1: selection.start = j selection.end = j + 1 char = selection.text m = instr(-, char) if m 0 then selection.start = j + 1 selection.end = j + 2 char = selection.text m = instr(0123456789abcdefghijklmno

9、pqrstuvwxyzabcdefghijklmnopqrstuvwxyz((, char) if m = 0 then selection.start = j selection.end = j + 1 selection.font.superscript = wdtoggle end if end if m = instr(+, char) if m 0 then selection.start = j + 1 selection.end = j + 2 char = selection.text m = instr(0123456789abcdefghijklmnopqrstuvwxyzabcdefghijklmnopqrstuvwxyz((+,char) if m = 0 then selection.start = j selection.end = j + 1 selection.font.superscript = wdtoggle end if end if end if next j selection.start = y selection.end = yend sub结束语 就我国目前大多化学老师来说,用微机进行无纸化办公变得越来越必要和普遍,而在办公过程中用得最多的就是office办公系统,如何提高工作效率则是其中一个重要问题。而宏正是为此而生,恰当的运

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论