VBA PowerPoint - Hướng dẫn VBA để tạo bản trình bày Powerpoint

Excel VBA PowerPoint

Sử dụng VBA, chúng tôi có thể tự động hóa công việc chúng tôi làm cho PowerPoint, nhưng trước tiên để sử dụng mã VBA hoặc đoạn trích để làm việc trong powerpoint, trước tiên hãy làm việc thông qua các tùy chọn bảo mật trong PowerPoint để bật tất cả macro và sau đó chúng tôi có thể sử dụng tham chiếu PowerPoint VBA cho macro trong MS PowerPoint.

Cái hay của VBA là chúng ta có thể tham khảo các sản phẩm khác của Microsoft như “Microsoft Word” và “Microsoft PowerPoint”. Chúng tôi thường tạo báo cáo trong excel và sau đó tạo các bản trình bày PowerPoint. Tất cả những người sử dụng excel thường dành một lượng thời gian đáng kể để chuẩn bị trình bày từ dữ liệu và báo cáo excel. Nếu bạn đang dành một khoảng thời gian đáng kể để chuẩn bị bản trình bày PowerPoint, hướng dẫn này sẽ chỉ cho bạn cách tạo bản trình bày PowerPoint từ chính excel bằng cách sử dụng Mã hóa VBA.

Bật mô hình đối tượng Powerpoint

Bước 1: Mở VBA Editor và sau đó, đi tới Công cụ và tài liệu tham khảo.

Bước 2: Bây giờ, bạn sẽ thấy tất cả các tham chiếu đến Dự án VBA. Cuộn xuống và chọn “Thư viện đối tượng Microsoft PowerPoint 15.0”.

Bước 3: Nhấp vào Ok. Bây giờ chúng ta có thể truy cập PowerPoint từ excel.

Hướng dẫn VBA để tạo bản trình bày PowerPoint

Chúng tôi có thể tạo PPT theo hai cách một bằng cách sử dụng “Liên kết sớm” và một cách khác là sử dụng “Liên kết muộn”. Chúng tôi sẽ hướng dẫn bạn cách tạo một bản trình bày PowerPoint bằng kỹ thuật “Early Binding” .

Thông thường, từ excel, chúng tôi chuẩn bị các bài thuyết trình dựa trên biểu đồ và diễn giải các biểu đồ. Vì vậy, với mục đích này, tôi đã tạo một số biểu đồ và diễn giải excel đơn giản trong cùng một trang tính.

Bước 1: Khởi động chương trình con trong VBA. Bây giờ để truy cập PowerPoint, chúng ta đã bật mô hình đối tượng PowerPoint trong các bước trước đó. Để truy cập điều này, chúng ta cần khai báo biến là PowerPoint.Application.

Mã:

Sub PPT_Example () Dim PPApp As PowerPoint.Application End Sub

Bước 2: Để thêm phần trình chiếu vào PowerPoint, chúng ta cần khai báo một biến là PowerPoint.Presentation.

Mã:

 Làm mờ bản trình bày PPP như PowerPoint.

Bước 3: Sau khi thêm bài thuyết trình vào PowerPoint, chúng ta cần thêm Slide. Để khai báo biến dưới dạng PowerPoint.Slide

Mã:

Làm mờ PPSlide như PowerPoint.Slide

Bước 4: Khi trang chiếu được thêm vào PowerPoint, chúng ta cần sử dụng các hình dạng trong PowerPoint, tức là hộp văn bản. Để khai báo một biến dưới dạng PowerPoint.

Mã:

Làm mờ PPShape như PowerPoint.

Bước 5: Bây giờ, để truy cập tất cả các biểu đồ trong trang tính, chúng ta cần khai báo biến dưới dạng Excel.ChartObjects.

Mã:

Dim PPCharts dưới dạng Excel.ChartObject

Ok, để bắt đầu quá trình tố tụng, các biến này là đủ.

Bước 6: Bây giờ, chúng ta cần khởi chạy PowerPoint từ excel. Vì nó là một đối tượng bên ngoài, chúng ta cần đặt nó làm PowerPoint mới.

