PPTX bằng Python

Macro VBA cho phép bạn tự động hóa nhiều loại thao tác khác nhau trong bản trình bày PowerPoint. Bạn có thể sử dụng chúng để tạo biểu đồ, hiện các đối tượng ẩn và thực hiện các tác vụ lặp đi lặp lại khác nhau trong bản trình bày. Trong khi làm việc với các bản trình bày PowerPoint từ bên trong các ứng dụng Python của bạn, bạn có thể cần phải thao tác các macro VBA. Do đó, trong bài viết này, bạn sẽ học cách thêm, trích xuất và loại bỏ Macro VBA trong PowerPoint bằng Python.

Thư viện Python để làm việc với Macro VBA trong PowerPoint

Để làm việc với macro VBA trong bản trình bày PowerPoint, chúng tôi sẽ sử dụng Aspose.Slides for Python. Thư viện cung cấp một bộ tính năng phong phú để tạo, chỉnh sửa và chuyển đổi các bản trình bày PowerPoint. Bạn có thể cài đặt thư viện từ PyPI bằng lệnh sau.

> pip install aspose.slides

Thêm Macro VBA trong Bản trình bày PowerPoint bằng Python

Sau đây là các bước để thêm macro VBA trong bản trình bày PowerPoint bằng Python.

  • Đầu tiên, sử dụng lớp Trình bày để tải hoặc tạo bản trình bày PowerPoint.
  • Sau đó, tạo một VbaProject mới và gán nó vào thuộc tính Presentation.vbaproject.
  • Sau đó, thêm một mô-đun VBA trống bằng phương thức Presentation.vbaproject.modules.addemptymodule (string).
  • Thêm mã nguồn vào mô-đun VBA bằng cách sử dụng thuộc tính IVbaModule.sourcecode.
  • Liên kết các tài liệu tham khảo và thêm chúng vào bộ sưu tập Presentation.vbaproject.references.
  • Cuối cùng, lưu tệp bản trình bày bằng phương thức Presentation.save (string, SaveFormat.PPTM).

Mẫu mã sau đây cho thấy cách thêm macro VBA trong bản trình bày PowerPoint bằng Python.

# Tạo hoặc tải bản trình bày
with slides.Presentation() as presentation:
    # Tạo dự án VBA mới
    presentation.vba_project = slides.vba.VbaProject()

    # Thêm mô-đun trống vào dự án VBA
    module = presentation.vba_project.modules.add_empty_module("Module")

    # Đặt mã nguồn mô-đun
    module.source_code = "Sub Test(oShape As Shape) MsgBox ""Test"" End Sub"

    # Tạo tham chiếu đến<stdole>
    stdoleReference = slides.vba.VbaReferenceOleTypeLib("stdole", "*\\G{00020430-0000-0000-C000-000000000046}#2.0#0#C:\\Windows\\system32\\stdole2.tlb#OLE Automation")

    # Tạo tham chiếu đến 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")

    # thêm tham chiếu vào dự án VBA
    presentation.vba_project.references.add(stdoleReference)
    presentation.vba_project.references.add(officeReference)

    # Lưu bản trình bày
    presentation.save("add-vba-macro.pptm", slides.export.SaveFormat.PPTM)

Trích xuất Macro VBA từ PowerPoint bằng Python

Bạn cũng có thể truy cập macro VBA được thêm vào bản trình bày PowerPoint và trích xuất thông tin của chúng. Các bước sau đây trình bày cách trích xuất macro VBA và in tên và mã nguồn của chúng bằng Python.

  • Đầu tiên, tải bản trình bày hỗ trợ macro bằng cách sử dụng lớp Trình bày.
  • Sau đó, kiểm tra xem bản trình bày có chứa các dự án VBA bằng thuộc tính Presentation.vbaproject hay không.
  • Truy cập từng mô-đun VBA trong bộ sưu tập Presentation.vbaproject.modules.
  • Cuối cùng, giải nén mã nguồn và tên của mô-đun VBA.

Mẫu mã sau đây cho thấy cách trích xuất macro PowerPoint VBA bằng Python.

# Tải bản trình bày
with slides.Presentation("presentation.pptm") as presentation:
    
    # Kiểm tra xem bản trình bày có chứa Dự án VBA không
    if presentation.vba_project is not None:
        
        # In từng mô-đun
       for module in presentation.vba_project.modules:
            print(module.name)
            print(module.source_code)

Xóa Macro VBA khỏi Bản trình bày PowerPoint

Để loại bỏ một macro VBA, bạn cần truy cập nó bằng cách sử dụng chỉ mục của nó. Khi bạn có tham chiếu của macro, bạn có thể xóa nó khỏi bộ sưu tập. Sau đây là các bước để loại bỏ macro VBA khỏi bản trình bày PowerPoint.

  • Đầu tiên, tải bản trình bày PowerPoint hỗ trợ macro bằng lớp Trình bày.
  • Sau đó, loại bỏ macro VBA bằng phương pháp Presentation.vbaproject.modules.remove (Presentation.vbaproject.modules [index]).
  • Cuối cùng, lưu bản trình bày đã cập nhật bằng phương thức Presentation.save (string, SaveFormat.PPTM).

Mẫu mã sau đây cho thấy cách xóa macro VBA trong Python.

# Tải bản trình bày
with slides.Presentation("presentation.pptm") as presentation:
    # Xóa macro VBA bằng chỉ mục
    presentation.vba_project.modules.remove(presentation.vba_project.modules[0])

    # Lưu bản trình bày
    presentation.save("remove-vba-macro.pptm", slides.export.SaveFormat.PPTM)

Nhận giấy phép miễn phí

Bạn có thể sử dụng Aspose.Slides for Python mà không có giới hạn đánh giá bằng cách nhận giấy phép tạm thời miễn phí.

Sự kết luận

Trong bài viết này, bạn đã học cách làm việc với macro VBA trong bản trình bày PowerPoint bằng Python. Với sự trợ giúp của các mẫu mã, chúng tôi đã trình bày cách thêm, trích xuất và loại bỏ macro VBA trong bản trình bày PowerPoint. Ngoài ra, bạn có thể truy cập tài liệu để khám phá thêm về Aspose.Slides for Python. Ngoài ra, bạn có thể đặt câu hỏi và thắc mắc của mình qua diễn đàn của chúng tôi.

Xem thêm