2010-09
26

再遇邮件合并数字问题

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

让人抓狂的网速持续着,不明白为什么大家都爱用流氓雷和暴风狂魔。很怀念从前干净快车的日子,没有闪来闪去的广告,也没有弹出小浏览窗口。到底那个窗口是谁的主意呢!QQ如此,旺旺如此,飞信如此,流氓雷,***也如此……只能叹一句,这社会再也没有干净和纯粹了。

今天继续折腾邮件合并,这次用在它最闪亮亮的地方——打印工资条。

又是那个该死的小数点问题,发现邮件合并的Word和Excel真是水火不容,即便在Excel里是整数,Word也会弄个14位小数麻烦你。到底为什么会这样呢?云里雾里。发觉之前记录的解决方法还不够仔细,所以,遇到邮件合并小数问题,应该这样弄:

1、鼠标移至插入域字符间,右键,下拉菜单选择“切换域代码”

2、MERGEFIELD “***”后加上“\#0.00”,“\#0.00”表示数字形式设定为2为小数,如果要保留整数,“\#0”就好。例:完整域代码从{MERGEFIELD “合计”}变成{MERGEFIELD “合计” \#0.00}

3、修改完毕后F9,更新域代码并退出域代码模式,返回数字。很多时候我们修改对了却没有更新,所以显示的仍是错误的N位小数

完成了!

很多时候,我们第一是忘记域代码该怎么写,第二没有按F9,抓破头仍得不到目标效果。

很多地方都说了遇到邮件合并数字问题该怎么解决,但却好像没多少人解释为什么会这样,如果只是小数出现,那还说得过去,因为Excel并非所见即所得,很多时候,你看到的那个数字经过四舍五入,但实际上Excel运算的仍是14位小数,所以,神奇效果可想而知,但连整数都会出现这等问题,那可真的让人很无语。难道Word理解那个单元格的内容并非数字而是把它当作日期、时间等其它信息?为了确保邮件合并后数字的正确显示,还是老老实实地把所有数字域都加入控制手柄,使之在可控范围才算万事大吉。

为什么没有Excel对Excel的邮件合并呢?

2010-04
21

继续学习邮件合并

By xrspook @ 18:02:37 归类于: 烂日记

还是大三的时候有门食品工程原理实习的课,最终作业是做个管壳式冷凝器的可行性报告,当时花了好大力气用VB做了个简单的计算工具,但最终从分数上看,老师大概不知道,因为我居然忘记把代码打印出来附在报告的后面(虽然电子文件里有程序),悲情啊~~~但,分数是一回事,从中学到的很多却让人很是兴奋。那次开始,我迷上了Excel,伟大的计算功能原来也通用于简单而强大的VB,从那时起,我就有个念头,没有做不到的,只有想不到的。如果你说X某功能无法实现,大概是为你技术没到家,不会运用某功能。

Excel是伟大的,同样伟大的还有Word,从接触Windows,需要递交打印版作业开始,Word就是你密不可分的伙伴。如果说你不喜欢跟它在一起,悲情了,那么很多事都会让你都郁闷透顶,W会把你卡死,你会被它气死。

今天又做了个邮件合并,如果说以前玩的邮件合并纯粹是调整电子版效果和打印效果的话,这次的邮件合并则是为了实现多数据多格式的完美结合。其中用到了一个很重要的数值格式控制{MERGEFIELD “***” \#0.00}用过邮件合并的你就会知道,有这么一种经常发生的诡异情况。数据源明明设定好了格式,合并到W有时小数自己会从几位变成14位,把你郁闷得云里雾里。用邮件合并做工资条的童鞋肯定深有体会,于是必须手动控制数值格式。

学会一样东西会让人觉得异常兴奋。不得不说,如果你不是有所求地学的话,东西会左眼进右眼出。人不可能天生就万能,是后天的学习使之无所不能。千万不要以为自己知道了很多,在沾沾自喜的时候非常有可能你身后的笨鸟就超过你了。

学无止境,别以为自己已经知道W和X还有其它软件的很多很多了,它们都是博大精深的!

2009-11
9

初试邮件合并

By xrspook @ 19:29:16 归类于: 烂日记

一直在暗暗觉得先制作一个模板,然后在模板中实施数据导入,接着就可以很好很强大地套印数据表里的东西了,应该是非常可行的,但具体操作还没尝试过。

花了一个整个下午玩弄我们强大的Word+Excel,Excel在数据的格式设置方面比Word强大很多,这个不用说,但如果要把Excel的强大带入Word呢?可行吗?毕竟人家都是一个老爸生出来的啊。理论上应该没问题。首先,在Word里建一个表,然后随便调出一个只有几条数据的Excel表格。弄出Word里的邮件合并功能。

邮件合并是何方神圣呢?大家可以参考一下微软的官方说明:http://office.microsoft.com/zh-cn/word/CH060832702052.aspx

今天第一次弄,我觉得我暂时用得上的邮件合并功能键有一下几个:打开数据源、插入域、查看合并数据、翻页、合并到新文档,其它的暂时没用。不知道邮件合并的初衷是什么,但利用那个原理我们就可以套印N多的东西,如:成绩单、工纸条、奖状、各种单据等等。只要熟用的话,你就是强人之中的超人了。可以节省无数的时间和工作量。

具体邮件合并是怎么操作的,我就不多说了,只说说我遇到的2个问题和解决方法:

1、千位符的添加
解决:我的板式是需要用到千位符的,但是自动导入的数据没有千位符,怎么办呢?首先把光标移动到你你要修改的那个“域”然后右键选择“编辑域”直接按域代码,写下“MERGEFIELD  净重 [“数学” \# “#,###”] ”,解释一下“\#”是一个叫做Numeric Picture域开关的东西,指定数字结果的显示方式。“#,###”就是指传说之中你要控制的数字,如果还需要多少个小数就在后面补零就可以,比如需要2位小数就写成“#,###.00”,调入的数字如果是66530就会显示为“66,530.00”,很强大很好用的家伙,简单说就是可视化Excel的代码版,都是随心所欲的,如果你懂。[注:域代码中的“净重”是指你引用Excel那一列的列首称呼,如果只有数据,列首就可能为A1、B2等Excel单元格位置称呼]

2、长日期的设置
解决:和数字域开关相近,日期/时间也有个域开关,是“\@”,于是可以把那一句中的“数学”换成“DATE或者TIME”,我需要的长日期是“年年年年-月月-日日 时时:分分:秒秒”,理论上就应该在域代码那里写“MERGEFIELD  日期 [“DATE” \@ “yyyy-mm-dd hh:mm:ss”] ”但无论怎么弄都是出错。你看出原机了吗?在Word里面小写m代表的是“秒”,大写M才代表月份!于是我怎么写怎么出错,但在Excel呢?大小写它都通杀,我的老天啊,于是那一句应该换为“MERGEFIELD  日期 [“DATE” \@ “yyyy-MM-dd HH:mm:ss”] ”,太邪恶了,实在太邪恶了!

但征服这些问题后,大功就告成了,哇咔咔~~~

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