Macro VBA được sử dụng để tự động hóa các chức năng khác nhau trong bản trình bày PowerPoint. Ví dụ: bạn có thể sử dụng VBA để thực hiện các tác vụ lặp lại, tạo biểu đồ và biểu mẫu, v.v. Trong bài viết này, bạn sẽ học cách làm việc với các macro PowerPoint VBA theo lập trình. Đặc biệt, bài viết sẽ trình bày cách thêm, trích xuất hoặc loại bỏ macro VBA trong bản trình bày PowerPoint sử dụng C#.
- C# API cho PowerPoint VBA Macro
- Thêm Macro VBA trong Bản trình bày PowerPoint bằng C#
- Trích xuất Macro VBA từ Bản trình bày PowerPoint
- Xóa Macro VBA khỏi Bản trình bày PowerPoint
- Nhận giấy phép API miễn phí
C# API cho PowerPoint VBA Macro
Aspose.Slides for .NET là một API giàu tính năng cho phép bạn tạo, chỉnh sửa và chuyển đổi các bản trình bày PowerPoint bằng C#. Hơn nữa, API cho phép bạn làm việc với các macro VBA một cách liền mạch. Để sử dụng API, bạn có thể tải xuống DLL của nó hoặc cài đặt nó bằng NuGet.
PM> Install-Package Aspose.Slides.NET
Thêm Macro VBA trong Bản trình bày PowerPoint bằng C#
Sau đây là các bước để thêm macro VBA trong bản trình bày PowerPoint bằng C#.
- Đầu tiên, tạo một phiên bản của lớp Presentation để tải bản trình bày PowerPoint.
- Gán một VbaProject mới cho thuộc tính Presentation.VbaProject.
- Thêm mô-đun VBA trống bằng phương thức Presentation.VbaProject.Modules.AddEmptyModule (string).
- Nhận tham chiếu của mô-đun đã thêm vào đối tượng IVbaModule.
- Thêm mã nguồn vào mô-đun VBA bằng thuộc tính IVbaModule.SourceCode.
- Tạo các tham chiếu đến Microsoft Office và thêm chúng vào bộ sưu tập Presentation.VbaProject.Refutions.
- 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 biết cách thêm macro VBA trong bản trình bày PowerPoint bằng C#.
// Tải bản trình bày
using (Presentation presentation = new Presentation("presentation.pptm"))
{
// Tạo dự án VBA mới
presentation.VbaProject = new VbaProject();
// Thêm mô-đun trống vào dự án VBA
IVbaModule module = presentation.VbaProject.Modules.AddEmptyModule("Module");
// Đặt mã nguồn của mô-đun
module.SourceCode = @"Sub Test(oShape As Shape) MsgBox ""Test"" End Sub";
// Tạo tham chiếu đến<stdole>
VbaReferenceOleTypeLib stdoleReference =
new 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
VbaReferenceOleTypeLib officeReference =
new 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.VbaProject.References.Add(stdoleReference);
presentation.VbaProject.References.Add(officeReference);
// Lưu bản trình bày
presentation.Save("AddVBAMacros.pptm", SaveFormat.Pptm);
}
Trích xuất Macro VBA từ PowerPoint bằng C#
Aspose.Slides for .NET cũng cho phép bạn trích xuất các mô-đun VBA từ các dự án VBA trong bản trình bày PowerPoint. Sau đây là các bước để thực hiện thao tác này.
- Đầu tiên, tải bản trình bày PowerPoint hỗ trợ macro bằng cách sử dụng lớp Trình bày.
- Kiểm tra xem thuộc tính Presentation.VbaProject có rỗng không.
- Lặp qua từng IVbaModule trong bộ sưu tập Presentation.VbaProject.Modules.
- Cuối cùng, trích xuất mã nguồn bằng thuộc tính IVbaModule.SourceCode.
Mẫu mã sau đây cho thấy cách trích xuất macro PowerPoint VBA bằng C#.
// Tải bản trình bày
using (Presentation pres = new Presentation("presentation.pptm"))
{
if (pres.VbaProject != null) // check if Presentation contains VBA Project
{
foreach (IVbaModule module in pres.VbaProject.Modules)
{
Console.WriteLine(module.Name);
Console.WriteLine(module.SourceCode);
}
}
}
Loại bỏ các Macro PowerPoint VBA
Bạn cũng có thể xóa một macro VBA cụ thể khỏi bản trình bày PowerPoint. Đối với điều này, bạn sẽ truy cập và loại bỏ mô-đun VBA theo chỉ mục của nó khỏi dự án VBA. Sau đây là các bước để thực hiện thao tác này.
- Đầu tiên, tải bản trình bày PowerPoint hỗ trợ macro bằng cách sử dụng lớp Trình bày.
- Loại bỏ mô-đun VBA theo chỉ mục bằng phương pháp Presentation.VbaProject.Modules.Remove (Presentation.VbaProject.Modules [0]).
- 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 biết cách loại bỏ macro PowerPoint VBA.
// Tải bản trình bày
using (Presentation presentation = new Presentation("Presentation.pptm"))
{
// Loại bỏ mô-đun VBA
presentation.VbaProject.Modules.Remove(presentation.VbaProject.Modules[0]);
// Lưu bản trình bày
presentation.Save("RemovedVBAMacros.pptm", SaveFormat.Pptm);
}
Nhận giấy phép API miễn phí
Bạn có thể dùng thử Aspose.Slides for .NET mà không có giới hạn đánh giá bằng cách yêu cầu giấy phép tạm thời.
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 PowerPoint VBA bằng C#. Đặc biệt, bạn đã thấy cách thêm, trích xuất và loại bỏ macro VBA trong bản trình bày PowerPoint. Để khám phá các tính năng khác của API, bạn có thể tham khảo tài liệu. Hơn nữa, bạn có thể cho chúng tôi biết về các thắc mắc của bạn thông qua diễn đàn của chúng tôi.
Xem thêm
Mẹo: Bạn có thể muốn xem Aspose Ứng dụng web xóa macro MIỄN PHÍ.