2017-02-08 48 views
1

我已經看到了很多尋找解決方案的例子,所以我非常確定這是可能的。計算字段不能和日期一起使用

我已經自定義文檔屬性(正確地定義爲日期)包含日期
,我想就這些操作:

{={ DOCPROPERTY DateFieldTest }+1 \@"d MMMM YYYY"} 
'toggle DOCPROPERTY Field 
{=07/04/2016+1 \@"d MMMM YYYY"} 
'toggle calculation field 
1 

我也曾嘗試:

{=DATE(YEAR({ DOCPROPERTY DateFieldTest }),MONTH({ DOCPROPERTY DateFieldTest }),DAY({ DOCPROPERTY DateFieldTest })+1) \@"d MMMM YYYY"} 
'toggle DOCPROPERTY Field 
{=DATE(YEAR(07/04/2016),MONTH(07/04/2016),DAY(07/04/2016)+1) \@"d MMMM YYYY"} 
'toggle calculation field 
!Syntaxe Error, (

我只想從的自定義文檔屬性(日期字段)中獲取第二天的

但我似乎無法得到這個工作,有什麼建議嗎?

回答

2

查爾斯·肯揚已經花了一些時間收集了許多人的工作,並使其可在他的網站:http://www.addbalance.com/word/datefields2.htm

與日期計算的基本技巧是把它們分解爲日,月,年,這你正在嘗試,但是使用在Word字段中不起作用的VBA方法。事實上,在計算日期時,Word沒有任何「智慧」 - 你必須這樣做。所以,簡單的例子:

theDate + 1 = { DocProperty theDate \@ "MMMM" } { = {DocProperty theDate \@ "dd" } + 1 }, { DocProperty theDate \@ "yyyy" } 

這很好,直到你打到月的最後一天。然後,你要考慮做什麼,如果它是一年的最後一天...


這是非常複雜的,所以我只是將信息從查爾斯的網站上覆制:


這是一個頭微調!下面是一個場,讓你的日期從創建一個文件之日兩週內,在正規書面英語格式:

  • 創建日期:2015年7月9日 - 所需的字段結果= 2015年7月23日
  • 創建日期:2014年7月23日 - 所需的字段結果= 2014年8月6日
  • 創建日期:2014年12月20日 - 所需的字段結果= 2015年1月3日
  • 創建日期:2015年2月27日 - 所需場結果= 3月 12,2015
  • 創建日期:2016年2月27 - 所需的場日期 結果= 2016年3月13日

    {QUOTE 「{設定」 延遲」, 「14」} {SET 「DaysInMonth」{如果{CREATEDATE \ @ 「MM」 } = <> 2
    {= ROUND(30.575 * {CreateDate \「MM」},0) - ROUND575 * {= {CreateDate \「MM」} -1},0)} {IF {= MOD({CreateDate \ {SET {NextMonth} {IF {CreateDate \ @「MM」} = 12「1/97」 「{= {CreateDate \ @」MM「} + 1}/97}} {IF {= {REF」Delay 「} + {CreateDate \ @」dd「}} < = {REF」DaysInMonth「} {CreateDate \ @」MMMM {= {REF「Delay」} + {CreateDate \ @「dd」}},yyyy「} { QUOTE {NextMonth \ @「MMMM」} {= {REF「Delay」} + {CreateDate \ @「dd」} - {REF「DaysInMonth」}}, {IF {CreateDate \ @「MM」} <> 12 {CreateDate \ @「yyyy」} {CreateDate \ @「{= 1 + {CreateDate \ @」yyyy「}#」xxxx「}」}}}}「}

上面的示例字段中的顏色(下圖中的圖像!)表示我試圖匹配字段分隔符並顯示字段的嵌套。爲了清楚起見,添加了換行符,不應該成爲實際字段的一部分。我添加了這些修改幫助說明該字段的樣子。以綠色顯示的這些字段不包含嵌套字段,但可能包含對由其他字段設置的書籤值的引用。

enter image description here

+0

THX,我看到這個,但我一直在尋找一個簡單的解決方案!^^我想圍繞'{= {DOCPROPERTY theDate \ @ 「DDDD」} + 1}'這不工作,雖然'{= {DocProperty theDate \ @「dd」} + 1}'工作(太糟糕了)。最後,我把查爾斯肯尼恩的頭部微調弄髒了我的雙手,並讓它工作!我將在稍後解釋它發佈答案! (順便說一句,區域設置也會影響到... T_T我已經在工作中使用了法語設置,並且在公式|以及用'.'來替換''',''以'''小數點分隔符! – R3uK