2019-04
30

写出我的VBA

By xrspook @ 9:39:13 归类于: 烂日记

自己有多努力自己知道,别人有没有感觉到无所谓。那就像减肥一样,一开始的时候,身体些许的变化只有自己明白,比如整个人不再那么嗜睡了,身体的围度在减少,主要的体现是衣服或者裤子的哪个部分松了,又或者是爬楼梯或者做其它运动的时候不再那么容易累。别人看到你的改变大概是在当变化接近5公斤的时候,如果你根本没有那么大的基数或许你要控制的目标体重根本和开始的那个体重相差不到5公斤。所以说自己的状况只有自己明白。对我来说,当我弯腰坐着的时候不再感觉到肚子上折叠了肉肉,我就知道自己的减重有成效了,另外一个方面有可能是大腿或者屁股的某个部位不再那么紧绷。相对于几年前,我觉得现在控制体重比当年难多了。我也不记得从前大腿或者臀部围度发生变化是开始持续运动多久以后的事,反正现在即便我觉得自己已经在努力,但那两个地方还是坚决不改。不改就不改,反正只要身体总体的感觉在向好的那方面发展,肥肉堆在那些地方其实也无伤大雅。我不是那种靠脸吃饭的人,身材只要不要太过分我觉得一点问题都没有,但如果那些地方已经堆积了很多,甚至于蔓延到全身的其它部位,发展到一定程度的时候,我会觉得无法接受。接着我会开始下一轮的稍微克制,但是克制一段时间以后,我肯定又重新开始过放纵的过日子。

昨天下午上班的时候被告知今天检查组不来了。其实总的来说,我准备的东西已经足够了,没有什么可以再准备的,我只是等那帮人过来,而在那之前总会有各种的紧张。知道他们这个月底不来,五一节以后再来的消息以后,我彻底丢下了那个紧张的包袱。过去好长时间我都没有主动去写符合我需要的VBA程序。之所以要学Excel VBA,就是因为有些功能是数据透视表做不到某些个性化的需求。在那个明细数据与汇总数据混乱的表格里,难以用简单的方法把该合并的合并出来,即便我用的已经是最新版本的Office 365。虽然在数据提取及组合方面,最新版本的Office已经比前代强了很多。昨天我用了大概一个下午两个多小时的时间写出了我想要的那个效果。虽然那个东西的运行效果在加了某些句子以后慢得让人有点难以接受,于是我又用了好几个小时的时间对程序进行了优化。到晚上8点多的时候我终于把东西整了出来。最终的成品我挺满意,因为一个有900多条需组合的数据的100个工作表的工作簿里,用我的VBA程序提取汇总耗时不会超过两秒。在我优化之前,即便只有80多条需要合并的数据数据也需要起码10秒的时间。以前写C语言程序的时候,我从来没有感觉到用不同的表达方式效果会差那么远。大概因为从前我处理的数据没有现在多,而且在C语言里。除了单个数据就是数组,但显然我在Excel里使用VBA,我并没有使用数组,而是纯粹在工作表的单元格之间不断循环。有些东西我一开始觉得是不是一句话说完,不搞那么多个变量会好一点。但后来发现变量多完全不是问题,如果你把一个变量以很复杂的句式表达出来程序会很慢,一开始的时候我犯的就是那个错误。搞那么复杂的句式不如再建一个变量,以走直路的方式表达出来。

做同一件事为什么有些人需要不断地通过加班完成,而有些人却可以潇洒地准时下班,甚至在上班的时候也在摸鱼。工作效率高低决定了这一切。而我觉得提高工作效率这种事你需要反复地思考和实施,直到进化出一种最适合你的方式。别人曾经把精力投放在思考和实施上面,但你却从来没有在那些方面努力过,于是某些加班纯粹是活该。

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。

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

2019-04
2

重复劳动

By xrspook @ 10:56:20 归类于: 烂日记

上周六在做某个账本之前我已经先问了总公司的负责人到底我这样做合不合理,她回复我没问题,然后我才开始干。但昨天傍晚的时候她又突然跟我说,因为去年其它单位都是那么干的,所以我也要把那改过来。到底什么是对什么是错,真的不知道。按照条款上的约定,我的做法没问题,而且为了以防万一,我还在做之前要先咨询了一下,但最终还是不能避免要把所有账本都重新再做一遍。既然条款上是这么写的,为什么不按照那个执行反而对呢?如果条款有问题,为什么他们不事先修改条款,然后告诉大家,而是到有人遇到了状况的时候才一个一个的告知该怎么去处理呢?显然这样费时费力。管理的辛苦,被管理的也很辛苦。但幸好上周六做那个账本的时候我没有把旧的账本先删除掉,我只是在那个账本的文件名上做了个标记,然后剪切到别的地方,所以昨天我还可以把旧的那个拿回来,虽然还是有些地方要修改,虽然重新打印签字免不了,但起码我不需要从零开始。我不知道为什么那天我把那个账本先放一边而不是直接删掉,大概是因为以前的经验告诉我,或许那些东西留着还会有用,但我并不是把所有旧账本都留下来,我只是把最复杂的那个留下来,因为做那个东西实在耗费了我好些精力,我舍不得直接删除掉。

