Wie man aktualisierte Task-Daten in MPP schreibt
Aspose.Tasks for .NET ermöglicht Entwicklern Aufgabeninformationen aktualisieren (wie Fristen, Notizen, IDs und Struktur) und schreibt diese Änderungen anschließend zurück in Microsoft Project-Dateien in MPP oder XML Format. Dies macht es möglich, vorhandene Projekte programmgesteuert zu ändern, ohne sie manuell in Microsoft Project zu bearbeiten.
Aktualisieren von Task-Daten in Aspose.Tasks
Bei der Arbeit mit Projektplänen ist es üblich, Aufgaben nach der Planung zu aktualisieren — zum Beispiel Fristen anzupassen, Aufgabenhinweise zu ändern oder neue Einträge hinzuzufügen. Aspose.Tasks bietet dafür einen einfachen Arbeitsablauf:
- Erstellen Sie eine Instanz der Project class.
- Laden Sie die Quell-MPP-Datei.
- Greifen Sie auf das Task object und ändern Sie dessen Eigenschaften.
- Aktualisieren Sie Parameter wie Deadline, NotesText, Start/Finish dates, oder IDs.
- Optional können Sie neue Aufgaben zur Stammaufgabe oder als Unteraufgaben hinzufügen.
- Speichern Sie das aktualisierte Projekt zurück in MPP/XML.
Beispiel: Aktualisieren von Task-Daten und Speichern in MPP
Das folgende Beispiel zeigt, wie man die Deadline einer Aufgabe aktualisiert, Notizen hinzufügt und Task-IDs findet, bevor das aktualisierte Projekt auf die Festplatte geschrieben wird:
1Project project = new Project("New Project.mpp");
2
3// Set project start date
4project.Set(Prj.StartDate, new DateTime(2012, 07, 29, 8, 0, 0));
5
6// Add summary task and set its properties
7Task summary = project.RootTask.Children.Add("Summary task");
8Task task = summary.Children.Add("First task");
9task.Set(Tsk.Duration, project.GetDuration(3));
10task.Set(Tsk.Deadline, task.Get(Tsk.Start).AddDays(10));
11task.Set(Tsk.NotesText, "The first task.");
12task.Set(Tsk.DurationFormat, TimeUnitType.MinuteEstimated);
13task.Set(Tsk.ConstraintType, ConstraintType.FinishNoLaterThan);
14task.Set(Tsk.ConstraintDate, task.Get(Tsk.Deadline).AddDays(-1));
15
16
17// Create 10 new sub tasks for summary task
18for (int i = 0; i < 10; i++)
19{
20 Task subTask = summary.Children.Add(string.Format("Task{0}", i + 2));
21 subTask.Set(Tsk.Duration, task.Get(Tsk.Duration).Add(project.GetDuration(i + 1)));
22 subTask.Set(Tsk.DurationFormat, TimeUnitType.Day);
23 subTask.Set(Tsk.Deadline, task.Get(Tsk.Deadline).AddDays(i + 1));
24}
25
26project.Save("UpdateTaskData_out.mpp", SaveFileFormat.MPP);Dieser Codeausschnitt zeigt, wie Entwickler vorhandene Aufgaben programmgesteuert ändern und die Änderungen in MPP-Dateien beibehalten. Dies ist besonders nützlich beim Synchronisieren externer Systeme mit Microsoft Project-Daten.
Wichtige Hinweise
- Sie können die meisten Task-Eigenschaften aktualisieren, einschließlich Deadlines, Notes, Start/Finish dates, and custom fields.
- Aufgaben können vor dem Speichern programmgesteuert hinzugefügt, geändert oder gelöscht werden.
- Aktualisierte Projekte können in MPP und XML Formaten gespeichert werden, ohne dass Microsoft Project installiert sein muss.
- Task-IDs (Original ID, External ID) können für projektübergreifende Verweise.
- Aspose.Tasks gewährleistet die Datenintegrität beim Zurückschreiben in Projektdateien.
Häufig gestellte Fragen
F: Kann ich neue Aufgaben hinzufügen, während ich ein bestehendes Projekt aktualisiere?
- Ja. Sie können neue Aufgaben in die Stammaufgabe einfügen oder als Unteraufgaben hinzufügen, bevor Sie speichern.
F: Werden benutzerdefinierte Felder beim Zurückschreiben aktualisierter Daten beibehalten?
- Ja. Aspose.Tasks bewahrt die Werte benutzerdefinierter Felder beim Speichern aktualisierter MPP/XML-Dateien.
F: Muss Microsoft Project installiert sein, um Änderungen zu speichern?
- Nein. Aspose.Tasks arbeitet unabhängig und benötigt Microsoft Project nicht.
F: Kann ich Aufgabenressourcen zusammen mit Aufgabendaten aktualisieren?
- Ja. Sie können sowohl Aufgabendetails als auch zugewiesene Ressourcen programmgesteuert ändern.
F: Wie verfolge ich projektübergreifende Aufgabenverweise?
- Verwenden Sie die Original ID und External ID Eigenschaften, um verknüpfte Tasks über mehrere Projekte zu identifizieren.