2019-09
10

Excel内部套打

By xrspook @ 11:03:09 归类于:烂日记

我花了一个下午的时间,做了一件Excel内部套打,实际上这个功能很早以前我就已经可以用Word和Excel联合实现。出来的效果很完美,问题只是核心数据要贴在Excel,打开Word的时候,必须点一个对新手来说可能不知道该怎么办的窗口。如果那是一大堆的数据的话,这样的操作绝对值得,但如果那只是仅仅一两条数据,这样的操作貌似比较麻烦。所以昨天我就在Excel里面做了个模板,然后用定位的方式在文件内部实现套打。这样的好处是只需要打开一个文件,就能实现打印而且不会弹出一些让新手很困惑的窗口。很多函数都可以实现这个功能,但最终我选择的是一个定位函数,虽然那是一个动态函数。但因为我要实现的东西很简单,提取的东西不会超过10条结果,我需要进行筛选的总表里面也没有成千上万的东西需要纠结,所以我无需考虑运行效率这个问题。之所以选择INDIRECT这个函数,是因为参数比较少,而且在我定义函数的时候我可以轻松地借用到原数据的列标签,不需要思考一下我要怎么把那个转化为数字。

打印数据的控制可以通过手动输入,也可以通过我随手拉出来的一个控件。控件的好处是可以一个一个地向上增加或减少,这样漏掉的几率就会比较低。当然,如果要暴力一点的话,可以直接在单元格里面输入任何你想输入的东西。当然那样的话就得不到应该有的效果。在不用VBA的前提下,我觉得这样应该实现不了批量数据生成。如果我在现在这个东西的基础上再加一些VBA语句,应该可以实现批量打印,而且难度不算太大。这样的话我就可以用它完全取代Word和Excel黄金搭档的邮件合并功能。虽然我现在做出来的这个小表格很直白简单,用起来方便,但入门的门槛不低。纯粹只是套用,其实没什么难度,但要把整套东西设计出来,还是得花一定的时间。相对而言,相比之下,Word和Excel的邮件合并好用得多。之所以那么好用,是因为一些我需要在Excel里DIY控件实现的功能他们有内置的控件。之所以我想到要加一个控件控制单元格步长,就是受到他们的影响,当然我也可以设置直接跳转到第一条数据和最后一条数据。之所以想到这个也是因为我看到他们可以实现。要如何在Excel里实现批量打印,我想出来的方法不是在一个工作表里面生成一大堆表格,而是一个表格生成一个工作表。打印的时候,我可以筛选有特定字符的工作表批量打印。其实在Word里面也是这么控制的。我之所以想到要生成一大堆工作表是因为我不知道如何在一个工作表里面连续生成N个格式一样的表格,这些表格在打印的时候必须刚好1表1页。要控制好这个,Word里在表格的后面插一个分页符就好,但是Excel里面貌似没有这个东西。当然如果我把表格的高度刚好就是一页纸的话,就应该能达到我想要的效果,但这该如何做到呢?暂时我还没想通。

一个下午就只干一件事,貌似工作效率有点低,但起码我做成了这件事。接下来我将继续在这个问题上动动脑筋研究出我想要的效果。

2017-09
13

Excel梦

By xrspook @ 10:29:57 归类于:烂日记

昨晚我明明可以很早就睡觉了,但我还是折腾到了11点半,因为我11点才回宿舍,而实际上10点之前,我就已经看完电影了,余下那个小时,我在搞我的账本。首先把摘要那里的依据全部改过来,然后是一个一个手动改格式。然后我发现,原来如果在Excel文件里面可以一次性选择所有表,然后设置统一的格式,但是如果表放在不同的三文件,就无法做到这一点。所以既然可以在一个文件里同时选择全部表,当然应该也能这样,批量打印。星期一的时候,我还庆幸我没有把多个表放在一个Excel文件里文件,所以可以在文件夹里一次性选择多个文件进行打印。这是一个外部的方式,但是,如果考虑到Excel内部,根本没必要这么郁闷。因为如果放在不同文件夹,我还不能统一设置格式呢,在打印方面,二者的麻烦程度差不多。但是在格式设置方面全部放在一个文件里显然省事。

