我在Word 2010中的表单,我试图进入两个日期,并获得天的差别。 我试图与一行三列创建表。 代替日期的我在第一和第二列输入的数字和在第三I输入的公式=B1 - A1
。 随着数字它的工作原理,但与日期。
是否有可能进入两个日期,并获得在Word 2010中日的区别? 我知道我可以很容易地做到这一点在Excel中,但因为形式是广泛的,我想尝试做它在Word中。
我在Word 2010中的表单,我试图进入两个日期,并获得天的差别。 我试图与一行三列创建表。 代替日期的我在第一和第二列输入的数字和在第三I输入的公式=B1 - A1
。 随着数字它的工作原理,但与日期。
是否有可能进入两个日期,并获得在Word 2010中日的区别? 我知道我可以很容易地做到这一点在Excel中,但因为形式是广泛的,我想尝试做它在Word中。
如果您正在使用VBA,那么你可以使用DATEDIFF
至少有3种类型的Word 2010的“在线形式”他们都让你发现变化对VBA领域。
这3个选项中,只有传统的表格可在Mac上任何版本的Word,和VBA是现在无法使用在Mac Word 2008中。
如果你想避免VBA和使用领域,主要有两个方面的考虑:
可以通过转换日期儒略日数,并使用{=}减去所得到的数字解决点(1)。 请参阅下面的一些建议的代码。
您可避免点(2)的问题,只要您使用表单字段输入日期。 然后你可以使用表单域的书签名称来获取文本和日期字段开关“\ @”来获得一天。 月份和年份数字。
因此,让我们假设你的两个日期表单域被称为DA和DB。 然后,您可以在您想要的结果在文档中插入点以下字段代码 - 注意到所有的{}对必须是特殊的域代码大括号,你可以用CTRL-F9进入。
{ SET MA { DA \@M }
}{ SET CA { =INT((14-MA)/12) }
}{ SET XD { ={ DA \@YYYY }-CA }
}{ SET XC { =INT(XDA/100) }
}{ SET XB { =XD-XC*100}
}{ SET XA { =MA+12*CA-3 }
}{ SET JA { =INT(146097*XC/4) + INT(36525*XB/100) + INT((153*XA+2)/5) + { DA \@D } + 1721119 }
}{ SET MB { DB \@M }
}{ SET CB { =INT((14-MB)/12) }
}{ SET YD { ={ DB \@YYYY }-CB }
}{ SET YC { =INT(YD/100) }
}{ SET YB { =YD-YC*100 }
}{ SET YA { =MB+12*CB-3 }
}{ SET JB { =INT(146097*YC/4) + INT(36525*YB/100) + INT((153*YA+2)/5) + { DB \@D } + 1721119 }
}{ =JB-JA }
几点注意事项:
有在使用日期计算领域的一个更完整的论文由“macropod”。 它使用的算法略有不同(可能更短)的版本,而且纸张也提供算法,在其他方向去,等等。 我认为你必须登录到从这里得到一个副本 ,但是你可以在其他地方找到它。