2020-07
30

VBA批量打印凭证

By xrspook @ 9:44:34 归类于: 烂日记

昨天我打印了一大堆记账凭证面单。理论上我可以用邮件合并的那套表格去的,但实际上,我依然用的是单独一个Excel文件带控件的打印方式。需要打印的凭证面单有很多。估计超过10张。如果只是一两张,用控件的方式挺好,控件我设置为可以利用上下键,选上一张和下一张。也可以在输入函数的地方直接手动填写数字。只打印某一张或者某几张的情况下,这样做很方便。但当我要打印的东西是一大堆的时候显然这就不靠谱了,万一我手抖一抖,按两下,跳跃了呢?万一我按完,选择以后快速打印按钮按偏了呢?我根本不知道自己打印了多少张,中间有没有漏掉。邮件合并可以有选择范围,我可以选择某个范围内的记录,生成一个新的文件,然后直接打那个。如果我生成一堆工作表,我还得把它们删掉,新建一个文件,我还得删文件。与其这样,不如让机器去执行,我一边数据递增一边答应。人肉会按漏,但对机器来说太简单了。虽然这样不断提交打印,会比全部一起打印慢一点,但实际上,对我来说,一点影响都没有,因为我配套使用的是打印速度非常慢的针式打印机。如果我用的是激光打印机,而且还是非常快的那种,打印内容非常少的话。我这样的操作会影响打印速度,但现在,我做的做法非常简单且完美。之前我想不通,在Excel里要如何实现批量邮件合并的功。昨天,几乎可以说不费吹灰之力我就实现了,而我做的仅仅是写了一个几行字的宏而已,而具体某些步骤要怎么写代码可以先录制一个宏,看看参考一下。我最需要参考的是快速打印要怎么表达。因为VBA批量打印太方便,所以我通常都忘记先选择针式打印机。针式打印机不是我的默认打印机,所以按下批量打印以后,当我的激光打印机开始轰鸣,我才记起自己搞错了,所以我得迅雷不及掩耳地关掉激光打印机的电源,然后重新选择针式打印机。我觉得应该完善一下这个脚本,我应该把打印机也设置好,默认为针式打印机,这样我就不会有用错打印机的烦恼了。

这个脚本非常简单,前面的部分我已经写过了,用的是指定行打印的思路。首先输入两个数字,如果第2个数字留空,就默认等于第1个数字。如果第1个数字也空的话,打印不会执行。当第1个数字和第2个数字都靠谱了,会进入一个循环,步长为1。里面的语句超简单。说白了就是一个让某个单元格里的数字自增,然后快速打印该页面,因为这个页面我已经设置了打印区域,所以一切都很简单。之前我还在想,要做个控件,在Excel里面输入起始和结束页码,但实际上这根本没必要,直接弹窗挺方便。当然,就严谨性来说,我的脚本是有缺陷的,比如万一我输入的东西不是数字还是其他字符呢?万一我输入的数字不是整数,不是Excel表格里行数范围内的东西,而是一个浮点小数呢?我当然可以对输入进行严格的限制,限制它的范围,也限制它的数据类型,但这样显然就有点过了,毕竟这种打印完全是用来方便我自己的,没必要做到这么完美无缺。

现在,妈妈再也不用担心我会漏掉打印某些凭证面单了。

2019-04
12

让页面方向重回不智能

By xrspook @ 10:39:15 归类于: 烂日记

我已经很久都不写教程这个东西,因为好长一段时间我都没有试过有那种非得我这样做不可能念头了。过去了很多年都只是我在找别人的教程帮我解决问题。还记得刚开始上网的那个时候,我写过不少教程,直到大学毕业之前,我也喜欢写教程。哪怕是一些很琐碎的事我也会写,首先是因为这样做可以让自己加深记忆,当自己以后再遇到这个问题的时候就可以及时找到恰当的方法。这除了可以帮助我自己以外,也能帮助别人。既然别人的教程帮了我很大忙,我希望我也可以为别人做同样的事。之所以慢慢地我不做这种事了,是因为我仿佛陷入了泥潭,觉得教程必须写得图文并茂,而且有一定的意义。这样的压力实在太大,而且我也没在那个上面放那么多的时间和精力,于是我就没干了。