数据本身没问题,是数据的表达方式不同了而已。我一直觉得我们把所有精力都耗费在这个上面是浪费人生。每次遇到检查我都会有很深的觉悟,我必须学会Excel的VBA。那么我就可以把自己从这些毫无意义的格式修改上拯救出来。既然那些东西J金蝶通过编程可以实现,我也可以自己做到。但话说回来,这么大一个单位为什么他们就没想过买一个有统计功能的金蝶模块挂上在现在的系统上呢?归根到底一定程度我觉得是因为做统计工作的人其实基本上都不是会计或者经济学出身的。我们本来做其它事的,接着莫名其妙就被叫过来做这些了。在我们的字典和我们的知识领域里不知道如何把金蝶发挥到极致,当然也就没有那个升级的强烈要求。情况就像我的同事对用什么Office软件无所谓,WPS也好、随便一个什么版本的Office也好,反正能用就行。当遇到一些应该用技巧和用公式能解决的东西他们一律手动输入,所以用什么软件对他们来说毫无区别,因为那不过是一个记录数据的地方而已,跟在一张白纸上记录毫无区别。既然他们没想过要把软件的功能用起来,他们当然也就对软件没有要求了。在统计账务处理和管理方面,我觉得我们单位遇到的也是这个问题,如果有一个精通金蝶的人过来指点一下大概我们的工作会非常不一样。有可能是工作流程简化了很多,也非常有可能是一些我们向来忽略掉的东西会被重新重视起来。但显然如果找一个卖金蝶的过来他肯定会给你推荐一大堆你根本用不着的东西,又或者其实他们也不熟悉他们的功能,所以只能大概的给你瞎掰。好不好用这种事只有用过,而且是经常用的人才有发言权。

在账务管理方面,其实很多软件已经非常成熟了,无论是哪个,现在的问题是做这些账务的人根本不懂得基本原理也没见识过软件,当然也就不会想到要去用。

2018-12
8

流氓劫持

By xrspook @ 22:46:59 归类于: 烂日记

昨天晚上还好好的,今天早上突然发现所有浏览器都被劫持到一个导航网站,与其说那是一个导航网站,不如说那纯粹是一个广告页面,因为上面正在播的或者飘的东西都肯定跟利益有关,但那些东西又不像普通网站上的那些广告那样标明是广告。那个网站的模样让你第一眼看上去,觉得那是hao123,但是,如果你用对付hao123的方法去应对,是毫无结果的。无论是修改浏览器的快捷方式,还是在注册表里搜索,又或者到某些很深层的文件夹去修改,都没办法让浏览器恢复正常。那种不正常都只会发生在开启浏览器的那一下,往后的网页浏览是不会发现其他问题的。

到底弹出来的那个网站是什么东西呢?把所有方法做了一遍,但都无效的时候,我开始研究那个网站。发现那还不只是一个网站那么简单,那是一个网站框架,虽然是挂在某个网址下面,但实际上里面的内容却指向别的地方。那个框架里面的东西,还用了cdn加速。这就很高端了,因为如果仅仅是一个导航网站,里面只有链接和几张图,根本用不着cdn加速这种事。如果用cdn加速,就代表他在不同地方都部署了服务器,而且确保了你即便阻挡了这个图片,下一次它加载出来的东西就会是另外一个服务器出来的,你防不胜防。什么360杀毒,杀木马,或者360卫士上面的各种主页保护都没办法搞定这个东西,因为我觉得这个根本就不是篡改主页,而是直接默认让你在启动浏览器的时候加载一些东西,至于那到底是什么,显然到现在为止我都不知道。如果知道那是什么,我当然就可以找办法去解决。那是DNS劫持,但实际上又不是,因为你能打开网站的,你也能正常浏览,就是一开始的时候有一些莫名其妙的东西弹出来。那不会在你去正常网站的时候弹错误的给你,所以这也算不上是HTTP劫持。这到底是什么呢?搞了一大圈,没办法之后我去找网友,他几乎马上断定这是运营商搞的鬼,是中国电信搞的鬼,华为新研究出来的东西。

