0

MS-ProjectからVBAを使用している従業員の就業日と不在日を取得するにはどうすればよいですか?(従業員はリソースです)

いくつかの追加情報:

タスクを取得する方法を知っています

Dim ts as Tasks
Set ts = ActiveProject.Tasks

プロジェクトファイルからリソースを取得する方法を知っています。

Dim rs as Resources
Set rs = ActiveProject.ressources

しかし、この変数から仕事と欠勤の日数を取得する(簡単な)方法は見つかりません。

4

2 に答える 2

1

Resourceオブジェクトを調べて、稼働日と非稼働日を見つける必要があります。

ActiveProject.Resources.Item(1).Calendar

この簡単な例では、プロジェクトの最初のリソースを取得し、関連するカレンダーを引き出しています。

リソースカレンダーには、それが継承するベースカレンダーがあります。

...Calendar.BaseCalendar

また、リソースカレンダーとベースカレンダーの両方で、稼働日、稼働週、および例外が定義されます。例外は通常、不在期間の定義方法です...つまり、通常の作業パターンの例外です。

...Calendar.WorkWeeks
...Calendar.WeekDays
...Calendar.Exceptions
于 2011-11-01T15:56:20.347 に答える
-1

答えはすでにそれを始めるための情報を提供しましたが、実際には質問に答えません。述べたように、「例外」は確かに不在期間が定義される方法ですが、特定の日付が例外オブジェクトからの不在日であるかどうかを判断するには、解析コードの重要でない量が必要になります。

It would be a lot simpler and much more reliable to determine workdays empirically. Assuming variable "cal" is the calendar in question declare a variable (say "d") of type long then loop from some start date to some end date-1 and determine if that date is a workday or not using Application.datedifference (d, d+1, cal). A non work day will yield 0.

于 2018-11-07T13:48:10.360 に答える