前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >按键精灵——如何实现excel办公自由

按键精灵——如何实现excel办公自由

作者头像
Ed_Frey
发布2020-03-31 17:01:45
6.1K0
发布2020-03-31 17:01:45
举报
文章被收录于专栏:奔跑的键盘侠奔跑的键盘侠

这是奔跑的键盘侠的第169篇文章

作者|我是奔跑的键盘侠

来源|奔跑的键盘侠(ID:runningkeyboardhero)

转载请联系授权(微信ID:ctwott)

去年有写过一篇按键精灵关于excel操作的帖子,很多小伙伴觉得不过瘾,而且按键自带的office插件命令少的可怜。

没关系,今天我们再深入一下,讲讲懒人办公插件,可能很多人会对插件一脸茫然。Don't be nervous! Just so so.

插件的实现原理我们不需要关心,只需要去资源库下载安装一下,就可以直接使用了,操作起来非常友好。

今天要讲的这款懒人办公插件,还是非常好用的,里面集成了N多excel和word常用操作命令,解决office常用操作完全不在话下。

1

如何使用第三方插件

首先打开按键精灵,新建一个脚本,再主界面上方,有个按钮“资源库”,点进去,可以看到很多资源,大概浏览一下,就找到了懒人办公插件(底部的位置)。

找到懒人办公插件之后,点击右侧的导入按钮,接着就会收到提示“导入成功”,大功告成。

然后关闭“资源库”,切换到“全部命令”——“插件命令”,就可以看到懒人办公插件,里面密密麻麻的各种命令。

别看命令一大堆,给人一种天然屏障的感觉,其实每个命令用法都极为简单,为便于大家对命令有些了解,知道懒人办公插件都可以实现哪些操作,我对目录中的命令分excel和word分别进行了整理,看一下命令名称,就可以知道一个大概。

2

EXCEL操作部分命令整理

命令名称:

lxj_ExcelOpen 打开EXCEL文档

命令功能:

打开EXCEL文档

命令参数:

【参数1】 EXCEL完整路径

【参数2(可选)】 打开方法,0不可见,1为可见。默认为0

返回值:

索引值,本插件对多个EXCEL进行操作时需要。索引值为从1开始计数的正整数

命令名称:

lxj_ExcelHwnd 获取EXCEL窗口句柄

命令名称:

lxj_ExcelLastR 获取EXCEL总行数

命令名称:

lxj_ExcelLastC 获取EXCEL总列数

命令名称:

lxj_ExcelRead 读取单元格内容

命令名称:

lxj_ExcelWrite 写入单元格内容

命令名称:

lxj_ExcelReadEX 读取区域内容

命令名称:

lxj_ExcelWriteEX 写入区域内容

命令名称:

lxj_SheetIndex 获取当前标签索引号

命令名称:

lxj_SheetCount 统计工作表标签总数

命令名称:

lxj_SheetAdd 增加一个工作标签

命令名称:

lxj_SheetName 获取标签名称

命令名称:

lxj_SheetRename 重命名标签

命令名称:

lxj_SheetDel 删除一个工作标签

命令名称:

lxj_ExcelCells EXCEL全表操作

命令名称:

lxj_ExcelRange EXCEL区域操作

命令名称:

lxj_ExcelRows EXCEL行操作

命令名称:

lxj_ExcelColumns EXCEL列操作

命令名称:

lxj_ExcelLinks 添加超级链接

命令名称:

lxj_CopyTo EXCEL数据复制至

命令名称:

lxj_ExcelProtect 设置EXCEL文档密码

命令名称:

lxj_ExcelSaveAs EXCEL文档另存为

命令名称:

lxj_ExcelSave 保存EXCEL文档

命令名称:

lxj_ExcelClose 关闭EXCEL文档

下面贴一个插件中自带的代码示例(有删改):

path="D:\测试.xlsx"
index = Plugin.lxj_Office.lxj_ExcelOpen(path, 1)
Delay 1000
//统计EXCEL共有多少标签页,无参数
i=Plugin.lxj_Office.lxj_SheetCount(index)
TracePrint "本EXCEL共有标签页数: " & i
Delay 200
//在所有标签页后新增一个标签页,无参数,返回新标签的页码
x=Plugin.lxj_Office.lxj_SheetAdd(index)
TracePrint "新建标签页码为: " & x
Delay 200
name=Plugin.lxj_Office.lxj_SheetName(x,index)
TracePrint name
Delay 200

