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
- Thêm Macro VBA trong Bản trình bày PowerPoint
- Trích xuất Macro VBA từ Bản trình bày
- Xóa Macro VBA khỏi Bản trình bày
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.