全能Office插件——不坑盒子,自动排版、阅读模式、Word中表格填充序号、发票读取、绿膜……

不坑盒子 2024.0404版,带着21项变动,来了~

本文可能略长,还有很多视频和动图,请一定要耐心看完;或许,真的能改变你的工作方式。

自动排版2024(Word)

自去年“新自动排版”上线后,一定饱受争议,有人骂它太卡、匹配不完美;有人夸它灵活、更自由。

核心变化

这个版本“自动排版”功能的核心已经发生了变化,由原来的全文匹配变成了分段匹配

好处是:可以精准定位段落的开始和结束了,同时排版速度将按指数级提升(文字越多越明显);

坏处是:不能跨段落匹配了(一般也用不上)。

使用习惯

同时,也听从了大家建议:不用每次排版都打开右侧面板了;如果不是需要改排版配置,不需要再打开右侧面板。

自动排版这个大按钮,是可以点击的,点了后,就会使用配置的第一个卡片进行排版

这样是不是人性化很多了?

规则设置

规则设置界面和以前变化不大,只是我给大家提供了很多默认的规则在第一个“常规”卡片里面。

我给大家预设的规则,可以实现这样的一键排版。

当然,我预设的肯定不能适合每个人的需求,大家可以根据我预设的匹配规则自行创新。

更加高效

其实,我平时用自动排版的时间还没手动排版的时间多,因为有的时候有些特殊的内容可能会被自动排版损坏,所以在一些小的改动后,我会用到手动排版。

为了避免多个功能选项卡来回切换,我给这几个按钮设置了全局快捷方式,暂不支持自定义:

文件标题:Ctrl+F1

副标题:Ctrl+F2

正文:Ctrl+0

一级标题:Ctrl+1

二标题:Ctrl+2

三标题:Ctrl+3

有的小伙伴还不知道这几个按钮对应的样式在哪儿改,就是自动排版的常规卡片,前面6条不能删除的规则。(现在知道为啥我不允许大家删除前面的6条规则了吧,删了上面的6个按钮就崩了)

好了,关于排版的更新,就介绍到此。

聚光灯(Excel)

“聚光灯”也有人称作“阅读模式”,有的人说:“用VBA就能制作出来!”

确实,VBA通过改变单元格的底色就能制作出来类似的效果。但,万一人家单元格本来就有底色呢?

所以真正要实现“聚光灯”其实不是一件容易的事,最重要的是还得解决“聚光”过程中放大/缩小表格的问题。

不坑盒子中新增的“聚光灯”源码来自Excel著名插件“CC办公助手”。

我已经按不坑盒子的通用操作习惯,把使用过程进行了精简,最终效果如下:

聚光灯介绍完毕。

OCR识别

OCR识别分为了:Word中识别图片上的文字Excel中批量读取发票

我为大家接入的是腾讯云的API,经过前期对比,它家的效果和性价比略高。

不坑盒子只接入功能,需要使用自己的腾讯云key来使用;腾讯云给每人每月1000次免费的额度,相信大部分人够用了。

为什么不直接用我账号的额度给大家用?

100万次3万块钱,按不坑盒子的用户量,半天就能给我用光。

所以,用自己的Key,用多少算多少,1000次不够用,自己找腾讯买额度。

Word图片上文字识别

在Word中选中需要识别的图片,然后点击OCR即可把图片上的文字打在图片的下面的文档中。

目前只能选中图片后识别,不能批量识别整个文档中的图片。

Excel中批量读取发票

这应该是财务必备的功能,能够把发票里面的信息读到Excel中,连明细都能规则排放好哦~

绿膜(PPT)

很多人可能不知道这是什么东西。

它的作用是——把整个屏幕变成绿色,但屏幕还能保持被点击、写书

用这个功能,可以解决:站在大屏前录课时,屏幕反光、不清晰的问题。

录精品课、录线上视频课的老师必备之神器!

大家可以自行在搜索引擎中搜索“绿膜软件”,看看卖这个软件的价格,¥599都是最便宜的了。

这个功能需要配合OBS来搭建使用,后期我会在之前的精品课教程中更新一集视频课,现场教大家怎么使用。