TracePrint "下面进行页面内容的设置"
Delay 200
Call Plugin.lxj_Office.lxj_SheetRename(2,"EXCEL中颜色数值查看表",index)
Call Plugin.lxj_Office.lxj_ExcelCells("EXCEL中颜色数值查看表","垂直对齐","居中",index)
Call Plugin.lxj_Office.lxj_ExcelCells(2,"水平对齐","居中",index)
Call Plugin.lxj_Office.lxj_ExcelCells(2,"字形","加粗",index)
//设置并生成表头
TracePrint "设置并生成表头"
Delay 200
Call Plugin.lxj_Office.lxj_ExcelRange(2,"A1:H1","合并单元格",index)
Call Plugin.lxj_Office.lxj_ExcelWrite(2, 1, 1, "EXCEL中颜色数值查看表",index)
Call Plugin.lxj_Office.lxj_ExcelRange(2,"A1","背景颜色",1,index)
Call Plugin.lxj_Office.lxj_ExcelRange(2,"A1","字体颜色",33,index)
Call Plugin.lxj_Office.lxj_ExcelRange(2,"A1","字体","楷体_GB2132",index)
Call Plugin.lxj_Office.lxj_ExcelRange(2, "A1", "字号", 26, index)
TracePrint "输出表格正文"
//输出表格正文
Delay 200
Call Plugin.lxj_Office.lxj_ExcelRows(2,"2:8","行高",30,index)
Call Plugin.lxj_Office.lxj_ExcelColumns(2,"A:H","列宽",12,index)
for n=2 to 8
for m=1 to 8
color=8*(n-2)+m
rang=cstr(chr(64+m))&cstr(n)
Call Plugin.lxj_Office.lxj_ExcelRange(2,rang,"背景颜色",color,index)
If color=1 then
Call Plugin.lxj_Office.lxj_ExcelRange(2,rang,"字体颜色",2,index)
EndIf 
Call Plugin.lxj_Office.lxj_ExcelWrite(2, n, m, "颜色值:"&color,index)
next
next
txtArr=Plugin.lxj_Office.lxj_ExcelReadEX(2,"A1:H8",index)
TracePrint "第2行第4列内容为:" & txtArr(2, 4)
Delay 200
txt=Plugin.lxj_Office.lxj_ExcelRead(2,5,8,index)
TracePrint "第5行第8列内容为:" & txt
Delay 200
//命令演示完毕,关闭EXCEL文件

Call Plugin.lxj_Office.lxj_ExcelRange(2, "A15:H15", "合并单元格", index)
Call Plugin.lxj_Office.lxj_ExcelWrite(2, 15, 1, "命令演示完毕,即将关闭EXCEL文件",index)
Call Plugin.lxj_Office.lxj_ExcelRange(2,"A15","背景颜色",1,index)
Call Plugin.lxj_Office.lxj_ExcelRange(2,"A15","字体颜色",33,index)
Call Plugin.lxj_Office.lxj_ExcelRange(2,"A15","字体","楷体_GB2132",index)
Call Plugin.lxj_Office.lxj_ExcelRange(2, "A15", "字号", 26, index)
TracePrint "命令演示完毕,即将关闭EXCEL文件"
Delay 1000
Call Plugin.lxj_Office.lxj_ExcelClose(index)
TracePrint "演示结束"

上述代码调试演示:

excel实际运行效果演示:

3

WORD操作部分命令整理

命令功能:

打开Word文档

命令参数:

【参数1】 Word完整路径

【参数2(可选)】 打开方法,0不可见,1为可见。默认为0

返回值:

命令名称:

lxj_WordReadEX 读取Word文档全文

命令名称:

lxj_WordWriteEX 重写Word文档

命令名称:

lxj_WordSet 设置光标位置

命令名称:

lxj_WordBackspace 当前光标处按下 Backspace 键删除

命令名称:

lxj_WordInsertPage 当前位置插入分页符

命令名称:

lxj_WordInsertPic 当前位置插入图片

命令名称:

lxj_WordRead 读取当前选中文字

命令名称:

lxj_WordWrite 从当前位置写入内容

命令名称:

