快好知 kuaihz订阅观点

 

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

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

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

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

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

Excel_FormuParser_with_Perl2021-6-8.rar

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

本站资源来自互联网,仅供学习,如有侵权,请通知删除,敬请谅解!
搜索建议:配方  配方词条  调用  调用词条  模块  模块词条  解析  解析词条  尝试  尝试词条  
观点

 青年成才个感

我在国外考察高等教育,旨在促进我们的双一流建设,培养自己的一流人才。我觉得软、硬件十分重要,蓬勃向上,拘束尽可能少的学习环境或许更加重要  首先,教育...(展开)