VBA 소스 코드 편집
개요
Microsoft Project (MPP/XML) 파일에는 프로젝트 관련 작업을 자동화하는 매크로를 저장하는 VBA 모듈이 포함될 수 있습니다. 버전 25.6, Aspose.Tasks for .NET에서는 읽기뿐만 아니라 기존 VBA 모듈의 소스 코드를 편집하는 기능을 제공합니다 프로젝트에서.
이를 통해 Microsoft Project에 의존하지 않고 자동화 로직을 유지하고 업데이트할 수 있습니다.
기존 모듈의 소스 코드 편집
다음 예제는 이름이 Module1
기존 프로젝트에서의 모듈 소스 코드를 편집하는 방법을 보여줍니다.
1 Project project = new Project("FileWithVbaProject.mpp");
2
3 if (project.VbaProject.Modules.Count == 0)
4 {
5 throw new InvalidOperationException("Project should contain VBA modules");
6 }
7
8 var existingModule = project.VbaProject.Modules["Module1"];
9 existingModule.SourceCode = @"Sub Method()
10 MsgBox ""This is an updated text.""
11 End Sub";
12
13 // WriteVba flag should be specified in order to apply changes to MPP file.
14 project.Save("output.mpp", new MPPSaveOptions { WriteVba = true });
이 예제는 프로젝트에 VBA 모듈이 포함되어 있는지 확인하고, 이름으로 모듈을 찾아 소스 코드를 교체합니다. 변경 사항을 적용하려면 WriteVba
플래그를 프로젝트를 저장할 때 활성화해야 합니다.
자주 묻는 질문
질문: 여러 모듈을 한 번에 업데이트할 수 있나요?
- 예. 해당
VbaProject.Modules
컬렉션을 반복하여 각 모듈의SourceCode
속성을 업데이트할 수 있습니다.
질문: 존재하지 않는 모듈을 업데이트하려고 하면 어떻게 되나요?
- 예외가 발생합니다. 편집하기 전에 모듈이 존재하는지 확인해야 합니다.
질문: VBA 모듈이 없는 프로젝트에서 VBA 소스 코드를 편집할 수 있나요?
- 아니요. 대상 Microsoft Project 파일에는 적어도 하나의 모듈을 포함한 VBA 프로젝트가 이미 있어야 합니다.
질문: VBA 모듈의 이름을 바꿀 수 있나요?
- 현재는 기존 모듈의 소스 코드 업데이트와 새 모듈 추가만 지원됩니다.
결론
Aspose.Tasks for .NET을 사용한 VBA 소스 코드 편집은 프로젝트 매크로를 완전히 제어할 수 있게 해주며, 개발자가 Microsoft Project 자체에 의존하지 않고 Microsoft Project 파일 내의 사용자 지정 로직을 자동화, 조정 및 유지 관리할 수 있도록 합니다.