注册 登录  
 加关注
   显示下一条  |  关闭
温馨提示!由于新浪微博认证机制调整,您的新浪微博帐号绑定已过期,请重新绑定!立即重新绑定新浪微博》  |  关闭

奕克

爱家人爱工作爱生活

 
 
 

日志

 
 

使用word中的set域解决重复性填充的低效率  

2012-12-02 17:30:18|  分类: office |  标签: |举报 |字号 订阅

  下载LOFTER 我的照片书  |
       今天在家改学生计算机基础的实验考卷,碰到下面的一张电子试卷
使用word中的set域解决重复性填充的低效率 - wucccsk - 天秤的存在与虚无博客
        我不断的在计算完学生每小题得分后,要到上面的总表格上重复填入这个学生的小题得分,尤其是试卷好几页,到了后面需要不断上下翻页,受不鸟。。。写个程序太麻烦了,那么word的域能不能解决呢?谷歌了半天,找到个土解决方法,首先学习一下word中set域是怎么用的。
        在word中,按ctrl和F9键可以输入域括号,然后输入如下的语句,点击更新域,看一下效果:
 
使用word中的set域解决重复性填充的低效率 - wucccsk - 天秤的存在与虚无博客

     也就是说你用set域为word文档插入一个标签后,就可以在重复引用的地方,使用这样abc名字的标签多处引用,将来需要改变时,只要改掉set域内容,然后ctrl+a选择全文,更新域就可以了。而且set域的内容不仅仅只是文本,还可以使用别的域。因此,解决方法就出来了,如图:

使用word中的set域解决重复性填充的低效率 - wucccsk - 天秤的存在与虚无博客
              如图,在小题表格计分中插入一个set域,然后在上面总表格中引用该标签就可以了,只是由于set中又使用了表格计算域,所以最后更新总分时,需要ctrl+a选中全文后,更新域2次。但是至少不用上下翻页了。。。 

            为进一步省心省力,刚才给word文档加了个宏,关闭文档前更新各个域,就ok了,同时发现之前需要两次更新域,是因为从前向后挨个更新的原因,用程序倒着更新,一次搞定。完全不用手工干预了。。。

            给word文档添加一个关闭文档前要执行宏的步骤如下:
            进入宏菜单,点击编辑,进入宏编程环境:如下图:

使用word中的set域解决重复性填充的低效率 - wucccsk - 天秤的存在与虚无博客

     给文档插入一个类模块,注意不要加入到normal文档中去了,normal文档中的宏所有word文档都会执行的。如下,加入代码:
 

Public WithEvents appWord As Word.Application

Private Sub appWord_DocumentBeforeClose(ByVal Doc As Document, Cancel As Boolean)
If Not ActiveDocument.Saved Then
  For i = ActiveDocument.Fields.Count To 1 Step -1
    ActiveDocument.Fields(i).Update
  Next
  ActiveDocument.Save
End If
End Sub
 
         然后文档的点击 thisdocument节点,加入如下代码:
 

Dim X As New 类1

Private Sub Document_Open()
Set X.appWord = Word.Application
End Sub

            保存后,每次关闭文档前,文档都会自动执行更新域操作,唯一问题是,关闭文档前才更新,我不知道学生的最后总成绩!不过可以考虑用msgbox显示一下总成绩。。。

 
 
  评论这张
 
阅读(403)| 评论(0)
推荐 转载

历史上的今天

在LOFTER的更多文章

评论

<#--最新日志,群博日志--> <#--推荐日志--> <#--引用记录--> <#--博主推荐--> <#--随机阅读--> <#--首页推荐--> <#--历史上的今天--> <#--被推荐日志--> <#--上一篇,下一篇--> <#-- 热度 --> <#-- 网易新闻广告 --> <#--右边模块结构--> <#--评论模块结构--> <#--引用模块结构--> <#--博主发起的投票-->
 
 
 
 
 
 
 
 
 
 
 
 
 
 

页脚

网易公司版权所有 ©1997-2017