Hi,How are you doing?
我是职场编码(CodeVoc)。
在E000中,我们介绍了Node.js、Ruby、Electron等工具下载安装。
这期,给你演示一下由Electron联合Ruby制作的小工具。
借助Electron官方Demo,我们很容易制作一个工具展示平台。
点击“View Demo”会弹出我们的工具界面。
一、项目需求
这个工具的主要目的是为了把文字内容写入Excel表格、Word文档、Ppt演示文稿。
它可以选择待写入文件类型,选择文件类型后,在文本框输入文字信息。
点击“写入”按钮,依次打开Excel、Word、Ppt文件,显示我们写入的文字内容。
二、界面设计
【html】
生成表单容器:<form></form>
生成布局标签:<div></div>
生成下拉选择按钮:<select id="select_name"><option></option></select>
生成文本框:<textarea id="input_word"></textarea>
生成普通按钮:<input type="button" id="execute">
【css】
关注四点前白后绿气泡某杺平台,搜索“职场编码”查看源码。
【javascript】
execute按钮添加单击事件
execute.addEventListener("click",function(){获取参数1,获取参数2,调用})
获取参数1
var select_name=document.getElementById('select_name').value
获取参数2
var input_word=document.getElementById('input_word').value
调用Ruby脚本
const { spawn } = require('child_process')
const ls = spawn('ruby', ['Ruby脚本完整路径',参数1,参数2])
三、逻辑梳理
=> 基础语法
引用Ruby标准库
require "win32ole"
创建主入口方法、分入口方法
def Main(name,txt)
def New_excel(txt)
def New_word(txt)
def New_ppt(txt)
接收控制台传双参
Main(ARGV[0],ARGV[1])
对参数ARGV[0] => name进行判断,根据判断结果执行分入口方法
case name
when "excel" then New_excel(txt)
when "word" then New_word(txt)
when "ppt" then New_ppt(txt)
=> 对象模型
创建可视化Excel、Word、Ppt应用
eap=WIN32OLE::new("excel.application");eap.visible=true
wap=WIN32OLE::new("word.application");wap.visible=true
pap=WIN32OLE::new("powerpoint.application");pap.visible=true
新建Excel空白工作簿、Word文档、Ppt演示文稿\幻灯片
ebk=eap.workbooks.add
wdc=wap.documents.add
pst=pap.presentations.add;psd=pst.slides.add(1,11)
执行写入Excel单元格、Word段落、Ppt文本框操作
ebk.worksheets(1).cells(1,1).value=txt
wdc.paragraphs(1).range.text=txt
psd.shapes(1).textframe.textrange.text=txt
欢迎关注四点前白后绿气泡某杺平台,关注“职场编码”查看源码。