public void Load(string file) { object readOnly = false; var merge = PjMergeType.pjDoNotMerge; var pool = PjPoolOpen.pjDoNotOpenPool; object ignoreReadOnlyRecommended = false; var projectApp = new Application(); projectApp.FileOpen(file, readOnly, merge, Missing.Value, Missing.Value, Missing.Value, Missing.Value, Missing.Value, Missing.Value, Missing.Value, Missing.Value, pool, Missing.Value, Missing.Value, ignoreReadOnlyRecommended, Missing.Value); Project proj = projectApp.ActiveProject; foreach (Task task in proj.Tasks) { if (task == null) { continue; } var myTask = new MsProjectTask(); myTask.Load(task); } projectApp.FileCloseAllEx(PjSaveType.pjSave); //projectApp.Quit(PjSaveType.pjSave); // 変更を保存しない場合 //projectApp.FileCloseAllEx(PjSaveType.pjPromptSave); }
public void Load(Task task) { this.Id = task.UniqueID; this.Name = task.Name; this.Start = task.Start; this.Finish = task.Finish; this.OutLineNumber = task.OutlineNumber; this.OutlineLevel = task.OutlineLevel; this.Index = task.Index; this.PercentWorkComplete = task.PercentWorkComplete; // = task. //this.Work = task.Work; if (task.OutlineLevel != 1) { this.ParentOutLine = task.OutlineParent.WBS.ToString(); //ParentUid = data.GetParentUid(ParentOutLine, projectUid); } this.Summary = task.Summary; this.SummaryTaskName = ((dynamic)task).SummaryTaskName; this.Resoueces = new List <MsProjectResource>(); foreach (Resource resource in task.Resources) { var myresource = new MsProjectResource(); myresource.Id = resource.UniqueID; myresource.Name = resource.Name; this.Resoueces.Add(myresource); } this.Children = new List <MsProjectTask>(); foreach (Task childTask in task.OutlineChildren) { var myChildTask = new MsProjectTask(); myChildTask.Load(childTask); this.Children.Add(myChildTask); } }