但是昨天我又写了一个教程,其实也说不上是一个教程,但是是类似的东西,那是完全通过我自己的经验总结出来的。在我能搜索到的范围之内,我没有见过有中文的类似的东西。至于英文的版本,也是在我把自己的方法写出来以后,努力折腾才看到了别人曾经也提出了类似的方法。除了我们的解决方案以外,其它的都不怎么可执行,又或者说必须依靠软件升级的支持才能做到,这显然不现实,因为不是每个打印机制造商都意识到这个问题,而且愿意给用户开辟一个通道免去用户的这种烦恼。

Excel里面数据透视表绝对引用和相对引用的问题从2013版开始存在,到2016版刚出现的时候问题依旧。2016版更新到某个版本以后这个问题才算解决了,所以在2019和Office365里面数据透视表的绝对引用相对引用不再是个问题。但是这两天我遇到的那个自定义页面大小以及页面方向的问题却从2007版开始一直延续到现在到Office 365,仍然没有确切的解决方案,也正是因为这样,所以我得自己纠结一个方法出来。这是个横跨了12年的问题而之所以这么久都没有解决,首先是因为他们觉得这不是问题,这是方便、这是智能化。之所以有这个问题,也正是因为他们觉得应该给用户一个智能的判断,但却没有考虑到原来有那么一些小众用户需要用这个不智能的方式。其实这种事很普遍,尤其是对滚动式进纸的针式打印机。只要进行连续多联的打印必然会遇到这种问题。遭殃的有提货单、收据、发票,各种快递单等等。只要打印的这些东西用的不是系统,而是用Office的邮件合并进行套打必然会遇到这个问题。之所以这个问题一直都不被重视,大概是因为需要这样用的人可能非常少。对于数据量处理非常大的企业来说,他们肯定愿意给钱去搞系统,而对于数据量不怎么大的小单位小作坊,或许他们的知识层面还没到那种去研究怎么可以让工作更便捷、怎么去提高自己的工作能力,比如说学习使用Office的一些比较冷门的功能。但偏偏有我这种早已把这个功能当做是我随身工具包的人。对我来说要么避开这个问题,要不么直接面对找出解决办法,否则我只能在电脑上让2003和365并存。

2007有这个问题,到Office 365(2019年4月)仍然有这个问题,简直让人无比醉!!!2003可以设置宽大于高,且打印方向为纵向,同样是宽大于高,365无论你怎么设置,只要按确定以后必然会自动把你的打印方向默认为横向。对于针式打印机,尤其使用滚动进纸模式连续套打多张的时候,打印方向必须选择纵向(比如EPSON的LQ-635K),无论你怎么折腾纸张尺寸和打印方向,365都无法实现2003能做到的正常效果。于是呢,我做了以下的事:

把2003的doc和365的docx改后缀为zip,解压对比里面的文件后发现,在“根目录\word”下有个document.xml文件。文件末端,365生成的文件比2003的多了个“w:orient=”landscape””,有这条,打印方向就是横向,没有就是纵向。把这一条手动删除并保存后,把解压包里的文件重新压成zip并重命名为docx,365的文件终于能实现2003文件的纸张宽度大于高度,但打印方向为纵向,滚动试进纸的打印机得救了!但这里有一点非常重要:手动删除“w:orient=”landscape””以后就不要再到Word的“页面设置”里修改任何参数,只要一修改一按确认,365的“w:orient=”landscape””又会重新自动生成。如果要对“页面设置”的参数进行调整,比如纸张选择、页边距设置等等,一律要在手动删除“w:orient=”landscape””之前。

折腾一大轮才让365实现2003不费吹灰之力就能做到的事,让人心累,还不如同时装个2003和365呢~~~ 插一句,新版本的WPS,比如WPS 2019同样存在365的bug。