Excel肯定也有脚本控制这回事,所以我可以整个表的数据都不一样只在一个地方有数字的变化,可以在这里设置脚本。但使用的时候就得加载宏。加载宏以后问题会很多,因为每次打开文件都会告诉你有危险。有些账本,因为是完全一样的,只是其中一个地方不同,所以,我不应该把它们分开那么多,而应该把它们只在一张表里显示,然后在那张表的打印区域以外,把所有需要替换的数字都填进去,然后每次我就只是要记得在那里改个数字而已。当然如果我可以设定自动替换的话那更好,因为连输入错误也可以完全避免。昨晚和今天早上我考虑承前页过次页的问题,但实际上这个我不需要担心太多,因为其实很少账本会发生这种事,通常来说会每年发生这种事的账本不会超过十个。所以只要手动插入行就可以了。无论是Word还是Access都很难像Excel那样轻松控制表格格式,尤其是你要把部分表格做在表头,因为那是固定不定的不动的部分。于是我想是不是可以设计一个网页的脚本去实现这种功能。网页的代码不过是全部得敲键盘而已,几乎没有可视化。脚本本来就是网页代码原生的一部分,所以也没有什么安全隐患。如果可以,我会专门设计一个网页用来打印我的账本。但至于二者怎么联动应用我还没想到。网页的数据库可以直接调用Excel吗?如果不可以,必须得使用数据库文件,Access数据库文件应该可以自动关联的Excel自动更新吧。既然别人可以做到,我觉得我也可以。我的同事跟我说,从前他们公司很high class的金蝶是可以实现承前页过次页的功能,而且不是像网络那样,只是在页眉页脚那里设置,而是直接打印到表格里。按照正常人的思路,账本填写逻辑的确是应该打印到表格里面的,但是Excel里却没有一个很方便的方式能让你实现这个。

Excel的潜能我还得狠狠地挖掘啊啊啊~~~

2010-09
19

非真金的蝴蝶

By xrspook @ 22:43:51 归类于:烂日记

金蝶,专业会计软件,一直以来我们都被灌输这样的理念。要用金蝶,还得用Windows 2003,还必须得分开内外网,屏幕要超大。金蝶,一直以来我都觉得是会计必不可少的厉害东西,经过多年的发展,应该是个非常完善的专业软件,不过,今晚的遭遇却让我觉得它并没有我期望中的完美。

很偶然地被邀请去解决一个凭证打印的问题,使用的是套打,啥是套打?我一个外行人觉得那就是一个已经做好的邮件合并功能,读取数据,在预定的格式中打印出来。没什么神奇的,平常得很。呵呵,因为我也是Word+Excel的套打老手。金蝶有很密集繁复的步骤去实现套打功能,什么打印设置、页面设置、套打模板设置、套打设置……而软件自带的帮助里却没有很明确地写出要实现一个目标,整套流程该怎么操作,可以说,帮助写得非常含糊。于是很囧地不断试验。让我极端无语的是设置好的模板在套用的时候会出状况,好不容易设置好的格式,到实际打印却会哑火,既然如此的话,为何还要显示一个你以为可以实现但却没有一点用处的功能呢???打印区域和内容区域设置也让人无语,按照MS Office的使用惯例,打印区域、内容区域应该可以随意控制,而且可同时使用填写式和可视式调整,但,很不幸的是,在填写式那里,无论你怎么折腾,是没有效果的。于是,你不得不一次又一次使用你精准的鼠标控制技把每次将打印的凭证在可视式那里准确调整到同一位置。

没见识过金蝶的其它功能,但在打印效果设置上,它应该向微软老大哥继续学习。

最后,经过一个多小时的奋斗,终于把适合实际需要的套打格式折腾了出来。

台风听说明天要到,天气异常闷热。

今天第一次煲昨天医生开的新药,要翻渣,感觉料特多,也比之前的难入口。还记得小时候喝中药的时候总要家长们千哄万哄,非常艰难才喝完,而且还要说好喝完有什么“奖励”。现在呢,已经没必要折磨别人欺骗自己了。

明天有NOC,嘿嘿嘿,PPV呢,期待中。

Page 1 of 11
COPYRIGHT @ 我的天 | Theme by xrspook | Power by WordPress | Valid XHTML 1.1 and CSS 3 Go to top