为了配合“绿膜”的上线,“不坑遥控器”上也新增了“绿膜”按钮,可以在任何时候用遥控器唤起绿膜。

表格填充、复制(Wrod)

要是Word中能像Excel那样对编号进行自动填充就好了!

这是很多白领的呐喊!

偏偏就经常需要用Word文档来传报名表、回执单,里面就序号那一列就折腾够了一线的员工。

现在可以轻松解决了!

同时,有的格子数据和前面的相同,以前大家都是不停按Ctrl+V,现在也能一键复制了。

化学方程式

作为汉语言文学专业的人,对这事儿真的感到头痛。

这些化学老师只知道提需求,但他们也不知道怎么描述排版化学方式程式的过程。

他们一直告诉我排版后,哪些字母大写、哪些数字下标。

但其实我想知道的是:在排版之前你们打在Word文档中的是什么样子。(无效沟通)

在输入公式的时候,尽量全部字母大写,最后大致就做成了这个样子:

这个功能还有点Bug,如果一次排不成功,多点1-2试试。

全局设置

这个齿轮又回来了,这次带着高颜值重新登场。

除了自动排版这种专项的设置外,目前在这里面可以设置:是否报错单位名称奇偶页面字号三线表线条粗细绿膜透明度Ocr腾讯云的Key

其他变动

除了上面的大变动外,还有诸多小更新:

  • 🟦新增“表格自适应”功能,当调整了页边距后,表格横向填不满或超出页面的时候能自动适应页面宽度

  • 🟦新增“简体转繁体”、“繁体转简体”功能,此功能建议在排版之前使用,此功能会把全文改成最前面那段文字的格式

  • 🟩新增“删除重复值所在行”功能,按某列找重复项,如果有重复,则删除该行

  • 🟩新增“去工作表保护”功能,可以去除工作表的保护密码

  • 🟩不坑公式新增“根据城市获取省份”功能,根据县、市名,获取省份名字

  • 修复部分用户的Office在插入VBA代码强制要求申明变量导致“代码仓库”无法执行的BUG

  • 优化安装包,将显示安装过程

  • 其他细节优化

说明

上面提到的功能,有部分不是免费开放的(一些节假日可能会全员开放),请在“用户中心”中查看详情。

更新方式

如果你的电脑中已经安装了2024.0229版,现在你打开Office就能自动弹出更新界面。

如果你的电脑安的老版本或从来没有安装过不坑盒子,请在这个地址下载最新版安装:

bukenghezi.com

(不坑盒子的拼音)

