VBA(Visual Basic for Applications)는 스프레드시트 관련 작업을 자동화하기 위해 MS Excel 파일에서 사용되는 프로그래밍 언어입니다. VBA 매크로는 수동으로 수행해야 하는 작업의 속도를 높일 수 있는 사용자 정의 함수를 작성하는 데 사용됩니다. 이 기사에서는 프로그래밍 방식으로 MS Excel 파일의 VBA 매크로를 사용하는 방법을 배웁니다. 이 문서가 끝나면 C#을 사용하여 Excel 통합 문서에서 VBA 매크로를 추출, 추가 및 수정할 수 있습니다.
- C# API를 사용하여 VBA 매크로 작업
- Excel 통합 문서에서 VBA 매크로 추출
- Excel 통합 문서에 VBA 매크로 추가
- Excel 통합 문서에서 VBA 매크로 수정
- 무료 라이선스 받기
Excel 파일에서 VBA 매크로 작업 - C# API
Aspose.Cells for .NET은 .NET 애플리케이션 내에서 스프레드시트 조작을 자동화하도록 설계된 C# 클래스 라이브러리입니다. API는 MS Excel 통합 문서를 생성, 수정 및 변환할 수 있는 광범위한 기능을 제공합니다. 또한 API를 사용하면 VBA 매크로를 원활하게 사용할 수 있습니다. .NET용 Aspose.Cells는 다운로드에 DLL 파일로 사용할 수 있을 뿐만 아니라 NuGet에서 호스팅됩니다.
PM> Install-Package Aspose.Cells
C#을 사용하여 Excel 파일에서 VBA 매크로 추출
기존 Excel 통합 문서에서 VBA 매크로를 추출하여 시작하겠습니다. 다음은 이 작업을 수행하는 단계입니다.
- Workbook 클래스의 개체를 생성하여 Excel 파일을 로드합니다.
- Workbook.VbaProject.Modules 컬렉션에서 VbaModule 개체로 각 VBA 모듈에 액세스합니다.
- VbaModule.Codes 속성을 사용하여 각 모듈에서 코드를 검색합니다.
다음 코드 샘플은 C#을 사용하여 Excel 통합 문서에서 VBA 매크로를 추출하는 방법을 보여줍니다.
// 전체 예제 및 데이터 파일을 보려면 https://github.com/aspose-cells/Aspose.Cells-for-.NET으로 이동하십시오.
// 원본 Excel 파일에서 통합 문서 개체 만들기
Workbook workbook = new Workbook("sample.xlsm");
// 각 VBA 모듈에서 코드 추출
foreach (VbaModule module in workbook.VbaProject.Modules)
{
string code = module.Codes;
Console.Write(code);
}
C#을 사용하여 Excel 파일에 VBA 매크로 추가
.NET용 Aspose.Cells를 사용하면 기존 또는 새 Excel 파일에 VBA 매크로를 추가할 수도 있습니다. 아래 단계에 따라 수행할 수 있습니다.
- Workbook 클래스를 사용하여 새 Excel 파일을 만들거나 기존 파일을 로드합니다.
- Worksheet 클래스를 사용하여 새 워크시트를 추가하거나 기존 워크시트를 가져옵니다.
- Workbook.VbaProject.Modules.Add(Worksheet) 메서드를 사용하여 새 VBA 모듈을 추가하고 모듈의 ID를 가져옵니다.
- Workbook.VbaProject.Modules[idx] 컬렉션에서 VbaModule 개체로 VBA 모듈에 액세스합니다.
- VbaModule.Name 속성을 사용하여 모듈 이름을 추가합니다.
- VbaModule.Codes 속성을 사용하여 모듈에 코드를 추가합니다.
- Workbook.Save(String, SaveFormat.Xlsm) 메서드를 사용하여 통합 문서를 저장합니다.
다음 코드 샘플은 C#을 사용하여 Excel 통합 문서에 VBA 매크로를 추가하는 방법을 보여줍니다.
// 전체 예제 및 데이터 파일을 보려면 https://github.com/aspose-cells/Aspose.Cells-for-.NET으로 이동하십시오.
// 새 통합 문서 만들기
Workbook workbook = new Workbook();
// 첫 번째 워크시트에 액세스
Worksheet worksheet = workbook.Worksheets[0];
// VBA 모듈 추가
int idx = workbook.VbaProject.Modules.Add(worksheet);
// VBA 모듈에 액세스하여 이름 및 코드 설정
Aspose.Cells.Vba.VbaModule module = workbook.VbaProject.Modules[idx];
module.Name = "TestModule";
module.Codes = "Sub ShowMessage()" + "\r\n" +
" MsgBox \"Welcome to Aspose!\"" + "\r\n" +
"End Sub";
// 통합 문서 저장
workbook.Save("output_out.xlsm", SaveFormat.Xlsm);
C#을 사용하여 Excel 파일에서 VBA 매크로 수정
다음 단계를 사용하여 Excel 파일에서 기존 VBA 매크로를 수정할 수도 있습니다.
- Workbook 클래스를 사용하여 Excel 파일을 로드합니다.
- Workbook.VbaProject.Modules 컬렉션에서 VbaModule 개체로 VBA 모듈에 액세스합니다.
- VbaModule.Codes 속성을 사용하여 원하는 모듈에서 코드를 검색합니다.
- 코드를 교체하고 Workbook.Save(String) 메서드를 사용하여 Excel 파일을 저장합니다.
다음 코드 샘플은 C#을 사용하여 Excel 파일에서 VBA 매크로를 수정하는 방법을 보여줍니다.
// 전체 예제 및 데이터 파일을 보려면 https://github.com/aspose-cells/Aspose.Cells-for-.NET으로 이동하십시오.
// 원본 Excel 파일에서 통합 문서 개체 만들기
Workbook workbook = new Workbook("sample.xlsm");
// VBA 모듈 코드 변경
foreach (VbaModule module in workbook.VbaProject.Modules)
{
string code = module.Codes;
// 원본 메시지를 수정된 메시지로 교체
if (code.Contains("This is test message."))
{
code = code.Replace("This is test message.", "This is Aspose.Cells message.");
module.Codes = code;
}
}
// 출력 Excel 파일 저장
workbook.Save("output_out.xlsm");
무료 라이선스 받기
30일 동안 유효한 임시 라이선스를 사용하여 .NET용 Aspose.Cells를 무료로 사용하거나 평가할 수 있습니다. 지금 구입.
결론
MS Excel 파일의 VBA 매크로는 스프레드시트와 관련된 다양한 유형의 작업을 자동화하는 데 사용됩니다. 프로그래밍 방식으로 VBA 매크로를 처리하기 위해 이 문서에서는 C#을 사용하여 VBA 모듈에서 코드를 추출, 추가 및 수정하는 방법을 다뤘습니다. 문서를 사용하여 C# 스프레드시트 조작 API에 대해 자세히 알아볼 수 있습니다.
또한보십시오
팁: Aspose 무료 매크로 제거 웹 앱를 확인하는 것이 좋습니다.