Я пытаюсь скопировать первые 15 строк из Word и вставить их в слайд (1) в PowerPoint, следующие 15 строк в слайд (2) ..... повторять, пока все тексты не будут скопированы в PowerPoint. На каждом слайде есть только одно текстовое поле. Я не мог понять, как l oop, поэтому попытался сделать это не круто, как показано ниже, но таким образом, вторые 15 строк копируются как в слайд (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"
End Sub