我试图创建一个粘贴到所有宏,将所选内容粘贴到所有幻灯片。但是,我意识到我不希望将其粘贴到封面或结束页等页面,所以我想一个好方法是在运行宏时出现一个弹出窗口,然后您可以选择您不想粘贴的页面。然后,它会将所选内容粘贴到除输入的幻灯片之外的所有幻灯片中。
我有所有代码的通用粘贴,但正在努力弄清楚如何实现弹出框。任何帮助将不胜感激!
通用粘贴到所有代码:
Sub PasteToAll()
Dim oshpR As ShapeRange
Dim T1 As Single
Dim L1 As Single
ActiveWindow.View.Paste
Set oshpR = ActiveWindow.Selection.ShapeRange
T1 = oshpR(1).Top
L1 = oshpR(1).Left
For i = 1 To ActivePresentation.Slides.Count
Set MyRange = ActivePresentation.Slides(i).Shapes.Paste
MyRange(1).Left = L1
MyRange(1).Top = T1
Next
End Sub
请尝试一下。
Option Explicit
Sub PasteToAll()
Dim oshpR As ShapeRange
Dim T1 As Single
Dim L1 As Single
Dim sPage As String
Dim sIndex As String
Dim i As Integer, MyRange
Const SEP_CHAR = "," ' Modidy as needed
ActiveWindow.View.Paste
Set oshpR = ActiveWindow.Selection.ShapeRange
T1 = oshpR(1).Top
L1 = oshpR(1).Left
sPage = VBA.InputBox("Please input page number(seperated by comma)")
sPage = SEP_CHAR & sPage & SEP_CHAR
For i = 1 To ActivePresentation.Slides.Count
sIndex = SEP_CHAR & i & SEP_CHAR
If VBA.InStr(1, sPage, sIndex) = 0 Then
Set MyRange = ActivePresentation.Slides(i).Shapes.Paste
MyRange(1).Left = L1
MyRange(1).Top = T1
End If
Next
End Sub