我一直在嘗試從Excel匯入和匯出MS-Project的作業日例外。每天、每月或每年的例外情況都沒有問題,但每周的例外情況確實給我帶來了一些麻煩:
通過記錄,我了解到對于所選擇的幾個作業日的每個組合(通過勾選框),都會有一個記錄。
通過記錄,我了解到,對于所選擇的幾個作業日的每個組合(通過勾選框),屬性 "pjWeekday"(或記錄代碼中的DaysOfWeek)是一個特定的整數(在下面的例子中是6、10和18)。
記錄代碼的例子:
ActiveProject.BaseCalendars("Copy of Standard").Exceptions.Add Type:=6, Start:="01.01.2022", Finish:="18.01.2022", Name:="TestWeekly1", Period:=1, DaysOfWeek:=6
ActiveProject.BaseCalendars("標準副本").Exceptions.Add Type:=6, Start:="01.02.2022", Finish:="02.02.2022", Name:="TestWeekly2", Period:=1, DaysOfWeek:=10
ActiveProject.BaseCalendars("標準副本").Exceptions.Add Type:=6, Start:="01.03.2022", Finish:="03.03.2022", Name:="TestWeekly3", Period:=1, DaysOfWeek:=18
有沒有什么方法可以在不記錄所有不同可能性的情況下獲得所有組合的所有整數的串列(或背后有一個演算法)?
非常感謝任何建議。 克里斯
uj5u.com熱心網友回復:
列舉常量在微軟網站上有記錄;這里是pjWeekDay的串列。
。Exceptions.Add方法指出 DaysOfWeek 引數是 "發生例外的日子。可以是PjWeekday常數的組合"。我的測驗表明這只是部分事實。
看來DaysOfWeek的值不是PjWeekday常量,而是可以聚合的2的冪。例如,如果每周的例外是星期一,DaysOfWeek = 2 (2^1),對于星期四,它將是16 (2^4)。而如果例外情況是針對周一和周三,那么這個值將是10 (2^1 2^3)。
這個公式是:例外情況中每個作業日的2 ^ (PjWeekday constant - 1)之和。
轉載請註明出處,本文鏈接:https://www.uj5u.com/caozuo/331110.html
標籤:
下一篇:角域消毒器和SVG位元組陣列
