dingsir的个人博客分享 http://blog.sciencenet.cn/u/dingsir

博文

用VBA调用PERL模块来解析配方的尝试

已有 2825 次阅读 2021-6-8 16:09 |个人分类:软件杂谈|系统分类:教学心得

用PERL用来解析配方文本十分方便,前面我做过一些尝试. 那么,解析结果能不能传递给Excel,或者说,能不能在Excel中调用Perl来解析呢? 我做了一点尝试,用VBA代码来调用PERL运行,初步显示是可行的.

代码比较简单,在Excel内用VBA实现,主要是通过WScript.shell对象来运行PERL程序. 为防止代码中的特殊字符干扰,用双引号把配方文本(存贮在变量formuText中)包围起来. 通过命令行传递给Perl程序,Perl程序解析之后,结果输出给STDOUT,从oExec中读出来交给VBA的变量. 看样子通过命令行传递数组、哈希可能不行,但以字符串的形式出来,再解析一下就可以用,问题不大.  这里是直接用Msgbox展示出来.当然你也可以调整一下PERL模块中的输出字串,以方便Excel中解析.

VBA call perl.png


界面非常简单,选中有配方的单元格,再点击按钮来解析即可. 自然地, 文本要符合特定的格式,以保证PERL能正确解析.

VBA Call Perl界面.png

演示代码如下,配方是瞎编的,与真实无关.

Excel_FormuParser_with_Perl2021-6-8.rar

当然,运行需要安装Perl环境,并调整VBA的代码中模块的位置与实际安装的相符. PERL代码在附件中,此处不作详细解释.



https://blog.sciencenet.cn/blog-1213210-1290292.html

上一篇:MySQL用法几则(自用)
下一篇:有趣的热导率和传热因素
收藏 IP: 58.34.148.*| 热度|

0

该博文允许注册用户评论 请点击登录 评论 (0 个评论)

数据加载中...

Archiver|手机版|科学网 ( 京ICP备07017567号-12 )

GMT+8, 2024-4-19 15:29

Powered by ScienceNet.cn

Copyright © 2007- 中国科学报社

返回顶部