Làm cách nào để sao chép thêm các trang trình bày vào bản trình bày PowerPoint của bạn với VBA Macro?

Cập nhật lần cuối: Tháng 6 năm 2020

Áp dụng cho: Office 2019 trở lên. Chỉ dành cho Windows.

Đây là câu hỏi của một độc giả:

Là một phần của bản trình bày báo cáo hàng quý của tôi với ban giám đốc, tôi thường cần sao chép một số trang trình bày thông tin chung từ các bản trình bày khác. Không phải là một vấn đề lớn, nhưng nó sẽ là một tiết kiệm đáng kể để có thể tự động hóa bài tập này. Bất kỳ trợ giúp VBA Macro nào để thực hiện điều đó đều được đánh giá cao!

Như bạn vừa đề cập, bạn có thể tự động sao chép và dán các trang chiếu trong PowerPoint bằng Visual Basic for Applications. Nếu bạn cần tạo nhiều bản trình bày mỗi tháng, tính năng tự động sao chép / nhập trang chiếu này có thể trở thành một công cụ tiết kiệm thời gian rất lớn!

PowerPoint VBA để thêm các trang chiếu

Hãy bắt đầu với bài tập đơn giản này.

Trước hết, hãy đảm bảo rằng tab phát triển của bạn được bật và hiển thị. Đây là cách để làm điều đó .

Tôi giả sử rằng bạn đã tạo một bản trình bày hỗ trợ Macro (loại tệp là .pptm), mà bạn đã đặt trong cùng thư mục với bản trình bày nguồn của bạn (mà tôi sẽ gọi là source.pptm). Đây là cách tạo bản trình bày PowerPoint với VBA .

Trước hết, hãy tạo một bản sao lưu của bản trình bày đó (sao chép và lưu đơn giản).

Sau đó, hãy để chúng tôi tiếp tục và chèn Macro sau vào một mô-đun VBA mới trong bản trình bày đích của bạn. Tất cả chi tiết về cách thực hiện điều đó có thể được tìm thấy trong hướng dẫn PowerPoint VBA của chúng tôi .

Đây là mã VBA mà bạn cần để tự động sao chép và dán các trang trình bày.

Một số giả định tôi đã đưa ra:

  • Bản trình bày nguồn của bạn có tên là source.pptm
  •  Bạn sẽ dán các trang trình bày 2-4 từ bản trình bày nguồn của mình
  • Bạn sẽ đặt các trang trình bày đã sao chép bắt đầu trang trình bày 5.

Sub InsertFromOtherPres()

' This short VBA macro copies slides from one presentation and inserts them into another

ActivePresentation.Slides.InsertFromFile FileName:="source.pptm", Index:=1, SlideStart:=2, 
SlideEnd:=4

End Sub

Rõ ràng, hãy thoải mái thay đổi lập chỉ mục số slide trong mã để chúng phù hợp với yêu cầu của bạn.

Bạn có thể làm cho nó lặp lại qua một số bản trình bày và chèn các trang trình bày cụ thể từ mỗi bản trình bày vào báo cáo quản lý của mình.

PowerPoint VBA để sao chép các trang trình bày

Thay vì sao chép các trang trình bày sang một bản trình bày khác, bạn có thể muốn sao chép một hoặc nhiều trang trình bày trong bản trình bày của mình:

Sub CopySlides()

' Short snippet to duplicate the third slide in a presentation, change the index/es accrodingly

ActivePresentation.Slides(3).Duplicate

End Sub

Đó chỉ là một vài ví dụ đơn giản về tự động hóa PowerPoint. Độc giả tìm kiếm câu hỏi cụ thể, vui lòng gửi yêu cầu thông qua trang Liên hệ.

Hy vọng nó sẽ giúp 🙂

Giữ nguyên định dạng khi sao chép slide

Vấn đề với ví dụ trước là định dạng chủ đề bản trình bày ban đầu không được sao chép. Giả sử 2 trang tính có định dạng khác nhau thì điều này sẽ xảy ra:

ví dụ 1

 

Sub main()

Dim objPresentation As Presentation

Dim i As Integer

'open the target presentation

Set objPresentation = Presentations.Open("C:\2.pptx")

For i = 1 To objPresentation.Slides.Count

    objPresentation.Slides.Item(i).Copy

    Presentations.Item(1).Slides.Paste

Next i

objPresentation.Close

End Sub

Trước khi chạy mã
Đây là bản trình bày có slide mà chúng tôi muốn sao chép: Kết quả: Để khắc phục vấn đề này, bạn có thể sử dụng mã bên dưới:
Các slide cần sao chép

Kết quả

 

Sub Example2()

Dim objPresentation As Presentation

Dim i As Integer

'open the target presentation

Set objPresentation = Presentations.Open("C:\2.pptx")

For i = 1 To objPresentation.Slides.Count

    objPresentation.Slides.Item(i).Copy

    Presentations.Item(1).Slides.Paste

    Presentations.Item(1).Slides.Item(Presentations.Item(1).Slides.Count).Design = _

        objPresentation.Slides.Item(i).Design