lxj_WordProtect 设置Word文档密码

命令名称:

lxj_WordSaveAs Word文档另存为

命令名称:

lxj_WordSave 保存Word文档

命令名称:

lxj_WordClose 关闭Word文档

下面贴一个插件中自带的代码示例(8.x语法):

path="C:\a.doc"
//打开Word文档,为了演示,将第二个参数(可选参数)设为1使其可见,默认为不可见
Call Plugin.lxj_Office.lxj_WordOpen(path,1)
word=Plugin.lxj_Office.lxj_WordReadEX()
Call Plugin.File.WriteFileEx("C:\b.txt", word)
MessageBox "Word全文为:"&word
Text = Plugin.File.ReadFileEx(".\QMScript\插件命令\命令例子:办公文档Office插件.Q")
Text=replace(Text,"|",chr(10))
Text=left(Text,len(Text)-1)
Call Plugin.lxj_Office.lxj_WordWriteEX(Text)
MessageBox "全文重写完毕"
Call Plugin.lxj_Office.lxj_WordSet("段",0)
MessageBox "已跳转至开头"
Call Plugin.lxj_Office.lxj_WordSet("段",8,"下")
MessageBox "已跳转至第9段开头"
Call Plugin.lxj_Office.lxj_WordSet("字",8,"右",1)
Call Plugin.lxj_Office.lxj_WordBackspace()
MessageBox "已删除开头8个字符"
Call Plugin.lxj_Office.lxj_WordSet("字",-1,"", 1)
word=Plugin.lxj_Office.lxj_WordRead()
MessageBox "选中文字为:"&word
Call Plugin.lxj_Office.lxj_WordWrite("测试")
MessageBox "已写入新文字"
Call Plugin.lxj_Office.lxj_WordInsertPage()
MessageBox "已插入新页"
Call Plugin.lxj_Office.lxj_WordInsertPic("C:\图片.jpg")
MessageBox "已插入图片"
Call Plugin.lxj_Office.lxj_WordSet("段",-1)
MessageBox "已到达到最后一段的开头"
Call Plugin.lxj_Office.lxj_WordSet("字",-1)
MessageBox "已到达最后"
//加密
Call Plugin.lxj_Office.lxj_WordProtect("打开","123")
MessageBox "已设置打开密码为123"
Call Plugin.lxj_Office.lxj_WordProtect("修改","456")
MessageBox "已设置修改密码为456"
//操作结束关闭Word文档
Call Plugin.lxj_Office.lxj_WordClose()
MessageBox "演示结束"

4

注意事项

插件自带的示例代码,excel部分有个错误,Plugin.lxj_Plug可能作者修改名称时忘记修改,直接运行示例代码会报错,将里面的_Plug全部修改为_Office即可。

还是老问题,写代码时,末尾记得加上“关闭文档”命令,不然会一直卡在后台进程中,如果没保存可能会丢失。

如果真的被卡后台里了,怎么办?打开进程管理,找到excel或者word的进程,关掉即可。

5

其他实现excel办公自由的方法

其实excel是有自带vba编程的功能,在sheet名的位置,鼠标右键,菜单中有个“查看代码”选项,点进去就切到了vba代码编辑模式,也是可以实现各种操作。关于常用的操作命令可以直接百度搜寻,excel想玩得溜的话,真可以学一下vba,代码编辑好,运行一下,就哦了,即使上万行数据的报表也不过十几秒钟的事情。

另外,最近各种python办公处理文档的广告,简直要炸屏了,我好像错过了什么…… 当然,python的确是很好用的编程工具,数据收集录入自动化,甚至可以画出各种漂亮的图表。

-END-

© Copyright

奔跑的键盘侠原创作品 | 尽情分享朋友圈 | 转载请联系授权

本文参与 腾讯云自媒体分享计划,分享自微信公众号。
原始发表:2020-03-22,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 奔跑的键盘侠 微信公众号,前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体分享计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
相关产品与服务
腾讯云 BI
腾讯云 BI(Business Intelligence,BI)提供从数据源接入、数据建模到数据可视化分析全流程的BI能力,帮助经营者快速获取决策数据依据。系统采用敏捷自助式设计,使用者仅需通过简单拖拽即可完成原本复杂的报表开发过程,并支持报表的分享、推送等企业协作场景。
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档