Управляйте значениями структуры проекта MS с помощью Aspose.Tasks
Введение
Aspose.Tasks для .NET предоставляет полный набор функций для взаимодействия с файлами Microsoft Project. Одной из таких функций является возможность управлять значениями схемы в рамках проекта. В этом уроке мы рассмотрим, как собирать значения структуры и манипулировать ими с помощью Aspose.Tasks для .NET.
Предварительные условия
Прежде чем мы начнем, убедитесь, что у вас есть следующее:
- Aspose.Tasks для .NET: Вы можете скачать библиотеку с сайта здесь .
- Среда разработки: убедитесь, что у вас установлена подходящая IDE, например Visual Studio.
- Базовые знания C#: Знакомство с языком программирования C# будет преимуществом.
Импортировать пространства имен
В файле кода C# импортируйте необходимые пространства имен для доступа к классам и методам Aspose.Tasks:
using Aspose.Tasks;
using System;
Разобьем приведенный пример на несколько этапов:
Шаг 1. Загрузите файл проекта
Во-первых, инициализируйтеProject
объект, загрузив существующий файл Microsoft Project:
string DataDir = "Your Document Directory";
var project = new Project(DataDir + "OutlineValues2010.mpp");
Шаг 2. Очистите существующие значения структуры
Затем удалите все существующие значения контура из проекта:
foreach (var outlineCode in project.OutlineCodes)
{
if (outlineCode.Values.Count <= 0)
{
continue;
}
if (!outlineCode.Values.IsReadOnly)
{
outlineCode.Values.Clear();
}
}
Шаг 3. Определите новый код структуры
Теперь определите новый код структуры с описанием и значением:
var codeDefinition = new OutlineCodeDefinition
{
Alias = "New task outline code1",
FieldId = ((int)ExtendedAttributeTask.OutlineCode1).ToString(),
FieldName = "Outline Code1"
};
var value = new OutlineValue { Description = "Value description", ValueId = 1, Value = "123456", Type = OutlineValueType.Number };
codeDefinition.Values.Add(value);
project.OutlineCodes.Add(codeDefinition);
Шаг 4. Обновите значение структуры
Обновите значение кода структуры:
codeDefinition.Values[0].Value = "654321";
Шаг 5. Перебор значений структуры
Переберите значения структуры и распечатайте их детали:
foreach (var definitionValue in codeDefinition.Values)
{
Console.WriteLine("Value: " + definitionValue.Value);
Console.WriteLine("Value Id: " + definitionValue.ValueId);
Console.WriteLine("Value Guid: " + definitionValue.ValueGuid);
Console.WriteLine();
}
Шаг 6. Манипулируйте значениями структуры
Выполняйте такие операции, как удаление, вставка и копирование значений структуры по мере необходимости:
if (codeDefinition.Values.Contains(value))
{
codeDefinition.Values.Remove(value);
}
codeDefinition.Values.Insert(0, value);
Console.WriteLine("Index of inserted value: " + codeDefinition.Values.IndexOf(value));
codeDefinition.Values.RemoveAt(codeDefinition.Values.Count - 1);
var codeDefinition2 = new OutlineCodeDefinition
{
Alias = "New outline code 2",
FieldId = ((int)ExtendedAttributeTask.OutlineCode2).ToString(),
FieldName = "Outline Code2"
};
var outlineValues = new OutlineValue[codeDefinition.Values.Count];
codeDefinition.Values.CopyTo(outlineValues, 0);
foreach (var outlineValue in outlineValues)
{
codeDefinition2.Values.Add(outlineValue);
}
Заключение
В этом уроке мы узнали, как работать со значениями структуры в файлах Microsoft Project с помощью Aspose.Tasks для .NET. Следуя предоставленным инструкциям, вы сможете эффективно управлять структурными значениями в своих проектах, обеспечивая больший контроль и гибкость.
Часто задаваемые вопросы
Вопрос: Могу ли я одновременно манипулировать несколькими структурными кодами?
О: Да, вы можете определять и манипулировать несколькими структурными кодами в рамках проекта с помощью Aspose.Tasks.
Вопрос: Совместим ли Aspose.Tasks с различными версиями файлов Microsoft Project?
О: Да, Aspose.Tasks поддерживает различные версии файлов Microsoft Project, включая форматы MPP и XML.
Вопрос: Как обрабатывать ошибки при работе со значениями структуры?
О: Вы можете реализовать механизмы обработки ошибок, такие как блоки try-catch, чтобы корректно управлять исключениями.
Вопрос: Могу ли я настроить внешний вид контурных значений в моем проекте?
О: Да, Aspose.Tasks предоставляет обширные API для настройки внешнего вида и поведения значений схемы в соответствии с вашими требованиями.
Вопрос: Где я могу найти дополнительные ресурсы и поддержку для Aspose.Tasks?
О: Вы можете посетить Форум Aspose.Tasks за поддержку сообщества и изучить документация для получения подробной информации об API и функциях.