方法一:
使用Office Word和Excel打印成绩通知单和成绩条
一、成绩通知单
成绩通知通常有两种形式,一种是“成绩通知单”的形式,即每页纸一个成绩,还附加一些关于本学期和下学期的信息,如报名时间、费用等,如图1所示:
成绩通知的另一种形式是“成绩通知条”,即仅仅在一张小纸条上,填写了学生成绩,如图2所示:
 下面,我们就开始一步步制作成绩通知单(条)。首先来看看必需的数据,即成绩。它存放在一个名为“成绩.xls”的 excel 文档的“成绩”工作表中,如图3所示:

制作成绩通知单

  根据任务的特点,不难想到使用 word 的“邮件合并”。

  邮件合并功能需要两个文档,即数据源和模板文档。数据源通常可以是word表格、excel 表格以及数据库表格等,这里就用我们上面提到的那个存放数据的 excel 作为数据源。模板文档当然需要在 word 里新建了。现在我们来一步一步的准备成绩通知单吧(注:本文以 office 2003 为例,其余版本的 office 中操作类似,可能略有不同):

  第一步,新建一个 word 文档,打开“邮件合并”工具栏(右键单击 word 工具栏,在弹出菜单中选择“邮件合并”)。点击工具栏最左边的(设置文档类型)按钮设置主文档类型,即在弹出的对话框中选择“信函”。

  第二步,在“邮件合并”工具栏上点击(打开数据源)按钮,选择我们准备好的“成绩.xls”为作数据源。在这一步中请注意,如果“成绩.xls”中有多个工作表,请选择正确的工作表作为数据源。在 word 2000 中,没有提供对工作表的选择对话框,那么请把数据表移到 excel 文档中的第一个工作表位置。

  第三步,撰写模板文档内容,并在适当的位置插入正确的“域”。比如,先写好“学号: 总分:排名:”,再将光标移动到“学号:”之后,单击“邮件合并”工具栏上的(插入域)按钮,打开如图4所示的“插入合并域”对话框。注意对话框中已经根据数据源列出了所有的域名,即图3所示 excel 表格中的第一行。这里选择学号。同样,依次将光标移动到“总分:”和“排名:”之后,分别插入相应的“总分”域和“排名”域。完成的模板如图5所示:

 

插入合并域的时候,如果需要控制格式,可以直接在合并域上进行格式操作,如图5中给“姓名”加下划线。但是一定要注意一点,域是一个整体(如果将文本光标移动到某个域上,整个域的背景都会变成灰色,以便区分),所以,无论做什么操作,都要把域作为一个整体来考虑;更不要手工去修改域的名字,虽然这样做时不会报错,但这样做不仅没有意义的,反而会把事情弄糟。

  模板文档完成了,不妨先看看实际效果。单击“邮件合并”工具栏上的查看合并数据)按钮,此时文档中的域都会替换成数据源中的数据,至于是替换成那一条数据,则是由工具栏上的这组按钮决定的。

 

  最后核对无误之后,使用“邮件合并”工具栏上的(合并到新文档;合并到打印机)两个按钮中一个来进行合并。这里我们可以选用“合并到新文档”按钮看看合并的结果,如图6所示。最后只需要打印这个文档再分别装入信封即可。

二、制作成绩通知条

  制作成绩通知条完全可以使用和制作成绩通知单相同的办法,即邮件合并。只不过合并类型选择为“目录”,而不是“信函”。但是既然只需要用 excel 就成解决,何必再去麻烦 word 呢。

  实现成绩通知条,其难点在于给每一条数据都要加上表头,如果能有空格分隔便于裁切就更好。如果我们新建一个工作表,根据当前的行数引用“成绩”表中不同的行,那问题就能很好的解决了。原理说起来似乎有些复杂,所以请先跟着我做,之后再容我慢慢解释。

  在“成绩.xls”中新建一个工作表,命名为“成绩通知”。在“成绩通知”工作表的“a1”单元格中输入如下工式:

