Добавление новой задачи
Примеры кода
vsto
Чтобы добавить задачу, используя VSTO:
Создайте новый проект в Visual Studio.
В исследователе решения, щелкните правой кнопкой мыши и выберите «Добавить ссылку».
Выберите вкладку COM Components и выберите Microsoft Project 12.0 Библиотеку объектов.
Click OK.
Это импортирует пространство имен Microsoft.office.interop.msproject в начале вашего кода. Используйте код из следующего примера, чтобы добавить новую задачу.
1// Создать объект приложения
2
3Microsoft.office.interop.msproject.application projectapplication = new MSProject.Application ();
4
5Object hispalue = System.Reflection.missing.value;
6
7projectapplication.fileopenex ("project2.mpp",
8
9 missingValue, missingValue, missingValue, missingValue,
10
11 missingValue, missingValue, missingValue, missingValue,
12
13 missingValue, missingValue, PjPoolOpen.pjPoolReadOnly,
14
15 missingValue, missingValue, missingValue, missingValue,
16
17 missingValue);
18
19Microsoft.office.interop.msproject.project Project = projectApplication.activeProject;
20
21Microsoft.office.interop.msproject.task Задача;
22
23task = project.tasks.add ("task1", 1);
24
25task.start = "23.08.2012";
26
27задача. Продолжительность = 3 * 8 * 60;
28
29task.text1 = "task1";
30
31projectapplication.filecloSeall (microsoft.office.interop.msproject.pjsavetype.pjsave);
Этот код C# демонстрирует, как программно открывать, изменять и сохранить файл Project Microsoft (.mpp), используя библиотеки Interop Microsoft Office. Он запускает экземпляр Microsoft Project, открывает существующий файл в режиме пула ресурсов только для чтения и обращается к активному проекту. Затем код создает новую задачу с именем «task1» в верхней части списка задач, устанавливает дату начала, назначает продолжительность трех рабочих дней (выраженных в минутах) и заполняет пользовательское поле (Text1). Этот пример демонстрирует, как разработчики могут автоматизировать создание задач и ввод данных в файлы проекта Microsoft через Interop. Хотя этот подход зависит от того, что Microsoft Project установлен в хост -системе, и работает только в Windows, он обеспечивает жесткую интеграцию с собственным поведением приложений. Aspose.Tasks предоставляет API-независимый от платформы API, который позволяет аналогичным образом операции, например, чтение, редактирование и сохранение файлов проекта, не требуя Microsoft Project.
aspose.tasks
Чтобы добавить задачи в файлы проекта, используя Aspose.Tasks для .net:
Создайте новый проект в Visual Studio.
В исследователе решения, щелкните правой кнопкой мыши и выберите «Добавить ссылку».
Выберите вкладку .NET и выберите ASPOST.TASKS.CLICK OK. Это импортирует пространство имен Aspose.Tasks в начале вашего кода. Используйте код из следующего примера, чтобы добавить новую задачу.
1Projectreader reader = new Projectreader ();
2
3Project Project = reader.read ("project.mpp");
4
5Aspose.tasks.task task = new aspose.tasks.task ("task1");
6
7task.actualstart = datetime.parse ("23-августа-2012");
8
9task.duration = новый промежуток времени (24, 0, 0);
10
11task.durationFormat = timeUnitType.day;
12
13project.roottask.children.add (задача);
14
15project.calctaskids ();
16
17project.calctaskuids ();
18
19project.save ("outputproject.xml", aspose.tasks.saving.savefileformat.xml);
Этот образец кода демонстрирует, как использовать Aspose.Tasks для .NET для чтения, манипулирования и сохранения данных Microsoft Project Project, не требуя установки Microsoft Project. Класс Projectreader используется для загрузки существующего файла .mpp, а новая задача с именем «Task1» создается и настроена с конкретной фактической датой запуска, 1-дневной продолжительностью и продолжительностью дня. Затем задачу добавляется в коллекцию детей Root Task, эффективно вставляя ее в иерархию проекта. После добавления задачи методы Calctaskids () и Calctaskuids () вызываются, чтобы гарантировать, что идентификаторы задачи и UIDS пересчитываются правильно, поддерживая согласованность в структуре задачи. Наконец, модифицированный проект сохраняется на диск в формате Microsoft Project XML с использованием метода save ().