【发布时间】:2020-07-09 06:41:54
【问题描述】:
我正在尝试从 Word 复制前 15 行并将其粘贴到 PowerPoint 中的 Slide(1),接下来的 15 行到 Slide(2).....重复直到所有文本都复制到 PowerPoint。 每张幻灯片上只有一个文本框。 我不知道如何循环,所以尝试以不酷的方式进行如下操作,但通过这种方式,第二 15 行在 Slide(1) 和 (2) 中都被复制。有什么好办法吗?
Sub test()
Dim pptApp As Object
Dim pptPres As Object
Dim folderPath As String, file As String
Dim shpTextBox As Object
With ActiveDocument
Selection.HomeKey Unit:=wdStory, Extend:=wdMove
Selection.MoveDown Unit:=wdLine, Count:=15, Extend:=wdExtend
Selection.Cut
End With
Set pptApp = CreateObject("PowerPoint.Application")
folderPath = ActiveDocument.Path & Application.PathSeparator
file = "test.pptx"
pptApp.Visible = True
Set pptPres = pptApp.Presentations.Open(folderPath & file)
Set shpTextBox = pptPres.Slides(1).Shapes(1)
shpTextBox.Select
pptApp.CommandBars.ExecuteMso "PasteSourceFormatting"
With ActiveDocument
Selection.HomeKey Unit:=wdStory, Extend:=wdMove
Selection.MoveDown Unit:=wdLine, Count:=15, Extend:=wdExtend
Selection.Cut
End With
pptPres.Slides(2).Select
Set shpTextBox = pptPres.Slides(2).Shapes(1)
shpTextBox.Select
pptApp.CommandBars.ExecuteMso "PasteSourceFormatting"
结束子
【问题讨论】:
标签: vba ms-word powerpoint