파이썬에서 PPTX

VBA 매크로를 사용하면 PowerPoint 프레젠테이션에서 다양한 유형의 작업을 자동화할 수 있습니다. 차트 생성, 숨겨진 개체 숨기기 해제 및 프레젠테이션에서 다양한 반복 작업을 수행하는 데 사용할 수 있습니다. Python 응용 프로그램 내에서 PowerPoint 프레젠테이션으로 작업하는 동안 VBA 매크로를 조작해야 할 수 있습니다. 따라서 이 기사에서는 Python을 사용하여 PowerPoint에서 VBA 매크로를 추가, 추출 및 제거하는 방법을 배웁니다.

PowerPoint에서 VBA 매크로 작업을 위한 Python 라이브러리

PowerPoint 프레젠테이션에서 VBA 매크로로 작업하려면 Aspose.Slides for Python을 사용합니다. 라이브러리는 PowerPoint 프레젠테이션을 만들고 편집하고 변환할 수 있는 다양한 기능을 제공합니다. 다음 명령을 사용하여 PyPI에서 라이브러리를 설치할 수 있습니다.

> pip install aspose.slides

Python의 PowerPoint 프레젠테이션에 VBA 매크로 추가

다음은 Python을 사용하여 PowerPoint 프레젠테이션에 VBA 매크로를 추가하는 단계입니다.

  • 먼저 Presentation 클래스를 사용하여 PowerPoint 프레젠테이션을 로드하거나 만듭니다.
  • 그런 다음 새 VbaProject를 만들고 Presentation.vba\project 속성에 할당합니다.
  • 그런 다음 Presentation.vba\project.modules.add\empty\module(string) 메서드를 사용하여 빈 VBA 모듈을 추가합니다.
  • IVbaModule.source\code 속성을 사용하여 VBA 모듈에 소스 코드를 추가합니다.
  • 참조를 연결하고 Presentation.vba\project.references 컬렉션에 추가합니다.
  • 마지막으로 Presentation.save(string, SaveFormat.PPTM) 메서드를 사용하여 프레젠테이션 파일을 저장합니다.

다음 코드 샘플은 Python을 사용하여 PowerPoint 프레젠테이션에 VBA 매크로를 추가하는 방법을 보여줍니다.

# Create or load a presentation
with slides.Presentation() as presentation:
    # Create new VBA project
    presentation.vba_project = slides.vba.VbaProject()

    # Add empty module to the VBA project
    module = presentation.vba_project.modules.add_empty_module("Module")

    # Set module source code
    module.source_code = "Sub Test(oShape As Shape) MsgBox ""Test"" End Sub"

    # Create reference to <stdole>
    stdoleReference = slides.vba.VbaReferenceOleTypeLib("stdole", "*\\G{00020430-0000-0000-C000-000000000046}#2.0#0#C:\\Windows\\system32\\stdole2.tlb#OLE Automation")

    # Create reference to Office
    officeReference =slides.vba.VbaReferenceOleTypeLib("Office", "*\\G{2DF8D04C-5BFA-101B-BDE5-00AA0044DE52}#2.0#0#C:\\Program Files\\Common Files\\Microsoft Shared\\OFFICE14\\MSO.DLL#Microsoft Office 14.0 Object Library")

    # add references to the VBA project
    presentation.vba_project.references.add(stdoleReference)
    presentation.vba_project.references.add(officeReference)

    # Save presentation
    presentation.save("add-vba-macro.pptm", slides.export.SaveFormat.PPTM)

Python의 PowerPoint에서 VBA 매크로 추출

PowerPoint 프레젠테이션에 추가된 VBA 매크로에 액세스하고 해당 정보를 추출할 수도 있습니다. 다음 단계는 VBA 매크로를 추출하고 Python에서 해당 이름과 소스 코드를 인쇄하는 방법을 보여줍니다.

  • 먼저 Presentation 클래스를 사용하여 매크로 사용 프레젠테이션을 로드합니다.
  • 그런 다음 Presentation.vba\project 속성을 사용하여 프레젠테이션에 VBA 프로젝트가 포함되어 있는지 확인합니다.
  • Presentation.vba\project.modules 컬렉션의 각 VBA 모듈에 액세스합니다.
  • 마지막으로 VBA 모듈의 소스 코드와 이름을 추출합니다.

다음 코드 샘플은 Python에서 PowerPoint VBA 매크로를 추출하는 방법을 보여줍니다.

# Load a presentation
with slides.Presentation("presentation.pptm") as presentation:
    
    # Check if presentation contains VBA Project
    if presentation.vba_project is not None:
        
        # Print each module
        for module in presentation.vba_project.modules:
            print(module.name)
            print(module.source_code)

PowerPoint 프레젠테이션에서 VBA 매크로 제거

VBA 매크로를 제거하려면 해당 인덱스를 사용하여 액세스해야 합니다. 매크로의 참조가 있으면 컬렉션에서 제거할 수 있습니다. 다음은 PowerPoint 프레젠테이션에서 VBA 매크로를 제거하는 단계입니다.

  • 먼저 Presentation 클래스를 사용하여 매크로 사용 PowerPoint 프레젠테이션을 로드합니다.
  • 그런 다음 Presentation.vba\project.modules.remove(Presentation.vba\project.modules[index]) 메서드를 사용하여 VBA 매크로를 제거합니다.
  • 마지막으로 Presentation.save(string, SaveFormat.PPTM) 메서드를 사용하여 업데이트된 프레젠테이션을 저장합니다.

다음 코드 샘플은 Python에서 VBA 매크로를 제거하는 방법을 보여줍니다.

# Load a presentation
with slides.Presentation("presentation.pptm") as presentation:
    # Remove VBA macro using index
    presentation.vba_project.modules.remove(presentation.vba_project.modules[0])

    # Save presentation
    presentation.save("remove-vba-macro.pptm", slides.export.SaveFormat.PPTM)

무료 라이선스 받기

무료 임시 라이선스를 얻으면 평가 제한 없이 Python용 Aspose.Slides를 사용할 수 있습니다.

결론

이 기사에서는 Python을 사용하여 PowerPoint 프레젠테이션에서 VBA 매크로로 작업하는 방법을 배웠습니다. 코드 샘플을 사용하여 PowerPoint 프레젠테이션에서 VBA 매크로를 추가, 추출 및 제거하는 방법을 시연했습니다. 또한 문서를 방문하여 Python용 Aspose.Slides에 대해 자세히 알아볼 수 있습니다. 또한 포럼을 통해 질문과 질문을 할 수 있습니다.

또한보십시오