2023-12
13

VBA神经质了

By xrspook @ 13:28:44 归类于: 烂日记

星期一上班的时候跟往常一样,我打开了其中一个我常用的VBA脚本,结果发现当我按下按钮的时候,马上闪退。接下来会自动打开一个Excel。开始那几次我直接把那个关掉了,后来我选择新建一个空白文档,然后会看到左边显示可以恢复我之前闪退的那个Excel。到底为什么那个VBA脚本会闪退呢?上周四离开之前我没有做任何奇怪的设定,基本上查完数据就关掉了,最后的保存时间是下午5点多。放置VBA查询脚本的文件夹是本地文件夹,没有设定同步的。无论是我关闭的时候,还是说我关闭之后文件都没有被修改过。为什么之前一直没有问题,这一次却闪退了呢?重新载入,打开失败的Excel文件之前,我从同步的文件夹里把同款的VBA脚本文件复制了过去,结果发现那个VBA脚本就没有闪退这种问题。就VBA的核心编程来说没有任何区别,为什么一个会闪退,另外一个却不会?闪退了之后重新保存那个文件不闪退。

VBA脚本闪退这个问题,当我第一次看到的时候我是挺慌的,我赶紧把其它VBA也打开试了一下,发现其它没有问题。为什么就只是这个文件有问题呢?一天下来,我也再也没有发现其它的问题。周一的晚上我要用另外一个VBA文件转化数据,结果却发现不成功,被卡在了某个步骤,那个步骤是把当前工作簿的某个工作表复制到新的工作簿。我一直都是采用那种操作方式,为什么之前就没有问题呢?接着我打开另外一个同样需要复制工作表到新的工作簿的VBA文件,结果发现那个更糟糕,显示的是activeX错误。转化数据的那个VBA脚本直说卡在了另存为那个步骤,我还可以手动把已经生成的数据复制到我想要的地方,所以工作是可以继续下去的,但另外一个activeX出现问题的工作簿是属于那种另存为也不行直接保存也保存不了的状态,无论如何都说我数据错误。这就让人觉得很无语了,因为上午下午我都打开过那个文件查询过数据,为什么一直都没有问题呢?

当windows出现问题,绝大多数情况下重启一下就好了。无计可视之下,我重启了电脑,转换数据的那个VBA直接就好了,没有问题了。和另外一个activeX出现故障的那个,好像一直都是那样,但是当我把同步文件夹里面的同款复制过去以后也好了。是Office某个安装文件损坏导致的这种问题吗?为什么同样的文件复制到某个文件夹里就好了呢?VBA脚本是我自己写的,其中关联了什么我自己清楚。VBA脚本放在什么地方跟使用没有任何关系。所以到底是什么原因到导致了VBA的这种神经质呢?

星期二早上,什么都没干之前,我赶紧看了一下windows的更新,结果发现对上一次更新是在11月,显然跟我出状况的那个时间不吻合,但Microsoft365到底是什么时候自己做的孽?这个我查不出来了。反正周二的早上我首先对win10进行了更新,然后也对Microsoft365也进行了更新。如果依然出现严重的VBA问题,我觉得我得对Microsoft365进行修复。如果问题依旧,估计就只能重装Microsoft365。

一开始我以为这只是VBA的问题,结果发现,我的某个word里面的交叉引用也出现了错误。我非常肯定之前是没有这种错误的,因为那个文档我复核了很多遍。如果有那种错误,我肯定会复合得出来,之所以我完全不知道那个错误的存在是因为我复核的时候,根本没有那种错误。交叉引用的错误跟VBA的随机错误到底是不是同一个问题引发的呢?那个又到底是什么类型的问题呢?我真的希望有人说那是因为win10的某个更新导致的,卸载那个更新就可以解决问题。

现在我依然没找到原因,所以就只能祈求不要遇到这种问题,又或者遇到这种问题的时候见招拆招。

2019-05
29

自动图表索引

By xrspook @ 8:39:31 归类于: 烂日记

用了这么多年的Office,昨天是我第一次用插入题注以及交叉引用。之所以这样,是因为这一次我写的那篇统计分析里面的图表实在太多,加起来接近有20个。整篇文章的正文我用的是三号的方正仿宋简体,1.5倍的行距,有18页纸,字数大概是5700。再编一编,我可以轻轻松松写够6000,但是我觉得没有凑字数的必要了。现在已经18页纸,如果我再写点,哪怕再写一行,就会超过18页纸。写那么多又有什么必要呢?在写完一大堆以后,我要把文章缩短,因为只有那样我才能够在结束的地方写个日期,否则以现在的长度,某一段话只要再多几个字就会分到第19页了。因为里面的图表多,所以做编号也会把人做疯掉。如果我改变了文章段落的编排,图片的序号及定位肯定会非常痛苦,加入或者删掉其中一个都绝对会让人疯掉,所以唯一的办法就是利用软件自身的序列功能。之所以从前没用过是因为读大学的时候老师对论文有严格的格式要求,而自动生成的图表序号格式不符合老师的要求,所以虽然毕业论文我写了很多字,也用了非常多的图表,但最终所有图片序号我都是手工编制的。

图表的顺序改变不仅仅是图表的说明文字需要改变序号,连正文的引用也需要改变,但现在,如果我用好了Word的功能,所有改变只需要更新一下域,就能解决问题。我不知道用过Word的人有多少个懂得这个东西,之前我知道有这个东西存在,却一直没用过。我觉得知道这个东西且一直在用的人显然不多,毕竟对普通人来说,一篇文章不需要写那么长,插那么多图表。如果要搞那么多图表,还不如用个PowerPoint。其实我觉得统计分析这种东西,除了用Word去表达以外,用PowerPoint也是一个非常好的方式。对读者来说,Word就像是以文字为主的杂志,而PowerPoint则更像是看一个图册。谁说图册就不能说明问题,看看《国家地理杂志》!他们的书里图片是重点,文字是点缀,我觉得统计分析也应该这样。同样一个图表,不同人有不同的看法。虽然我是作者,但我跟读者看到的是一样的图,大家都可以由此发表感想,我的表述只代表我的个人观点,所以,那些文字只是一个意见的表达,甚至你可以说那只是一个有感而发。数据不会说谎,但当然如果我有主观的意向,同样的源数据能造出完全不一样的后期图表,并不是因为我对数据本身做了什么手脚,而是因为不同的排列组合以及数据筛选方式会得出完全不一样的结论。我觉得统计分析这种东西我看中的不是里面的文字说明,而是上面展示出来的大数据。也正是因为我觉得图表本身比说明文字重要,所以我觉得有更的大图表展示空间的PowerPoint更合适。当然了,PowerPoint本来是用作展示的,所以除了里面的内容以外,还应该配合人去讲解。如果我连一个Word都写不出来,即便全部都是我做的东西,我怎么可能在展示的时候有话讲呢。

虽然一直在用Office,但直到现在,我才终于渐渐体会到Office三剑客的伟大之处。

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