很久很久以前一开始拨号上网的时候,我们经常遇到这种链接上就给你个满屏飞的广告。又或者在浏览网页过程中突然飞出一个广告,但当时你一眼就能认出那是电信的东西,习以为常。现在打开浏览器,他们弹的那些东西你完全看不出是电信的影子,但也就只能在他们的那个层面才能做出这么神奇的事情,因为我把电脑已经检查了好几遍,完全没有发现任何问题。神奇的是他们的那个东西为什么全部都指向搜狗呢?之所以这样,是因为搜狗给了华为钱,华为在做硬件的时候直接植入了电信的系统,所以华为又给了钱电信,最后电信就在用户身上投放这些东西?!好恶心的利益链条。这些东西本不该存在,我们应该去投诉,我们应该去工信部把他们全部都告一遍,但显然,做这种事实在太花时间和精力了,一般的公民不会这么做,但如果人人都不这么做,他们只会更嚣张。

在搞了一大轮都没成功以后,最后我选择了把那个网站host掉,然后当我删除了浏览器的缓存以后,终于耳根清净了,那个网站再也不会弹出东西,我只会显示网页无法打开。我宁愿什么都看不到,也不想看他们的广告。我做的这一步很简单,但是一般的人通常不做,也不会做。

我知道我只是在掩耳盗铃自欺欺人。

2018-11
21

微信开不了xlsb

By xrspook @ 15:32:44 归类于: 烂日记

如我所料,当我把xls替换x1sb以后,单位的数据从每天15MB左右变成了只需要5RMB,而这个还因为前天的数据比较多,所以才有这个量。如果每天需要更新的其他文件没那么多,甚至,还不会达到5MB。我的这个转换策略是正确的,但问题是,当我把文件发上微信群,对方如果只用手机,就会打不开那个文件。那个文件没办法下载到手机,你也没办法用手机上的其它APP打开(WPS的APP可以打开)。因为微信根本就没有那个选项,于是这就很郁闷了。我不明白微信为什么会有这种设置,如果是QQ,也会这样吗?也会无法下载吗?微信的图片可以下载,语音我没试过,但记忆之中好像不可以,但那已经是很久以前的事了。视频可以下载,但问题是上传的视频跟下载到的视频质量会相差很远,而其它文件,比如Excel的,貌似我翻遍所有都是无法下载的。如果是典型的Excel文件,比如xls或者x1sx,微信可以打开,默认用QQ浏览器打开,但是你也可以选择用其他APP,但是,我这个xlsb他们无法识别。可能他们根本不知道这是Excel文件。之前已经说过,xlsb是微软的二进制工作簿,通用性不强,所以如果我的同事要打开我的文件,他们就必须通过电脑端下载。微信的这种特性一个相当神奇的存在,但这样的操作是不是意味着手机下载到乱七八糟病毒的机会会大大降低了呢?为了安全性而放弃便捷性,这也是无奈之举。

于是,摆在我面前,就有一个问题。保存在我电脑上的文件当然可以用xlsb,但是我发给别人的文件,估计每天都得转一个格式,虽然这也不是很麻烦。反正我现在已经不把文件每次都另存为然后加个日期进去了,因为那样更浪费我的空间。平时我都是在一个文件上修改,然后把那个文件用右键复制,然后粘贴到其他地方,再换一个名字再发上去。现在我的操作不过是把右键复制变成了在Excel里面的另存为而已。跟文件斗争,跟文件大小斗争,跟上传流量斗争。之所以要这么纠结,归根到底这都跟钱有关。如果单位愿意给我付每个月不到20块钱的坚果云个人版费用,我就不需要这么操心,但问题是,我懒得向他们提要求,也懒得猜测他们会不会答应我的要求。他们指望新的智能系统能赶快上线。据说这次为我们做系统的是世界上第三大的服务器生产商。从实力上说肯定牛逼,但问题是他们给出的东西能不能满足我们的要求,这就很难说,而我不会把所有希望都寄托在他们身上,我需要他们给我做到的只是我需要的原始数据他们都可以给我导出,只要能做到这点,我就没意见了。原始数据下载回来,我还可以进行各种加工,如果你要他们在一个界面里实现你所有的分析诉求,显然这是不现实的,因为人是会变的,人是有创造性的。今天想到用这个方法,或许一段时间以后会想出更好的。他们的界面不可能随着我的需求改变而千变万化。虽然,我写软件需求的时候的确已经提到了我需要一个多层次可变的操作界面,在那里,我需要用我的筛选方式调用及汇总数据。要把他们的东西做成像神一般的数据透视表和数据透视图那样,实在太难为他们了,因为那意味着不是一个固定的模板,那个模板要适应各种类型的数据排列组合。所以,当他们的软件很难实现我的目标的时候,我的唯一要求就变成了起码数据你可以给我,我自行加工。

昨天我稍微思考了一下该如何写我的某篇统计分析。仔细想了一下,发现原来我想挖掘的东西还是挺多的,那些东西不能通过很表观的数据看得出来。我需要进一步的排列组合。现在这些数据还不完整,但是我应该开始着手考虑要怎么展示这些东西了。毕竟,离年末需要交作业的时间不远了。

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