Hinzufügen von Links für Aufgaben in VSTO und Aspose.Tasks

Code Beispiele

vsto

Um eine Aufgabe mit VSTO zu verknüpfen:

  1. Erstellen Sie ein neues Projekt in Visual Studio.

  2. Klicken Sie im Lösungs-Explorer mit der rechten Maustaste und wählen Sie Referenz hinzufügen.

  3. Wählen Sie die Registerkarte “COM -Komponenten” und wählen Sie Microsoft Project 12.0 Object Library.click OK. Dadurch importiert Microsoft.Office.interop.mSproject Namespace zu Beginn Ihres Codes. Verwenden Sie den Code aus dem folgenden Beispiel, um Aufgaben zu verknüpfen.

 1Microsoft.office.interop.mproject.application projectApplication = new msproject.application ();
 2
 3Object fissionValue = system.reflection.missing.Value;
 4
 5projectApplication.FileOpenex ("project.mpp",
 6
 7    missingValue, missingValue, missingValue, missingValue,
 8
 9    missingValue, missingValue, missingValue, missingValue,
10
11    missingValue, missingValue, PjPoolOpen.pjPoolReadOnly,
12
13    missingValue, missingValue, missingValue, missingValue,
14
15    missingValue);
16
17Microsoft.office.interop.mproject.project project = projectApplication.activeProject;
18
19project.tasks.get_uniqueId (2) .TaskDependencies.add (project.tasks.get_uniqueId (1), pjtasklinkType.pjfinishtostart);
20
21project.tasks.get_uniqueId (3) .TaskDependencies.add (project.tasks.get_uniqueId (2), pjtasklinkType.pjfinishtostart);
22
23project.tasks.get_uniqueId (4) .TaskDependencies.add (project.tasks.get_uniqueId (3), pjtasklinkType.pjfinishtostart);
24
25project.tasks.get_uniqueId (5) .TaskDependencies.add (project.tasks.get_uniqueId (4), pjtasklinkType.pjfinishtostart);
26
27project.tasks.get_uniqueId (5) .TaskDependencies.add (project.tasks.get_uniqueId (2), pjtasklinkType.pjfinishtostart);
28
29foreach (Aufgabe TSK in Project.Tasks)
30
31{
32
33    foreach (TaskDependency dep in project.Tasks.get_UniqueID(tsk.ID).TaskDependencies)
34
35    {
36
37        Console.WriteLine("From ID = " + dep.From.ID + "=>To ID = " + dep.To.ID);
38
39    }
40
41    Console.WriteLine("____________________________________________________________");
42
43}
44
45projectApplication.filecloseAll (microsoft.office.interop.mproject.pjsaveType.pjsave);

In diesem C# -Code wird Microsoft Project Interop verwendet, um eine vorhandene .mpp -Datei zu öffnen und Aufgabenabhängigkeiten programmgesteuert hinzuzufügen. Zunächst initialisiert es eine Instanz des Microsoft-Projekts über “Application” und öffnet die Datei "" project.mpp "" in schreibgeschütztem Poolmodus. Anschließend ruft es das aktive Projekt ab und definiert mehrere Abhängigkeiten Abhängigkeiten zwischen Aufgaben basierend auf ihren eindeutigen IDs. Insbesondere ist Aufgabe 2 so eingestellt, dass sie von Aufgabe 1, Aufgabe 3 in Aufgabe 2, Aufgabe 4 in Aufgabe 3 und Aufgabe 5 sowohl in Aufgabe 2 als auch in Aufgabe 4 abhängen. Nach der Einrichtung dieser Abhängigkeiten iteriert die Code alle Aufgaben im Projekt und druckt die definierten Abhängigkeitsbeziehungen zur Konsole aus und zeigen, welche Aufgaben Predigors und Nachfolge sind. Schließlich spart und schließt es die Projektdatei. Dieser Code zeigt, wie Entwickler die Konfiguration von Aufgabenbeziehungen im Microsoft -Projekt mithilfe von COM Interop automatisieren können, wodurch das Microsoft -Projekt auf dem System installiert werden muss.

