Microsoft Word使用域代码(field code)实现日期倒计时,类似距离xx年xx月xx日还有xx天
Posted on 2020-05-14 00:18 kangkang2233 阅读(2078) 评论(0) 编辑 收藏 举报效果大概这样:
一、域代码介绍
alt+f9 切换显示 ctrl+f9插入 Ctrl + F11锁定 Ctrl + Shift + F11取消锁定,选中后F9刷新显示,ctrl+shift+F5打开书签列表
主要的域代码:
SET 声明标签,
REF 引用标签,
DATE 使用系统当前日期,
IF 判断语句
=(FORMULA) 公式运算(建议去链接浏览一下大概有哪些操作),
QUOTE 显示后面的值
二、倒计时的域代码
变量含义,m开头表示截止日期,n开头表示系统日期,y、m、d分别表示年、月、日,leap表示是否为闰年(1为闰年,0为不闰年)
注意:由于word使用域代码的大括号必须通过ctrl+f9插入,手打的{}没有用,所以以下代码仅仅用作展示,想要复制的话下文件,或者手打。更多的解释也在文件里有:日期倒计时Word域代码(备用链接 提取码:p7ow)
1 {QUOTE 2 { SET my 2020 } 3 { SET mm 6 } 4 { SET md 1 } 5 { SET ny { DATE \@ yyyy } } 6 { SET nm { DATE \@ M } } 7 { SET nd { DATE \@ d } } 8 { SET mleap { = OR( MOD(my,400) =0, AND(NOT(MOD(my,100)=0), MOD(my, 4)=0)) } 9 { SET nleap { = OR( MOD(ny,400) =0, AND(NOT(MOD(ny,100)=0), MOD(ny, 4)=0)) } 10 { = 11 (*365+ INT((my+3)/4)-INT((my+99)/100)+INT((my+399)/400) ) 12 - 13 (ny*365+ INT((ny+3)/4)-INT((ny+99)/100)+INT((ny+399)/400) ) 14 + 15 { 16 IF { mm } <= 2 17 { IF { mm } =1 md {=md+31} } 18 { 19 IF { mm } <= 8 20 { = md+59+ mleap +30 * (mm-3) + INT( (mm-2 )/2 )} 21 { = md+243+ mleap +30 * (mm-9) + INT( (mm-9 )/2 )} 22 } 23 } 24 - 25 { 26 IF { nm } <= 2 27 { IF { nm } =1 nd {=nd+31} } 28 { 29 IF { nm } <= 8 30 { = nd+59+ nleap +30 * (nm-3) + INT( (nm-2 )/2 )} 31 { = nd+243+ nleap +30 * (nm-9) + INT( (nm-9 )/2 )} 32 } 33 } 34 }
单纯论功能的话,这个也没有Word中宏的功能多。唯一的优势大概是不需要启用宏叭。。呃,或者作为题目,或者教学??更新的话ctrl+a全选+F9刷新就可以了。然后因为Word文档里的书签因该是不能重名的,所以如果需要多个不同截止日期的倒计时的话,那就要多来几个*3的书签名了,可以说是有点不方便。也许可以用文档嵌套什么的hh
我是在用word做规划的时候,想到要加个倒计时,然后尝试了比如嵌入excel表格,使用宏,但是感觉不能和文档本身融为一体,没内味,Excel表格嵌入不能很方便的更新,然后就尝试写了这个。