当别人不曾试过努力思考就用询问他人的方式找答案的时候,我很瞧不起他们。因为我自己是那种非常喜欢通过自己的琢磨努力得出一个方法的人。研究出解决某个问题的第一个靠谱方法对我来说很有成就感,帮助自己同时也方便别人的感觉很爽。

2013-03
6

拜倒LQ635K

By xrspook @ 18:01:41 归类于: 烂日记

今天折腾了一整天的Epson LQ-635K打印机!

事情要从昨天的“坏事”说起,因为昨天的事,今天打印机没反应。我把线插紧了一下然后再开机,未果。于是就把Epson LQ-300K的驱程卸载了。(我的Windows XP家庭版从来就安装不了635K驱动,所以一直都是用300K驱动运行的!)然后,杯具发生了,当我重新把机器插紧的时候,居然又能识别了!好吧,我重装驱动吧。最严重的事发生了!在系统自带的添加打印机里我无论如何添加不了!Epson的任何一款打印机都显示未安装打印程序!!!!!太恐怖了,超级恐怖有木有!!!!我试图从网上下载驱程安装,未果……坑爹,要不要这么坑爹!!!本来XP家庭版的驱程已经很难搞,现在甚至Epson所有机型都挂了,泥们真的要把我逼上梁山了,泪奔~

在接受了我这个机子是无法安装打印机程序后,我找了我旁边同事的机去装,神奇的是,程序他是装上了,但打印任务一律是秒杀,也就是打印任务显示正在打印和打印完毕实际上神马都没有,囧。

我不得不在办公室第三台电脑,也是最后一台电脑,一台临时的笔记本上安装。谢天谢地!她的机子能安装!!!!起码驱程安装完毕后能打印测试页!!!因为是笔记本,没有台式机的LPT口,所以我必须找条USB数据线。坑爹,真的很坑爹,单位的那种方口的USB数据线经常性习惯性是不够的。所以我首先偷偷摸摸地拔掉了某测粮温电脑的USB,然后光明正大地“抢走”了财务室不需要打印功能的传真机USB,最后,在办公室我终于拿到了一条另外买入质量不太好的USB。

还没完,这还没完!我知道针式打印机,尤其是老式的针式打印机都会有默认自动关闭自动切纸的神经设置,但这台打印机已经不是第一次用了,用了快2年了,那个自动切纸的设置我早就设置好了,但自动切纸还是神经病。在按密码似的设置自动切纸后问题依旧。但打印机的所有纸张来源我都已经设置到某固定格式了啊啊啊啊啊啊啊啊。误打误撞,进去打印预览看,囧!为什么会这样!打印机高级属性里居然不是我默认的那种,当我把那玩意调回来以后世界终于被解放了!当纸张来源正确后我发现自动切纸傻逼了,当然了,机子本来是自动切的,被我下午设置了一次不自动,所以我就得再设置一次把自动要回来。

折腾,非常折腾后我终于在我办公室内布局了一台可以打印的针式打印机。

不就是一台打印机嘛,肿么可以这么欺负人呢~ 我挺讨厌Epson的机,因为佳能的就从未出现过这种问题但偏偏针式Epson基本属于垄断,啊啊啊啊啊啊啊啊啊。

今天我6磅的一对哑铃到了,蓝色的!嘿,这颜色我喜欢,这是SD的颜色!!!6磅刚刚好,不至于hold不住,也不会没有存在感。我hold完6磅的哑铃再拿3公斤的沙袋,为啥这么轻呢?噢噢噢,原来沙袋是两个一起3公斤这么算的,所以一个只有1.5公斤,我肿么会告诉你我打算晚上散步的时候用沙袋呢,嘿嘿嘿。

今天的日程实在是“太”丰富了~

2012-04
26

总会有完胜的时候

By xrspook @ 17:57:46 归类于: 烂日记

