轻松实现化学式上下标的一键输入

轻松实现化学式上下标的一键输入

ID:12984241

大小:34.50 KB

页数:4页

时间:2018-07-20

轻松实现化学式上下标的一键输入_第1页
轻松实现化学式上下标的一键输入_第2页
轻松实现化学式上下标的一键输入_第3页
轻松实现化学式上下标的一键输入_第4页
资源描述:

《轻松实现化学式上下标的一键输入》由会员上传分享,免费在线阅读,更多相关内容在行业资料-天天文库

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

2、单易用的操作。下面就是笔者用VBA编写的宏。使用时只要选择含有化学式的内容,而后运行一下宏就可以了,正确率几乎是百分之百。Sub智能上下标()Dimx,y,j,kAsIntegerDimm,nAsLongDimcharAsStringx=Selection.Starty=Selection.End'记录当前选取的起始位置与终止位置Forj=xToyStep1'对选取内容进行枚举,对于属于化学式的内容进行改写.Selection.Start=j-1Selection.End=jchar=Selection.Textn=InStr

3、("abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ))]",char)Ifn<>0ThenSelection.Start=jSelection.End=j+1char=Selection.Textm=InStr("0123456789",char)Ifm<>0Thenk=2Selection.Font.Subscript=wdToggleSelection.Start=jSelection.End=j+kchar=Selection.Characters(k).Text

4、m=InStr("0123456789-+",char)DoWhilem<>0Ifchar="+"Orchar="-"ThenSelection.Start=j+kSelection.End=j+k+1char=Selection.Textm=InStr("0123456789abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ(([",char)4'如果是“+”表示加号,也不别在前面加上一个空格,以避开它与离子符号间相互的干扰。Ifm<>0ThenGoToline1Else

5、Selection.Start=j-1Selection.End=j+kchar=Selection.Characters(1).TextEndIfIfchar="O"Orchar="H"Then'与line1共同作用以防止将NH4+、AlO2-这一类的一价离子,错误地改写成NH4+、AlO2-。Selection.Start=jSelection.End=j+1Selection.Font.Subscript=wdToggleSelection.Font.Subscript=wdToggleSelection.Start=j

6、+1Selection.End=j+kSelection.Font.Superscript=wdToggleGoToline1EndIfSelection.Start=jSelection.End=j+kSelection.Font.Superscript=wdToggleSelection.Font.Superscript=wdToggleGoToline1EndIfk=k+1Selection.Start=jSelection.End=j+kchar=Selection.Characters(k).TextIfchar="

7、-"Orchar="+"ThenSelection.Start=jSelection.End=j+k-2Selection.Font.Subscript=wdToggleSelection.Font.Subscript=wdToggleSelection.Start=j+k-2Selection.End=j+kSelection.Font.Superscript=wdToggleGoToline1Elsem=InStr("0123456789",char)EndIf4LoopSelection.Start=jSelection

8、.End=j+k-1Selection.Font.Subscript=wdToggleSelection.Font.Subscript=wdToggleEndIfline1:Selection.Start=jSelection.End=j+1char=Selection.Te

当前文档最多预览五页,下载文档查看全文

此文档下载收益归作者所有

当前文档最多预览五页,下载文档查看全文
温馨提示:
1. 部分包含数学公式或PPT动画的文件,查看预览时可能会显示错乱或异常,文件下载后无此问题,请放心下载。
2. 本文档由用户上传,版权归属用户,天天文库负责整理代发布。如果您对本文档版权有争议请及时联系客服。
3. 下载前请仔细阅读文档内容,确认文档内容符合您的需求后进行下载,若出现内容与标题不符可向本站投诉处理。
4. 下载文档时可能由于网络波动等原因无法下载或下载错误,付费完成后未能成功下载的用户请联系客服处理。