Bạn đã bao giờ thử sử dụng VBA Excel để điều khiển Powerpoint chưa? Hãy cùng xem hướng dẫn chi tiết ngay nhé.
Sử dụng VBA trong Excel là việc làm quen thuộc của nhiều bạn để tự động hóa các tác vụ trong phần mềm này giúp công việc được triển khai nhanh chóng, hiệu quả hơn. Có thể nói mã VBA macro giúp người dùng nâng cao hiệu suất làm việc lên gấp nhiều lần mà không phải thao tác thủ công quá nhiều. Hiện nay, có rất nhiều bạn học viên của Gitiho muốn biết cách dùng VBA để ra lệnh cho phần mềm khác ngoài Excel. Vì vậy, chúng mình sẽ gửi tới các bạn bài viết về cách dùng VBA macro để điều khiển Powerpoint nhé.
Cũng giống như khi hoạt động trên file Excel, VBA macro sẽ giúp cho việc thiết kế Powerpoint của bạn trở nên nhanh chóng hơn. Giả sử các bạn cần sao chép một dải ô xác định từ Excel rồi dán vào Powerpoint hoặc tổng hợp một bản trình chiếu có đến 50 hình ảnh từ Excel thì dùng VBA sẽ giúp công việc nhẹ nhàng hơn.
Trước hết, các bạn hãy lưu lại mã VBA ở bên dưới rồi chúng ta sẽ cùng tìm hiểu công dụng và cách sử dụng của nó nhé.
Sub ExcelRangeToPowerPoint()
Dim rng As Range
Dim PowerPointApp As Object
Dim myPresentation As Object
Dim mySlide As Object
Dim myShape As Object’Copy Range from Excel
Set rng = ThisWorkbook.ActiveSheet.Range(“A1:C12”)
‘Create an Instance of PowerPoint
On Error Resume Next
‘Is PowerPoint already opened?
Set PowerPointApp = GetObject(class:=”PowerPoint.Application”)
‘Clear the error between errors
Err.Clear
‘If PowerPoint is not already open then open PowerPoint
If PowerPointApp Is Nothing Then Set PowerPointApp = CreateObject(class:=”PowerPoint.Application”)
‘Handle if the PowerPoint Application is not found
If Err.Number = 429 Then
MsgBox “PowerPoint could not be found, aborting.”
Exit Sub
End If
On Error GoTo 0
‘Optimize Code
Application.ScreenUpdating = False
‘Create a New Presentation
Set myPresentation = PowerPointApp.Presentations.Add
‘Add a slide to the Presentation
Set mySlide = myPresentation.Slides.Add(1, 11) ’11 = ppLayoutTitleOnly
‘Copy Excel Range
rng.Copy
‘Paste to PowerPoint and position
mySlide.Shapes.PasteSpecial DataType:=2 ‘2 = ppPasteEnhancedMetafile
Set myShape = mySlide.Shapes(mySlide.Shapes.Count)
‘Set position:
myShape.Left = 66
myShape.Top = 152
‘Make PowerPoint Visible and Active
PowerPointApp.Visible = True
PowerPointApp.Activate
‘Clear The Clipboard
Application.CutCopyMode = False
End Sub
Xem thêm: Hướng dẫn những mã VBA cơ bản và thường dùng nhất trong Excel
Để dùng VBA từ Excel điều khiển Powerpoint thì chúng ta phải sử dụng Visual Basic Editor của phần mềm này. Tuy nhiên, trong hệ thống ngôn ngữ được mã hóa cho Excel thì không có những từ được sử dụng cho Powerpoint. Vì thế, muốn sử dụng Visual Basic Editor từ Excel để điều khiển Powerpoint thì bạn cần dạy nó các từ vựng như "trang trính chiếu" hay "bài thuyết trình". Vậy chúng ta dạy như thế nào?
Các bạn bấm vào mục Tools trong Visual Basic Editor => chọn Reference là đã mở được thư viện các đối tượng của Powerpoint.
Xem thêm: Cách tạo Visual Basic for Applications (VBA) trong Excel
Bây giờ chúng ra sẽ dạy phần mềm Powerpoint cách giao tiếp và kết nối với Excel. Giả sử chúng ta cần dán dải ô nhất định vào một trang trình chiếu hoàn toàn mới thì phần đầu của mã macro VBA sẽ có dạng như sau:
‘Create an Instance of PowerPoint
On Error Resume Next’Is PowerPoint already opened?
Set PowerPointApp = GetObject(class:=”PowerPoint.Application”)’Clear the error between errors
Err.Clear
‘If PowerPoint is not already open then open PowerPoint
If PowerPointApp Is Nothing Then Set PowerPointApp = CreateObject(class:=”PowerPoint.Application”)
‘Handle if the PowerPoint Application is not found
If Err.Number = 429 Then
MsgBox “PowerPoint could not be found, aborting.”
Exit Sub
End If
On Error GoTo 0
Trong phần này của mã macro, chúng ta có thể xác định được Powerpoint có đang mở hay không. Nếu Powerpoint đang mở thì các bạn hãy tạo một biến tương đương với toàn bộ chương trình bằng cách dùng Get Object. Nếu lúc này Powerpoint không chạy thì hãy Create Object để chạy mô phỏng của phần mềm rồi tạo một biến tương tự với bản mô phỏng đó.
Có một điều các bạn cần lưu ý là: Nếu sử dụng Create Object thì ứng dụng cuối cùng sẽ chạy nhưng không hiển thị trên màn hình. Do đó, chúng ta cần khởi động thiết lập Visible lên bằng true. Lệnh cụ thể như sau:
‘Make PowerPoint Visible and Active
PowerPointApp.Visible = True
PowerPointApp.Activate
Xem thêm: 7 bước nhúng biểu đồ Excel vào PowerPoint cực nhanh
Khi đã mở được Powerpoint trong Excel rồi thì chúng ta có thể bắt đầu điều khiển và kiểm soát nó. Trước hết, hãy ra lệnh để Powerpoint tạo ra một bài thuyết trình mới rồi tạo ra một trang slide để chúng có thể dán dải ô từ Excel vào đó. Có một lưu ý quan trọng mà chúng ta cần nhớ là: Nếu muốn tham chiếu bài thuyết trình hay một slide Powerpoint mới tại thì cần thực hiện điều đó với biến tương ứng như sau:
‘Create a New Presentation
Set myPresentation = PowerPointApp.Presentations.Add’Add a slide to the Presentation
Set mySlide = myPresentation.Slides.Add(1, 11) ’11 = ppLayoutTitleOnly
Sau đó bạn đã có một bài thuyết trình với trang trình chiếu mới, bạn có thể dùng Excel để dán dải ô vào Powerpoint.
Lưu ý: Có thể sau này các bạn cần thay đổi mã một cách thủ công. Khi đó hãy sử dụng mã này thay vì phải cuộn xuống tìm kiếm mã để tiết kiệm thời gian hơn nhé.
‘Copy Range from Excel
Set rng = ThisWorkbook.ActiveSheet.Range(“A1:D12”)’Copy Excel Range
rng.Copy’Paste to PowerPoint and position
Set mySlide = myPresentation.Slides.Add(1, 11) ’11 = ppLayoutTitleOnly
Set myShapeRange = mySlide.Shapes(mySlide.Shapes.Count)
Hãy lưu lại các mã VBA macro mà chúng mình chia sẻ để thực hành ngay khi bạn có thể nhé. Ban đầu bạn sẽ thấy phần này hơi khó. Tuy nhiên, chỉ cần thực hành nhiều lần là bạn sẽ quen thao tác và cảm thấy công việc trở nên tiện lại hơn rất nhiều khi dùng VBA.
Hy vọng những mã macro VBA mà chúng mình chia sẻ có thể giúp các bạn làm việc với Powerpoint hiện đại vào chuyên nghiệp hơn.
Khóa học phù hợp với bất kỳ ai đang muốn tìm hiểu lại Excel từ con số 0. Giáo án được Gitiho cùng giảng viên thiết kế phù hợp với công việc thực tế tại doanh nghiệp, bài tập thực hành xuyên suốt khóa kèm đáp án và hướng dẫn giải chi tiết. Tham khảo ngay bên dưới!