今天在别的电脑上非常顺利就安装上了EPSON LQ-635K的驱程,那是一台联想正版的XP SP2!结果跟用300K的驱程无区别,照样的卡纸照样的纸在半路不好撕。于是我又换了一台新的635K,一开始测试的时候不卡纸,但后来还是卡,还是那个位置卡。回来以后心有不甘,于是开始翻ESPON的说明书,其中有一点说到打印机的自动切纸是需要手动设置的,就635K而言就是:按住暂停和进退纸键,开机,直到打印头开始移动后放手,机器会自动打印一页,一页打印完以后按两下换行换页键,按两下进退纸键,然后关机。这般弄以后,终于打印机打印完以后不会卡到半路了!也就是说,机器的默认自动切纸功能是关闭的,需要这样手动开启。这到底是咋回事?我也用过EPSON 300K的新机,但那个默认自动切纸功能是开启的。试问一台要用作滚动进纸打印的机器不默认自动切纸这说得过去吗?这简直是整人!或许是因为300K并不是发票专用机吧,它没有前端自动进纸的功能,但635K有。偏偏我单位的绝大多数使用情况都不需要前端进纸打印,只需要自动切纸。更有一点我想不明的,在装箱的说明书里没写,必须看电子版的文件才能知道,这到底什么逻辑?现在都这个年代了,为什么还要折腾机器而不在机器的驱动程序里内置这些功能呢?显然,这些设置在一体化的打印机里已经非常普遍了,在激光打印机,那些只有一个开关键的机子里更是再普通不过。是我太低端了?还是EPSON的理念实在超前呢?

下午发狂起来把那个经常导致卡纸的压纸器给拆了!我叫你卡!我叫你卡!你卡我就把你拆掉!但实际上,在拆之前我已经试过用美术刀和小挫试图把那个导致卡纸的部位给干掉,但约等于徒劳。一怒之下我直接把机壳的螺丝去掉把那该死的弹簧从固定点上取下来从而让压纸器和打印机分离!

世界终于被拯救了!和谐社会!

从星期一折腾到星期四,针式打印机的这个那个问题终于都解决了。

不要试图欺负我,你一定会后悔的!

2012-04
24

将300K驱程用在635K上。

By xrspook @ 17:33:11 归类于: 烂日记

中午没吃饭,中午没休息,晚上打了2小时+的羽毛球,不知道自己是怎么handle过来的。回宿舍发现大妈已经睡觉了,摸黑洗澡洗衣服风扇吹头发。突如其来的针式打印机噩梦打乱了我的生活。

今天照常起来,一大早我手机闹钟后大妈问了我还几个问题,现在,在那之前她已经醒了。一大早啊,我才刚醒啊,模模糊糊的。然后我很快搞定日常工作然后到办公室进行常规Rosetta Stone,在经历了第三级第四单元第四课的单词噩梦后,这个第四级第一单元第一课简直就是恩典。

你也看到了,一个早上我就几乎完成了这一课,除了剩下的口语和复习,这两个下来理论上10分钟内搞定。有种很不可思议的感觉。我变强了?不可能,大概是这课设置得比较容易吧。

今天仍旧和针式打印机作斗争,用300K的程序驱动635K,能打印,规格也没问题,就是必须小心一开始的卡纸以及撕纸的时候得非常的小心。能打印就行,毕竟我不需要一张张打一张张撕,所以,只要搞好一开始的第一张其它的都好办。今天发现,这个打印机对纸的放置非常严格,只要有一点点歪就容易各种跑偏或卡纸。我觉得这主要和它的滚动进纸器的构造有关,固定的部分相对300K来说从单边4个洞变成单边3个洞。即便一开始放纸的时候不偏,纸箱里的大部队放得不和打印机平行打着打着也会自动杯具。或许我可以下载个更ESPON高级的针式打印机程序来驱动这个,那么或许那个撕纸困难的问题就能解决了。

今天下午完成了一个我以为会很耗时间实际上不然的工作。

下周一就WWE PPV Extreme Rules 2012了,我有得休息,我可以不加班么?

© 2004 - 2024 我的天 | Theme by xrspook | Power by WordPress