Код ниже (в стандартном классе ThisAddIn надстройки VSTO) извлекает информацию о задачах, которые должны быть добавлены в MS Project (2013), а затем добавляет актуальные задачи для проект Сбор задач. Проблема заключается в том, что проект позволяет добавлять задачи один за другим и перерисовывать (обновлять) представление проекта каждый раз, когда задача добавляется в коллекцию Задачи. Это выглядит раздражающе. До сих пор я нашел и использовал Application.ScreenUpdating свойство, чтобы скрыть мигание.Надстройка VSTO для MS Project: все задачи отображения сразу
Было бы неплохо подготовить коллекцию задач и приложить их все вместе к активному проекту. Мог ли кто-нибудь более опытный, пожалуйста, указать на способ сделать это? Если это вообще возможно с текущим API надстройки MS Project?
Большое спасибо.
....
using MSProject = Microsoft.Office.Interop.MSProject;
....
public partial class ThisAddIn
{
....
private void ShowTasks()
{
MSProject.Project project = this.Application.ActiveProject;
// TaskInfo is a custom DTO type
IEnumerable<TaskInfo> dataSource = GetDataSourceSomehow();
this.Application.ScreenUpdating = false;
this.Application.Calculation = MSProject.PjCalculation.pjManual;
foreach(TaskInfo info in dataSource)
{
MSProject.Task task = project.Tasks.Add(info.TaskName);
}
this.Application.ScreenUpdating = true;
}
}
Техника, вы можете попробовать, чтобы добавить все задачи в новый XML- или Файл Excel. Затем вы можете получить автоматизированный проект, чтобы открыть файл и слить его в активный проект. Это может быть намного быстрее и произойдет все сразу. Если вы попробуете, сообщите нам о результатах. Имеет ли вскрытие и расчет = ложная помощь? –
Спасибо за ответ! Да, я закончил подготовку данных задачи в файле, в моем случае .csv, а затем вручную импортировал его. Все идет хорошо, но стоит отметить, что MS Project пытается настроить входящие данные, а не молчаливо их принимать. То, что вы только что задумали, автоматически импортирует CSV. Спасибо. – watchaglass