Next i

objPresentation.Close

End Sub

Ngoài việc sao chép slide, đoạn mã trên còn sao chép thiết kế. Nếu bạn muốn thực hiện việc này một cách thủ công, bạn sẽ sao chép slidemaster sang bản trình bày mới. Bạn không thể sao chép slidemaster bằng VBA mà thay vào đó bạn có thể đặt thuộc tính thiết kế của các slide.

Leave a Comment

Sửa lỗi “Mega.Nz muốn lưu trữ tệp trên thiết bị này” [8 bản hack nhanh]

Sửa lỗi “Mega.Nz muốn lưu trữ tệp trên thiết bị này” [8 bản hack nhanh]

Tìm hiểu cách xử lý lỗi mega.nz muốn lưu trữ tệp trên thiết bị này với 8 thủ thuật hữu ích!

FiveM không thể tải Citizengame.dll [10 bản sửa lỗi đã được chứng minh]

FiveM không thể tải Citizengame.dll [10 bản sửa lỗi đã được chứng minh]

Thấy Fivem không thể tải citizengame.dll khi khởi chạy GTA 5, sau đó làm theo các bản sửa lỗi xóa bộ nhớ cache bị hỏng, Chỉnh sửa tệp CitizenFX.INI, v.v.

6 giải pháp khắc phục lỗi cập nhật Windows 10 0x800f0831

6 giải pháp khắc phục lỗi cập nhật Windows 10 0x800f0831

Khắc phục lỗi cập nhật Windows 10 0x800f0831 bằng nhiều giải pháp hữu ích và hiệu quả. Hướng dẫn chi tiết từng bước để bạn dễ dàng thực hiện.

7 bản sửa lỗi nhanh cho lỗi ReCaptcha dành cho chủ sở hữu trang web: Loại khóa không hợp lệ

7 bản sửa lỗi nhanh cho lỗi ReCaptcha dành cho chủ sở hữu trang web: Loại khóa không hợp lệ

Thấy Google ReCaptcha "Lỗi đối với chủ sở hữu trang web: Loại khóa không hợp lệ", sau đó thử các bản sửa lỗi như Hạ cấp xuống khóa ReCaptcha V2, cập nhật trình duyệt, v.v.

Cách sử dụng các giới hạn cho các câu hỏi trong Microsoft Forms

Cách sử dụng các giới hạn cho các câu hỏi trong Microsoft Forms

Sử dụng giới hạn trong Microsoft Forms để yêu cầu câu trả lời số dự kiến, dễ dàng thiết lập và quản lý cho cuộc khảo sát hoặc bài kiểm tra của bạn.

Làm thế nào để sửa lỗi 651 trong Windows 10 / 8.1 & 7? (Giải pháp dễ dàng)

Làm thế nào để sửa lỗi 651 trong Windows 10 / 8.1 & 7? (Giải pháp dễ dàng)

Áp dụng các Thủ thuật đã cho để sửa Lỗi 651 trong Windows 7 / 8.1 và Windows 10. Tất cả các giải pháp được đưa ra đều rất đơn giản để áp dụng và hiệu quả.

[Đã giải quyết] Làm thế nào để khắc phục lỗi 0xc000014C trên Windows 7/8 & 10?

[Đã giải quyết] Làm thế nào để khắc phục lỗi 0xc000014C trên Windows 7/8 & 10?

Hướng dẫn cách khắc phục Lỗi 0xc000014C trên Windows 7/8 & 10 một cách hiệu quả với các giải pháp đơn giản và dễ thực hiện.

[CẬP NHẬT] Cách khắc phục mã lỗi 0x7E và Autorun.dll bị thiếu trong Windows 10

[CẬP NHẬT] Cách khắc phục mã lỗi 0x7E và Autorun.dll bị thiếu trong Windows 10

Hướng dẫn chi tiết khắc phục lỗi mã 0x7E và thiếu autorun.dll trong Windows 10. Sửa lỗi dễ dàng mà không cần sự trợ giúp từ chuyên gia.

Cách Đóng (Kết thúc) Biểu mẫu, Khảo sát hoặc Câu đố trong Microsoft Forms

Cách Đóng (Kết thúc) Biểu mẫu, Khảo sát hoặc Câu đố trong Microsoft Forms

Bạn có thể đóng biểu mẫu theo cách thủ công trong Microsoft Forms hoặc thiết lập ngày kết thúc tự động. Các tùy chọn này cho phép bạn đóng biểu mẫu khi bạn đã sẵn sàng.

Cách thiết lập điểm dừng tab trong Microsoft Word

Cách thiết lập điểm dừng tab trong Microsoft Word

Khám phá cách làm cho nút tab hoạt động cho bạn với các điểm dừng tab trong Word. Gợi ý thiết lập và thay đổi điểm dừng tab trên Windows và Mac.