タスクの操作

JavaのAspose.Tasksを使用すると、 タスクを更新してから、更新されたデータをMicrosoft Project MPPファイルに書き戻すことができます。

タスクデータの更新 次のコードスニペットは、プロジェクトのタスクデータを更新し、MPPファイルに書き戻す方法を示しています。このアクティビティに関与するステップは次のとおりです。

  1. プロジェクトリーダーのインスタンスを作成します。
  2. ソースMPPファイルをお読みください。
  3. タスクを作成し、ルートタスクに追加します。
  4. 締め切り、notestextなどのタスクパラメーターを更新します。
  5. ルートタスクに追加のタスクを追加します。
  6. プロジェクトを保存します。

次のコードは、クロスプロジェクトを介してタスクの元のIDと外部IDを見つけます。

 1// For complete examples and data files, please go to https://github.com/aspose-tasks/Aspose.Tasks-for-Java
 2// The path to the documents directory.
 3String dataDir = Utils.getDataDir(UpdatedTaskLinkDataToMpp.class);
 4
 5long OneSec = 10000000;// microsecond * 10
 6long OneMin = 60 * OneSec;
 7long OneHour = 60 * OneMin;
 8
 9Project project = new Project(dataDir + "Aspose\\SampleNewMSP.mpp");
10Task task1 = project.getRootTask().getChildren().add("First task");
11
12java.util.Calendar cal = java.util.Calendar.getInstance();
13cal.set(2013, 12, 10, 8, 0, 0);
14project.set(Prj.START_DATE, cal.getTime());
15task1.set(Tsk.START, cal.getTime());
16task1.set(Tsk.DURATION, project.getDuration(OneHour * 24, TimeUnitType.Hour));
17
18Task summary = project.getRootTask().getChildren().add("Summary task");
19summary.getChildren().add(task1);
20
21project.getRootTask().getChildren().add(summary);
22
23cal.setTime(task1.get(Tsk.START));
24cal.add(java.util.Calendar.DATE, 10);
25task1.set(Tsk.DEADLINE, cal.getTime());
26
27task1.set(Tsk.NOTES_TEXT, "The first task.");
28task1.set(Tsk.DURATION_FORMAT, TimeUnitType.DayEstimated);
29task1.set(Tsk.CONSTRAINT_TYPE, ConstraintType.FinishNoLaterThan);
30
31cal.setTime(task1.get(Tsk.DEADLINE));
32cal.add(java.util.Calendar.DATE, -1);
33task1.set(Tsk.CONSTRAINT_DATE, cal.getTime());
34
35// Create 10 new tasks
36for (int i = 0; i < 10; i++) {
37    String taskName = "Task " + (i + 2);
38    Task task = summary.getChildren().add(taskName);
39    task.set(Tsk.START, task1.get(Tsk.START));
40    long lDuration = (long) task1.get(Tsk.DURATION).toDouble();
41    lDuration = (long) (lDuration + (OneHour * 8 * (i + 1)));
42    task.set(Tsk.DURATION, project.getDuration(lDuration, TimeUnitType.Hour));
43    task1.set(Tsk.DURATION_FORMAT, TimeUnitType.Day);
44
45    cal.setTime(task1.get(Tsk.DEADLINE));
46    cal.add(java.util.Calendar.DATE, 1 + i);
47    task.set(Tsk.DEADLINE, cal.getTime());
48    task.set(Tsk.FINISH,
49            project.get(Prj.CALENDAR).getFinishDateByStartAndWork(task.get(Tsk.START), task.get(Tsk.DURATION)));
50    summary.getChildren().add(task);
51}
52
53// Save the Project
54project.save(dataDir + "Aspose\\WritingUpdatedTaskDataToMpp.mpp", SaveFileFormat.MPP);
Subscribe to Aspose Product Updates

Get monthly newsletters & offers directly delivered to your mailbox.