C#에서 VBA 매크로 작업

VBA(Visual Basic for Applications)는 스프레드시트 관련 작업을 자동화하기 위해 MS Excel 파일에서 사용되는 프로그래밍 언어입니다. VBA 매크로는 수동으로 수행해야 하는 작업의 속도를 높일 수 있는 사용자 정의 함수를 작성하는 데 사용됩니다. 이 기사에서는 프로그래밍 방식으로 MS Excel 파일의 VBA 매크로를 사용하는 방법을 배웁니다. 이 문서가 끝나면 C#을 사용하여 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 매크로를 추출하여 시작하겠습니다. 다음은 이 작업을 수행하는 단계입니다.

다음 코드 샘플은 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 매크로를 추가할 수도 있습니다. 아래 단계에 따라 수행할 수 있습니다.

다음 코드 샘플은 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 매크로를 수정할 수도 있습니다.

다음 코드 샘플은 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 무료 매크로 제거 웹 앱를 확인하는 것이 좋습니다.