- end -

  • 29
    点赞
  • 13
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
版本修改记录: V2.2.0.2修改: 修改了HttpPost相对路径的一些问题。 V2.2.0.0增加: [id(0x00010041), helpstring("Get Rev Index")] HRESULT GetRevCount( [out,retval] long * pbool); [id(0x00010042), helpstring("Get Rev Index Info")] HRESULT GetRevInfo([in] long lIndex, [in] long lType, [out,retval] BSTR* pbool); [id(0x00010043), helpstring("Set Doc Prop")] HRESULT SetValue([in] BSTR strValue, [in] BSTR strName, [out,retval] long* pbool); [id(0x00010044), helpstring("Set Doc Variable")] HRESULT SetDocVariable([in] BSTR strVarName, [in] BSTR strValue,[in] long lOpt, [out,retval] long* pbool); [id(0x00010045), helpstring("Save page To Doc")] HRESULT SetPageAs([in] BSTR strLocalFile, [in] long lPageNum, [in] long lType,[out,retval] long* pbool); ---------------------------------------------------------------------------------------------------------------------------------------------------------------------- LoadDso.js var s = "" s += "" s += "" document.write(s) ---------------------------------------------------------------------------------------------------------------------------------------------------------------------- 接口文档: /* 1.新建 */ //新建Word document.all.FramerControl1.CreateNew("Word.Document"); //新建Excel document.all.FramerControl1.CreateNew("Excel.Sheet"); /* 2.打开文件 */ //打开制定的本地文件 document.all.FramerControl1.Open("C:\\TestBook.xls"); //制定用Word来打开c:\plain.txt文件 document.all.FramerControl1.Open("C:\\Plain.txt",false, "Word.Document"); //打开服务器的文件 document.all.FramerControl1.Open "https://secureserver/test/mytest.asp?id=123",true, "Excel.Sheet", "MyUserAccount", "MyPassword"); //打开服务器的文件 document.all.FramerControl1.Open("http://localhost/1.doc", true); /* 3.保存文件 */ //到本地 document.all.FramerControl1.Save("c:\\1.doc",true); //服务器 /*增加Http协议Post上传接口,可以Post一个动态页面(jsp,asp,php...),由动态页面负责解析数据 bool HttpInit(); bool HttpAddPostString(BSTR strName, BSTR strValue); bool HttpAddPostCurrFile(BSTR strFileID, BSTR strFileName); BSTR HttpPost(BSTR bstr); */ //初始化Http引擎 document.all.FramerControl1.HttpInit(); //增加Post变量 document.all.FramerControl1.HttpAddPostString("RecordID","20060102200"); document.all.FramerControl1.HttpAddPostString("UserID","李局长"); //上传打开的文件 document.all.FramerControl1.HttpAddPostCurrFile("FileData", "文档名.doc"); //执行上传动作 document.all.FramerControl1.HttpPost("http://xxxx.com/uploadfile.asp"); /* 4.修订留痕 */ //进入留痕状态 document.all.FramerControl1.SetTrackRevisions(1); //进入非留痕状态 document.all.FramerControl1.SetTrackRevisions(0); //接受当前修订 document.all.FramerControl1.SetTrackRevisions(4); /* 5.设置当前用户 */ document.all.FramerControl1.SetCurrUserName("张三"); /* 6.设置当前时间(笔迹留痕会显示("Like 2006:02:07 11:11:11") */ document.all.FramerControl1.SetCurrTime("2006:02:07 11:11:11"); /* 7.设置和创建书签,此功能比较强大,设置书签数据、添加书签和添加红头文件就靠他了 SetFieldValue(BSTR strFieldName, BSTR strValue, BSTR strCmdOrSheetName) strFieldName:书签名 strValue:要设置的值 strCmdOrSheetName: 命令 ::ADDMARK:: 添加BookMark ::DELMARK:: 删除这个BookMark ::GETMARK:: 定位到这个BookMark ::FILE:: 插入的是文件 ::JPG:: 插入的是图片 一般来说:WORD书签是做好的,可以通过此接口把外界数据设置进书签去。 */ //在当前WORD位置插入标签,标签名为"book1",数值为"test" document.all.FramerControl1.SetFieldValue("book1","test","::ADDMARK::"); //设置书签"Time",数值为"2006-03-16 22:22:22" document.all.FramerControl1.SetFieldValue("Time","2006-03-16 22:22:22",""); //在书签位置"hongtou",插入红头文件"http://222.222.222.222/hongtou1.doc" 这样,红头就自动插进去了 document.all.FramerControl1.SetFieldValue("hongtou","http://222.222.222.222/hongtou1.doc","::FILE::"); /* 8.设置菜单显示情况 BOOL SetMenuDisplay(long lMenuFlag) lMenuFlag为以下数值的组合 #define MNU_NEW 0x01 #define MNU_OPEN 0x02 #define MNU_CLOSE 0x04 #define MNU_SAVE 0x08 #define MNU_SAVEAS 0x16 #define MNU_PGSETUP 0x64 #define MNU_PRINT 0x256 #define MNU_PROPS 0x32 #define MNU_PRINTPV 0x126 */ //只有“新建”菜单可用 document.all.FramerControl1..SetMenuDisplay(1); //只有“打开”菜单可用 document.all.FramerControl1.SetMenuDisplay(2); //只有“打开”和“新建”菜单可用 document.all.FramerControl1.SetMenuDisplay(3); /* 9.保护文档和解保护文档 lProOrUn:1:保护文档;0:解除保护 lProType: wdNoProtection = -1, wdAllowOnlyRevisions = 0, wdAllowOnlyComments = 1, wdAllowOnlyFormFields = 2 strProPWD:密码 */ //完全保护文档,密码为"pwd" document.all.FramerControl1.ProtectDoc(1,1,"pwd"); //解除文档保护 document.all.FramerControl1.ProtectDoc(0,1,"pwd"); /* 10.显示或隐藏修订内容 ShowRevisions(long nNewValue) nNewValue = 0 则隐藏修订 = 1 则显示修订 */ //显示修订留痕 document.all.FramerControl1.ShowRevisions(1); //隐藏修订留痕 document.all.FramerControl1.ShowRevisions(0); /* 11.插入合并文件, strFieldPath 文件路径,可以是http,ftp的路径 pPos = 0 //当前鼠标位置 1;文件开头 2;文件末尾 pPos的第4位为1的时候,代表插入的是图片 InSertFile(BSTR strFieldPath, long lPos) */ //文件头部插入文件 document.all.FramerControl1.InSertFile("http://XX.com/XX.doc",1); //文件尾部插入文件 document.all.FramerControl1.InSertFile("http://XX.com/XX.doc",2); //当前光标位置插入文件 document.all.FramerControl1.InSertFile("http://XX.com/XX.doc",0); //文件头部插入图片 document.all.FramerControl1.InSertFile("http://XX.com/XX.jpg",9); //文件尾部插入图片 document.all.FramerControl1.InSertFile("http://XX.com/XX.jpg",10); //当前光标位置插入图片 document.all.FramerControl1.InSertFile("http://XX.com/XX.jpg",8); /* 0x31. 文档另存为 HRESULT SaveAs([in] VARIANT strFileName, [in] VARIANT dwFileFormat, [out,retval] long* pbool); 参数: strFileName:文件本地路径,如c:\\11.doc dwFileFormat: 文件格式 dwFileFormat的数值为: Excel: Type enum XlFileFormat { xlAddIn = 18, xlCSV = 6, xlCSVMac = 22, xlCSVMSDOS = 24, xlCSVWindows = 23, xlDBF2 = 7, xlDBF3 = 8, xlDBF4 = 11, xlDIF = 9, xlExcel2 = 16, xlExcel2FarEast = 27, xlExcel3 = 29, xlExcel4 = 33, xlExcel5 = 39, xlExcel7 = 39, xlExcel9795 = 43, xlExcel4Workbook = 35, xlIntlAddIn = 26, xlIntlMacro = 25, xlWorkbookNormal = -4143, xlSYLK = 2, xlTemplate = 17, xlCurrentPlatformText = -4158, xlTextMac = 19, xlTextMSDOS = 21, xlTextPrinter = 36, xlTextWindows = 20, xlWJ2WD1 = 14, xlWK1 = 5, xlWK1ALL = 31, xlWK1FMT = 30, xlWK3 = 15, xlWK4 = 38, xlWK3FM3 = 32, xlWKS = 4, xlWorks2FarEast = 28, xlWQ1 = 34, xlWJ3 = 40, xlWJ3FJ3 = 41, xlUnicodeText = 42, xlHtml = 44 }; Word: Type enum WdSaveFormat { wdFormatDocument = 0, wdFormatTemplate = 1, wdFormatText = 2, wdFormatTextLineBreaks = 3, wdFormatDOSText = 4, wdFormatDOSTextLineBreaks = 5, wdFormatRTF = 6, wdFormatUnicodeText = 7, wdFormatEncodedText = 7, wdFormatHTML = 8 }; PPT: enum PpSaveAsFileType { ppSaveAsPresentation = 1, ppSaveAsPowerPoint7 = 2, ppSaveAsPowerPoint4 = 3, ppSaveAsPowerPoint3 = 4, ppSaveAsTemplate = 5, ppSaveAsRTF = 6, ppSaveAsShow = 7, ppSaveAsAddIn = 8, ppSaveAsPowerPoint4FarEast = 10, ppSaveAsDefault = 11, ppSaveAsHTML = 12, ppSaveAsHTMLv3 = 13, ppSaveAsHTMLDual = 14, ppSaveAsMetaFile = 15, ppSaveAsGIF = 16, ppSaveAsJPG = 17, ppSaveAsPNG = 18, ppSaveAsBMP = 19 }; */ /* 0x32. 删除本地文件 HRESULT DeleteLocalFile([in] BSTR strFilePath); 参数: strFileName:文件本地路径,如c:\\11.doc */ /* 0x33.创建临时文件 HRESULT GetTempFilePath([out,retval] BSTR* strValue); 返回: 临时文件的路径地址。使用完后,用DeleteLocalFile 删除 */ /* 0x34.设置文档显示模式 HRESULT ShowView([in] long dwViewType, [out,retval] long * pbool); dwViewType的可取值为: enum WdViewType { wdNormalView = 1, wdOutlineView = 2, wdPrintView = 3, wdPrintPreview = 4, wdMasterView = 5, //这个是大纲 wdWebView = 6 }; */ //大纲模式 document.all.FramerControl1.ShowView(5); /* 0x39:下载远程文件 HRESULT DownloadFile( [in] BSTR strRemoteFile, [in] BSTR strLocalFile, [out,retval] BSTR* strValue); 参数: strRemoteFile:远程路径地址,http or Ftp strLocalFile: 本地保存地址,if strLocalFile == NULL then Create Temp File and return TempFile's Path */ /* 0x40:增加Http上传时候的,附加其他文件 HRESULT HttpAddPostFile([in] BSTR strFileID, [in] BSTR strFileName, [out,retval] long* pbool); 参数: strFileID:文件的ID,供服务器端页面解析 strFileName: 本地文件地址 */ /* 0x41,0x42.获取详细的修订信息。 GetRevCount( [out,retval] long * pbool); GetRevInfo([in] long lIndex, [in] long lType, [out,retval] BSTR* pbool); 例子如下 */ var vCount; vCount = document.all.FramerControl1.GetRevCount(); alert(vCount); var vOpt = 0; var vDate; for(var i=1; i<= vCount; i++){ vOpt = document.all.FramerControl1.GetRevInfo(i,2); if("1" == vOpt){ vOpt = "插入"; }else if("2" == vOpt){ vOpt = "删除"; }else{ vOpt = "未知操作"; } vDate = new String(document.all.FramerControl1.GetRevInfo(i,1)); vDate = parseFloat(vDate); alert(vDate); dateObj = new Date(vDate); alert(dateObj.getYear() + "年" + dateObj.getMonth() + 1 + "月" + dateObj.getDate() +"日" + dateObj.getHours() +"时" + dateObj.getMinutes() +"分" + dateObj.getSeconds() +"秒" ); alert("用户:"+document.all.FramerControl1.GetRevInfo(i,0) + "\r\n操作:" + vOpt + "\r\n内容:" + document.all.FramerControl1.GetRevInfo(i,3)); } /* 0x43.设置基本信息: HRESULT SetValue([in] BSTR strValue, [in] BSTR strName, [out,retval] long* pbool); 1.设置文件只读密码 SetValue("password","::DOCPROP:PassWord"); 2.设置文件修改密码 SetValue("password","::DOCPROP:WritePW"); 返回值: 0 正确 -1:不支持此命令,请确定您的第二个参数没有传错 -127:异常 */ //设置文件只读密码 document.all.FramerControl1.SetValue("password","::DOCPROP:PassWord"); //设置文件修改密码 document.all.FramerControl1.SetValue("password","::DOCPROP:WritePW"); /* 0x44.设置文档变量,这个很少能用到 HRESULT SetDocVariable([in] BSTR strVarName, [in] BSTR strValue,[in] long lOpt, [out,retval] long* pbool); strVarName: 变量名 strVlaue:变量值 lOpt: 操作类型, 按位 第一位为1: 表示update域关联的 第二位为1: 表示如果没有这个变量则添加 第三位为1: 未来支持 return: 0:OK -127:异常 */ /* 0x45: 分页保存 HRESULT SetPageAs([in] BSTR strLocalFile, [in] long lPageNum, [in] long lType,[out,retval] long* pbool); strLocalFile:本地路径 lPageNum:页数 */

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值