Aspose.Tasks

Um Aufgaben in einem Projekt mit Aspose.Tasks für .NET zu verknüpfen:

  1. Erstellen Sie ein neues Projekt in Visual Studio.

  2. Klicken Sie im Lösungs-Explorer mit der rechten Maustaste und wählen Sie Referenz hinzufügen.

  3. Wählen Sie die Registerkarte .NET und wählen Sie Aspose.Tasks.CLICK OK. Dadurch importiert der Namespace Aspose.Tasks zu Beginn Ihres Codes. Verwenden Sie den Code aus dem folgenden Beispiel, um Aufgaben zu verknüpfen.

 1ProjectreAder reader = neuer projectreräter ();
 2
 3FileStream ST = neuer FileStream ("project.mpp", fileMode.open);
 4
 5Project prj = reader.read (ST);
 6
 7St.CLOSE ();
 8
 9TaskLink TaskLink = new TaskLink (prj.roottask.children [0] as asspose.tasks.task, prj.roottask.children [1] as asspose.tasks.task, TaskLinkType.finishtostart);
10
11prj.addtasklink (TaskLink);
12
13tasklink = new taskLink (prj.roottask.children [1] as asspots.tasks.task, prj.roottask.children [2] as asspose.tasks.task, TasklinkType.finishtostart);
14
15prj.addtasklink (TaskLink);
16TaskLink = new taskLink (prj.roottask.children [2] as assposent.tasks.task, prj.roottask.children [3] as asspose.tasks.task, TaskLinkType.finishtostart);
17
18prj.addtasklink (TaskLink);
19
20TaskLink = new taskLink (prj.roottask.children [3] as assposent.tasks.task, prj.roottask.children [4] as asspots.tasks.task, TaskLinkType.finishtostart);
21
22prj.addtasklink (TaskLink);
23
24tasklink = new TaskLink (prj.roottask.Children [1] as asspots.tasks.task, prj.roottask.children [4] as asspots.tasks.task, TasklinkType.finishtostart);
25
26prj.addtasklink (TaskLink);
27
28ArrayList Alllinks = new ArrayList (prj.tasklinks);
29
30foreach (TaskLink TaskLink1 in Alllinks)
31
32{
33
34    Console.WriteLine("From ID = " + taskLink1.PredTask.Id + "=>To ID = " + taskLink1.SuccTask.Id);
35
36    Console.WriteLine("________________________________________");
37
38}
39
40prj.save ("project1.mpp", asspots.tasks.savaving.saveFileformat.mpp);

In diesem C# -Code wird gezeigt, wie asspose.tasks für .NET zum Hinzufügen von Aufgabenabhängigkeiten (Aufgabenlinks) zu einer vorhandenen Microsoft -Projektdatei (.mpp) und das Speichern des aktualisierten Ergebniss. Es beginnt mit dem Öffnen der Datei " project.mpp " Verwenden eines" fileStream "und dem Lesen mit" projectreeneR ". Der Code erstellt dann programmgesteuert mehrere **Finish-to-Start**-Abhängigkeiten zwischen aufeinanderfolgenden Aufgaben (von der ersten bis zur fünften Kinderaufgabe) sowie einer zusätzlichen Abhängigkeit zwischen dem zweiten und fünften Aufgaben. Jede Abhängigkeit wird durch ein "TaskLink -Objekt" dargestellt, das dem Projekt mit adtasklink () `zum Projekt hinzugefügt wird. Nachdem alle Abhängigkeiten hinzugefügt wurden, sammelt der Code alle Aufgabenlinks in eine “ArrayList” und druckt jede Beziehung zur Konsole durch Anzeigen der Vorgänger- und Nachfolger -Aufgaben -IDs. Schließlich wird das Projekt in einer neuen Datei “Project1.mpp” “im Microsoft -Projektformat” gespeichert.

Beispielcode herunterladen

Subscribe to Aspose Product Updates

Get monthly newsletters & offers directly delivered to your mailbox.