=if(mod(row(),3)=1,成绩!a$1,if(mod(row(),3)=2,offset(成绩!a$1,row()/3+1,0),""))

  输入公式并回车后,再次选中“a1”单元格式,向右拖动选中符号右下角的小方块进行填充,直到将“成绩”工作表中第一行的数据完全复制过来为止。本例中拖动到“k1”单元格。然后再选中“a1:k1”这些单元格,向下拖动选中符号右下角的小方块进行填充,直到第29行。

  最后结果如图7所示。将这个表格打印出来,裁切分装即可。

现在来说说为什么要这样做。

  当然首要的是解释那个公式的意思,我们先把公式中的两个if语句标记出来:

=if(mod(row(),3)=1,成绩!a$1,if(mod(row(),3)=2,offset(成绩!a$1,row()/3+1,0),""))

  可以看出,第一个if语句(标记为红色)中,“mod(row(),3)=1”是条件。当条件成立时,结果为“成绩!a$1”;条件不成立时,结果由第二个if语句决定。这个if语句的意思是,当前行号(由row()返回)除以3的余数为1的时候,本单元格的内容就是“成绩”表a1的内容;否则,其内容由第二个if语句决定。

  第二个if语句(标记为蓝色)中,“mod(row(),3)=2”是条件。条件成立时,结果为“offset(成绩!a$1,row()/3+1,0)”取得的值;条件不成立时,结果为空白。其中“offset(成绩!a$1,row()/3+1,0)”表示,从“成绩”表的a1往下数第row()/3+1行处的单元格的值。这个if语句的意思就是,如果当前行号除以3的余数为2的时候,本单元格的内容是“成绩”表a列1+row()/3+1行处的值;否则,其值为空白(用于产生空行作为分隔)。

  所以,整个公式就是根据当前行号计算出来应该引用“成绩”表中表头、对应行数据还是空白。而后之所以要复制29行是因为原来10行数据,每行数据在“成绩通知”表中都是3行,即表头、数据和空白,这样就是10*3=30行,因为最后一条数据的空白可以不要,所以是30-1=29行。

  注意公式中的行号都是使用的绝对引用,因为所有内容的引用位置都是以“成绩”表的第一行为基础进行计算的


本文来自CSDN博客,转载请标明出处:http://blog.csdn.net/cryeyes/archive/2009/04/08/4055811.aspx

方法二:

1、           如何显示word文档中的《分页符》等一些隐藏符号?

答:在工具档选项中选“选项”,在弹出的对话框“视图”里的“格式标记”中的“全部”打上对号就行了。

 

2、如何使用WORD文档和EXCEL打印成绩条?

答:第一步,新建一个 word 文档,打开“邮件合并”工具栏(右键单击 word 工具栏,在弹出菜单中选择“邮件合并”)。

第二步,在“邮件合并”工具栏上点击(数据源)按钮,选择我们准备好的“成绩.xls”为作数据源。在这一步中请注意,如果“成绩.xls”中有多个工作表,请选择正确的工作表作为数据源。在 word 2000 中,没有提供对工作表的选择对话框,那么请把数据表移到 excel 文档中的第一个工作表位置。

第三步,撰写模板文档内容,并在适当的位置插入正确的“域”。模板文档完成了,不妨先看看实际效果。单击“邮件合并”工具栏查看(合并数据)按钮,此时文档中的域都会替换成数据源中的数据。

第四步,最后核对无误之后,使用“邮件合并”工具栏上的(合并到新文档)进行合并,看看合并的结果。

第五步,开成的新文档,第一页只有一个成绩条,此时将文档变成(大纲视图)

第六步,用(查找和替换)将(分页符)删去,成绩条就变成一页多条学生成绩了。

方法三:

第一步与第五步同方法二;

第六步,将所有成绩复制到EXCEL表中,生成表格,再复制成绩到WORD文档,就生成一页多条学生成绩。