프로젝트 속성 다루기
프로젝트 속성 다루기
Microsoft Project는 저장합니다 메타데이터 및 구성 각 프로젝트 파일(MPP/XML)과 함께.
With Aspose.Tasks for .NET을 사용하면 읽고, 수정하고, 쓸 수 있습니다 이러한 속성을 프로그래밍 방식으로.
다음이 포함됩니다:
- 일반 프로젝트 속성(시작 날짜, 상태 날짜, 캘린더 등)
- 작업 및 할당의 기본값
- 프로젝트 버전 및 요약 정보
- 회계 연도 및 요일 설정
- 통화 설정
- 새 작업의 속성
- 내장 및 사용자 정의 속성
일반 프로젝트 속성
Microsoft Project는 다음과 같은 메타데이터를 보관합니다: 시작/종료 날짜, 상태 날짜, 캘린더 유형, 및 기타.
또한 사용자 정의 속성.
속성
속성 | 유형 | 설명 |
---|---|---|
StartDate | DateTime | 프로젝트 시작 날짜 |
FinishDate | DateTime | 프로젝트 종료 날짜 |
CurrentDate | DateTime | 현재 작업 날짜 |
StatusDate | DateTime | 진행 보고 날짜 |
IsScheduleFromStart | Boolean | 시작 기준 또는 종료 기준으로 일정이 잡혔는지 여부 |
Calendar | Calendar | 할당된 기본 캘린더 |
프로젝트 정보 읽기
해당 Project 클래스에는 프로젝트 속성과 관련된 여러 속성이 있습니다:
- StartDate: 프로젝트의 시작 날짜이며 DateTime 데이터 형식입니다.
- FinishDate: 프로젝트의 종료 날짜이며 DateTime 데이터 형식입니다.
- CurrentDate: 현재 날짜이며 DateTime 데이터 형식입니다.
- StatusDate: 프로젝트 진행이 보고되는 날짜이며 DateTime 데이터 형식입니다.
- IsScheduleFromStart: 프로젝트 일정이 시작 기준인지 종료 기준인지 정의하며 Boolean 값을 가집니다.
- Calendar: 프로젝트에서 사용되는 캘린더의 유형이며, 다음을 통해 관리됩니다: Aspose.Tasks.Calendar 클래스.
Microsoft Project에서 프로젝트 속성을 보려면 프로젝트 정보 의 프로젝트 메뉴를 클릭하십시오.
다음의 프로그래밍 샘플은 프로젝트 시작 및 종료 날짜, 일정이 시작 기준인지 종료 기준인지, 작성자, 마지막 작성자, 개정, 키워드 및 주석을 읽어 출력하는 방법을 보여줍니다.
1// Create a project reader instance
2Project project = new Project("New Project.mpp");
3
4// Display project information
5if (project.Get(Prj.ScheduleFromStart))
6 Console.WriteLine("Project Finish Date : " + project.Get(Prj.StartDate).ToShortDateString());
7else
8 Console.WriteLine("Project Finish Date : " + project.Get(Prj.FinishDate).ToShortDateString());
9Console.WriteLine(project.Get(Prj.Author));
10Console.WriteLine(project.Get(Prj.LastAuthor));
11Console.WriteLine(project.Get(Prj.Revision));
12Console.WriteLine(project.Get(Prj.Keywords));
13Console.WriteLine(project.Get(Prj.Comments));
14Console.WriteLine("The program has run successfully");
프로젝트 정보 쓰기
Aspose.Tasks for .NET은 프로젝트 정보를 읽을 뿐만 아니라 쓸 수도 있습니다. 아래 코드 샘플은 작성자, 마지막 작성자, 개정, 키워드 및 주석을 설정하는 방법을 보여줍니다.
1// Create project from template file
2Project project = new Project("New Project.mpp");
3// Set project information
4project.Set(Prj.Author, "Author");
5project.Set(Prj.LastAuthor, "Last Author");
6project.Set(Prj.Revision, 15);
7project.Set(Prj.Keywords, "MSP Aspose");
8project.Set(Prj.Comments, "Comments");
9project.Save("WriteProjectInfo_out.mpp", SaveFileFormat.MPP);
프로젝트 버전 확인
Aspose.Tasks for .NET API는 간단한 API 호출로 프로젝트 파일 정보를 검색하는 기능을 제공합니다. Project 클래스의 Get 메서드는 정적 클래스 Prj를 사용하여 프로젝트 관련 정보를 검색할 수 있게 합니다. 이 항목은 버전 정보를 검색하는 방법을 보여줍니다.
Prj 클래스가 노출하는 SaveVersion 및 LastSaved 속성은 프로젝트 버전과 프로젝트가 마지막으로 저장된 날짜를 결정하는 데 사용됩니다. SaveVersion은 Integer 데이터 형식을 지원하고, LastSaved는 DateTime 데이터 형식을 지원합니다.
다음 속성들을 사용하여 Prj.SaveVersion
및 Prj.LastSaved
속성들을 사용하여 프로젝트 파일 형식 버전 및 마지막 저장 날짜.
속성 | 유형 | 설명 |
---|---|---|
SaveVersion | int | 프로젝트 파일 버전 |
LastSaved | DateTime | 마지막 저장 날짜 |
1Project project = new Project("New Project.mpp");
2
3// Display project version
4Console.WriteLine("Project Version : " + project.Get(Prj.SaveVersion).ToString());
5Console.WriteLine("Last Saved : " + project.Get(Prj.LastSaved).ToShortDateString());
기본 프로젝트 속성
Microsoft Project는 사용자가 프로젝트 설정 과정을 빠르게 할 수 있도록 기본 프로젝트 속성을 설정할 수 있게 합니다. 기본 속성은 새 작업의 시작 및 종료 시점을 정의하고 기본 초과 근무 수당 및 표준 급여율 등을 설정합니다. Aspose.Tasks for .NET은 이러한 기능을 지원합니다.
해당 Prj 클래스는 프로젝트의 기본 속성을 관리하기 위한 여러 속성을 제공합니다:
속성 | 유형 | 설명 |
---|---|---|
DefaultStartTime | DateTime | 작업의 기본 시작 시간 |
DefaultFinishTime | DateTime | 작업의 기본 종료 시간 |
DefaultFixedCostAccrual | CostAccrualType | 기본 비용 발생 방식 |
DefaultStandardRate | double | 기본 표준 급여율 |
DefaultOvertimeRate | double | 기본 초과근무 수당 |
DefaultTaskEVMethod | EarnedValueMethodType | 획득 가치 계산 |
DefaultTaskType | TaskType | 새 작업의 기본 유형 |
//
- DefaultStartTime: 새 작업의 기본 시작 시간으로 DateTime 값을 받습니다.
- DefaultFinishTime: 새 작업의 기본 종료 시간으로 DateTime 값을 받습니다.
- DefaultFixedCostAccrual: 할당의 기본 고정 비용 발생 방식이며, 다음에 정의된 값 중 하나를 사용합니다: CostAccrualType 열거형.
- DefaultStandardRate: 기본 표준 급여율이며 double 값을 사용합니다.
- DefaultOvertimeRate: 기본 초과근무 수당이며 double 값을 사용합니다.
- DefaultTaskEVMethod: 기본 작업 획득 가치 방법이며, 다음에 정의된 값 중 하나를 사용합니다: EarnedValueMethodType 열거형.
- DefaultTaskType: 프로젝트의 기본 작업 유형이며, 다음에 정의된 값 중 하나를 사용합니다: TaskType 열거형. //
Microsoft Project에서 기본 프로젝트 정보를 보려면:
- 프로젝트를 엽니다.
- 에서 도구 메뉴에서 옵션.
- 이동하여 일반 탭. 여기에서 기본 표준 및 초과근무 수당 설정을 볼 수 있습니다.
- 이동하여 일정 탭. 여기에서 기본 작업 유형 및 기본 작업 시작 시간을 확인할 수 있습니다.
Aspose.Tasks가 작성한 Microsoft Project의 기본 프로젝트 정보
기본 속성 읽기
다음 예제는 프로젝트의 기본 속성을 읽어 콘솔 창에 출력합니다.
1// Create project
2Project project = new Project("New Project.mpp");
3
4// Display default properties
5Console.WriteLine("New Task Default Start: " + project.Get(Prj.DefaultStartTime).ToShortDateString());
6Console.WriteLine("New Task Default Type: " + project.Get(Prj.DefaultTaskType));
7Console.WriteLine("Resource Default Standard Rate: " + project.Get(Prj.DefaultStandardRate).ToString());
8Console.WriteLine("Resource Default Overtime Rate: " + project.Get(Prj.DefaultOvertimeRate).ToString());
9Console.WriteLine("Default Task EV Method: " + project.Get(Prj.DefaultTaskEVMethod).ToString());
10Console.WriteLine("Default Cost Accrual: " + project.Get(Prj.DefaultFixedCostAccrual).ToString());
기본 속성 쓰기
다음 코드 줄은 프로젝트의 기본 속성을 설정합니다.
1// Create a project instance and Set default properties
2Project project = new Project();
3project.Set(Prj.ScheduleFromStart, true);
4project.Set(Prj.StartDate, DateTime.Now);
5project.Set(Prj.DefaultStartTime, project.Get(Prj.StartDate));
6project.Set(Prj.DefaultTaskType, TaskType.FixedDuration);
7project.Set(Prj.DefaultStandardRate, 15);
8project.Set(Prj.DefaultOvertimeRate, 12);
9project.Set(Prj.DefaultTaskEVMethod, EarnedValueMethodType.PercentComplete);
10project.Set(Prj.DefaultFixedCostAccrual, CostAccrualType.Prorated);
11project.Save("WriteDefaultProperties_out.xml", SaveFileFormat.XML);
프로젝트 요약 정보 쓰기
대부분의 프로그램은 저장하는 파일과 함께 요약 정보를 저장합니다. Microsoft Project도 예외가 아닙니다. 작성자 이름, 프로젝트 생성일, 마지막 편집 및 저장 시점 외에도 키워드, 제목, 설명 등 다양한 정보를 저장합니다. Aspose.Tasks for .NET은 이러한 정보를 읽고 쓸 수 있습니다.
Project 클래스의 Set 메서드는 쓰기 위해 사용될 수 있으며 Get 메서드는 Prj 클래스의 멤버를 사용하여 프로젝트 요약 정보를 읽는 데 사용됩니다. 요약 정보를 업데이트한 후 파일을 다시 저장할 수 있습니다. 기존 MPP 파일의 프로젝트 요약 정보를 업데이트하려면:
- 다음의 인스턴스를 생성합니다: Project 클래스
- 다음으로 노출된 다양한 속성을 설정합니다: Prj 클래스의 속성으로 요약 정보를 정의합니다.
- 다음 메서드를 사용하여 Project를 저장합니다: Save 메서드 of Project 클래스
파일의 요약 정보를 보려면:
- 파일 탐색기에서 파일을 찾습니다.
- 파일을 마우스 오른쪽 버튼으로 클릭하고 다음을 선택합니다: 속성.
- 이동하여 세부 정보 탭.
아래 코드 샘플은 프로젝트 요약 정보를 MPP 파일에 씁니다.
1// Instantiate Project class
2Project project = new Project("New Project.mpp");
3
4// Set project summary
5project.Set(Prj.Author, "Author");
6project.Set(Prj.LastAuthor, "Last Author");
7project.Set(Prj.Revision, 15);
8project.Set(Prj.Keywords, "MSP Aspose");
9project.Set(Prj.Comments, "Comments");
10project.Save("WriteMPPProjectSummary_out.mpp", SaveFileFormat.MPP);
회계 연도 속성
회계 연도는 회계 연도 또는 예산 연도와 동일합니다. 이는 국가, 조직 또는 개인이 예산과 세금을 계산하는 기간입니다. Microsoft Project는 프로젝트에 대한 회계 연도를 정의할 수 있게 합니다. Aspose.Tasks for .NET은 개발자가 다음을 모두 수행할 수 있는 속성을 통해 이 기능을 지원합니다: 회계 연도 속성 읽기 기존 프로젝트에서 읽고 회계 연도 속성 설정 프로젝트를 생성하거나 작업할 때.
해당 Prj 클래스는 다음을 노출합니다: FyStartDate 및 FiscalYearStart 속성은 프로젝트의 회계 연도를 관리하는 데 사용됩니다:
- FyStartDate: 회계 연도 시작 월을 정의하며 Month 열거형에 정의된 값 중 하나를 사용합니다.
- FiscalYearStart: 프로젝트에서 회계 연도 번호 매김이 사용되었는지 여부를 결정합니다. Boolean.
회계 연도 속성 읽기
FyStartDate 및 FiscalYearStart 속성은 Aspose.Tasks를 사용하여 현재 회계 연도 시작일이 무엇인지, 회계 연도 번호 매김이 사용되는지 여부를 쉽게 확인할 수 있게 합니다.
다음 코드는 프로젝트의 회계 연도 속성을 읽어 콘솔 창에 표시합니다.
1// Create a project instance
2Project project = new Project("New Project.mpp");
3
4// Display fiscal year properties
5Console.WriteLine("Fiscal Year Start Date : " + project.Get(Prj.FyStartDate).ToString());
6Console.WriteLine("Fiscal Year Numbering : " + project.Get(Prj.FiscalYearStart).ToString());
회계 연도 속성 쓰기
Microsoft Project에서 회계 연도 속성을 보려면:
- 프로젝트 파일을 엽니다.
- 에서 도구 메뉴에서 옵션.
- 클릭하여 캘린더 탭. 아래에 표시된 것과 비슷합니다.
Microsoft Project에서 회계 연도 속성이 설정되었는지 확인하기
다음 예제는 프로젝트의 회계 연도 속성을 씁니다.
1// Create a project instance
2Project project = new Project("New Project.mpp");
3
4// Set fiscal year properties
5project.Set(Prj.FyStartDate, Month.July);
6project.Set(Prj.FiscalYearStart, true);
7project.Save("WriteFiscalYearProperties_out.mpp", SaveFileFormat.MPP);
요일 속성
Microsoft Project는 사용자가 다양한 요일 속성을 설정할 수 있게 합니다. 예를 들어, 주의 시작 요일과 한 달의 근무 일수 등입니다. Aspose.Tasks는 다음을 모두 수행할 수 있는 여러 속성을 통해 이러한 기능을 지원합니다: 요일 속성 읽기 및 프로젝트에 쓰기.
Aspose.Tasks에는 다음에 의해 노출되는 일련의 속성이 있습니다: Project 클래스는 프로젝트의 요일 속성을 관리하기 위한 것입니다:
- WeekStartDay: 주의 첫째 날입니다. 이 속성은 다음에 정의된 값을 사용합니다: DayType 열거형.
- DaysPerMonth: 한 달의 근무 일수이며 정수로 전달됩니다.
- MinutesPerDay: 근무일의 근무 분 수이며 정수로 전달됩니다.
- MinutesPerWeek: 근무 주의 근무 분 수이며 정수로 전달됩니다.
요일 속성 읽기
다음 코드는 프로젝트의 요일 속성을 읽어 콘솔 창에 출력합니다.
1Project project = new Project("New Project.mpp");
2
3// Display week days properties
4Console.WriteLine("Week Start Date : " + project.Get(Prj.WeekStartDay).ToString());
5Console.WriteLine("Days Per Month : " + project.Get(Prj.DaysPerMonth).ToString());
6Console.WriteLine("Minutes Per Day : " + project.Get(Prj.MinutesPerDay).ToString());
7Console.WriteLine("Minutes Per Week : " + project.Get(Prj.MinutesPerWeek).ToString());
요일 속성 쓰기
Microsoft Project에서 요일 속성을 보려면:
- 파일을 엽니다.
- 에서 도구 메뉴에서 옵션.
- 선택하여 캘린더 탭. 아래 예와 비슷하게 표시됩니다.
Microsoft Project에서 요일 속성 보기
다음 코드는 위 스크린샷에 표시된 것처럼 요일 속성을 프로젝트에 씁니다.
1// Create a project instance
2Project project = new Project("New Project.mpp");
3
4// Set week days properties
5project.Set(Prj.WeekStartDay, DayType.Monday);
6project.Set(Prj.DaysPerMonth, 24);
7project.Set(Prj.MinutesPerDay, 540);
8project.Set(Prj.MinutesPerWeek, 3240);
9project.Save("WriteWeekdayProperties_out.xml", SaveFileFormat.XML);
통화 속성
Microsoft Project는 프로젝트에서 비용이 표시되는 통화를 설정할 수 있게 합니다. 통화 코드, 소수점 자릿수 및 통화 기호를 정의하여 비용을 읽기 쉽고 직관적으로 표시할 수 있습니다. Aspose.Tasks for .NET은 이러한 기능을 지원하며 개발자가 통화 속성을 설정하고 제어할 수 있도록 여러 속성을 제공합니다. 이 항목은 다음 두 가지 방법을 설명합니다: 통화 속성 읽기및 통화 속성 설정 방법.
Aspose.Tasks for .NET은 다음에 의해 노출되는 속성을 제공합니다: Prj 클래스는 통화 속성을 관리하기 위한 것입니다:
- CurrencyCode: 세 자리 통화 코드(예: USD, GBP 또는 AUD)이며 문자열로 전달됩니다.
- CurrencyDigits: 소수점 이하 자릿수(예: 2(100.00) 또는 3(100.000))이며 정수로 전달됩니다.
- CurrencySymbol: 통화 기호(예: $ 또는 £)이며 문자열로 전달됩니다.
- CurrencySymbolPosition: 통화 기호의 위치(예: 앞에($100) 또는 뒤에(100$)). CurrencySymbolPosition은 다음에서 값을 사용합니다: CurrencySymbolPositionType 열거형.
통화 속성 읽기
다음 코드는 프로젝트의 통화 속성을 읽습니다.
1Project project = new Project("New Project.mpp");
2
3// Display currency properties
4Console.WriteLine("Currency Code : " + project.Get(Prj.CurrencyCode).ToString());
5Console.WriteLine("<br>Currency Digits : " + project.Get(Prj.CurrencyDigits).ToString());
6Console.WriteLine("<br>Currency Symbol : " + project.Get(Prj.CurrencySymbol).ToString());
7Console.WriteLine("Currency Symbol Position" + project.Get(Prj.CurrencySymbolPosition).ToString());
통화 속성 쓰기
Microsoft Project에서 통화 속성을 보려면:
- 프로젝트 파일을 엽니다.
- 에서 도구 메뉴에서 옵션.
- 클릭하여 보기 탭. 아래에 표시된 것과 비슷합니다.
Microsoft Project에서 통화 속성 읽기
다음 예제는 프로젝트에 통화 속성을 씁니다.
1// Create a project instance
2Project project = new Project("New Project.mpp");
3
4// Set currency properties
5project.Set(Prj.CurrencyCode, "AUD");
6project.Set(Prj.CurrencyDigits, 2);
7project.Set(Prj.CurrencySymbol, "$");
8project.Set(Prj.CurrencySymbolPosition, CurrencySymbolPositionType.After);
9
10project.Save("WriteCurrencyProperties_out.xml", SaveFileFormat.XML);
새 작업의 속성 설정
Microsoft Project는 추가된 새 작업에 대한 기본 속성을 설정할 수 있게 합니다. 이 항목은 Aspose.Tasks for .NET API를 사용하여 새 작업의 기본 시작 날짜를 설정하는 방법을 설명합니다.
해당 Prj 클래스는 다음을 노출합니다: NewTaskStartDate 속성은 새 작업의 시작 날짜를 정의합니다. 이 속성은 다음에 정의된 값을 지원합니다: TaskStartDateType 열거형 타입.
작업 속성을 보려면:
- Microsoft Project로 파일을 엽니다.
- 에서 도구 메뉴에서 옵션.
- 선택하여 일정 탭. 해당 탭은 아래에 표시된 것과 비슷합니다.
새 작업이 현재 날짜에 시작하도록 설정됨
다음 코드 줄은 새 작업의 시작 날짜를 설정합니다.
1// Create a project instance Set new task property and Save the project as XML project file
2Project project = new Project();
3project.Set(Prj.NewTaskStartDate, TaskStartDateType.CurrentDate);
4project.Save("SetAttributesForNewTasks_out.xml", SaveFileFormat.XML);
5
6// Display Status.
7Console.WriteLine("New Task created with start date successfully.");
사용자 정의 및 내장 속성 읽기
Aspose.Tasks for .NET에서는 사용자 정의 속성이 형식화된 컬렉션을 통해 제공되는 반면 내장 속성은 직접 제공됩니다.
다음 코드 예제는 사용자 정의 및 내장 속성을 읽는 방법을 보여줍니다.
1// Create a project reader instance
2Project project = new Project("New Project.mpp");
3
4// custom properties are available through the typed collection
5foreach (var property in project.CustomProps)
6{
7 Console.WriteLine(property.Type);
8 Console.WriteLine(property.Name);
9 Console.WriteLine(property.Value);
10}
11
12// built-in properties are available directly
13Console.WriteLine(project.BuiltInProps.Author);
14Console.WriteLine(project.BuiltInProps.Title);
15
16
17// or as an item of built-in property collection
18foreach (var property in project.BuiltInProps)
19{
20 Console.WriteLine(property.Name);
21 Console.WriteLine(property.Value);
22}