Mã:

Đặt PPApp = New PowerPoint.Application

Thao tác này sẽ khởi chạy PowerPoint mới từ excel.

Bước 7: Bây giờ, biến PPApp bằng với PowerPoint mà chúng ta đã khởi chạy. Bây giờ làm cho PowerPoint này hiển thị và phóng to cửa sổ.

Mã:

PPApp.Vible = msoCTrue PPApp.WindowState = ppWindowMaximized

Tại thời điểm này, chỉ cần chạy mã bằng phím F5 hoặc thủ công. Bạn sẽ thấy ứng dụng PowerPoint được khởi chạy giống như bên dưới.

Bước 8: Bây giờ, chúng ta cần thêm bản trình bày vào ứng dụng PowerPoint mà chúng ta đã khởi chạy.

Mã:

Đặt PPPresentation = PPApp.Presentations.Add

Bây giờ chúng ta sẽ thấy bản trình bày PowerPoint như thế này.

Step 9: After adding the presentation, we need to add a slide.

Code:

Set PPSlide = PPPresentation.Slides.Add(1, ppLayoutTitleOnly)

Now this will add the title slide like the below.

Step 10: Now we have more than one chart in the worksheet, we need to loop through each chart and paste in the presentation. Below is the code to copy and paste the chart as well as interpretation.

Below is the complete code for you.

Sub PPT_Example() Dim PPApp As PowerPoint.Application Dim PPPresentation As PowerPoint.Presentation Dim PPSlide As PowerPoint.Slide Dim PPShape As PowerPoint.Shape Dim PPCharts As Excel.ChartObject Set PPApp = New PowerPoint.Application PPApp.Visible = msoCTrue PPApp.WindowState = ppWindowMaximized 'Add Presentation Set PPPresentation = PPApp.Presentations.Add 'Loop through each chart in the Excel and paste into the PowerPoint For Each PPCharts In ActiveSheet.ChartObjects PPApp.ActivePresentation.Slides.Add PPApp.ActivePresentation.Slides.Count + 1, ppLayoutText PPApp.ActiveWindow.View.GotoSlide PPApp.ActivePresentation.Slides.Count Set PPSlide = PPApp.ActivePresentation.Slides(PPApp.ActivePresentation.Slides.Count) 'Copy the chart and paste in Powerpoint PPCharts.Select ActiveChart.ChartArea.Copy PPSlide.Shapes.PasteSpecial(DataType:=ppPasteMetafilePicture).Select 'Add heading to the slide PPSlide.Shapes(1).TextFrame.TextRange.Text = PPCharts.Chart.ChartTitle.Text 'Allignment of the chart PPApp.ActiveWindow.Selection.ShapeRange.Left = 15 PPApp.ActiveWindow.Selection.ShapeRange.Top = 125 PPSlide.Shapes(2).Width = 200 PPSlide.Shapes(2).Left = 505 'Add interpretation If InStr(PPSlide.Shapes(1).TextFrame.TextRange.Text, "Region") Then PPSlide.Shapes(2).TextFrame.TextRange.Text = Range("K2").Value & vbNewLine PPSlide.Shapes(2).TextFrame.TextRange.InsertAfter (Range("K3").Value & vbNewLine) 'Else if the chart is the "Renewable" consumption chart, then enter the appropriate comments ElseIf InStr(PPSlide.Shapes(1).TextFrame.TextRange.Text, "Month") Then PPSlide.Shapes(2).TextFrame.TextRange.Text = Range("K20").Value & vbNewLine PPSlide.Shapes(2).TextFrame.TextRange.InsertAfter (Range("K21").Value & vbNewLine) PPSlide.Shapes(2).TextFrame.TextRange.InsertAfter (Range("K22").Value & vbNewLine) End If 'Now let's change the font size of the callouts box PPSlide.Shapes(2).TextFrame.TextRange.Font.Size = 16 Next PPCharts End Sub

thú vị bài viết...