Обычно мы используем PowerPoint для облегчения наших экспериментов. Мы используем «разделы» в PowerPoint, чтобы объединять группы слайдов для каждой экспериментальной задачи. Перемещение разделов, чтобы уравновесить порядок задач эксперимента, потребовало огромных усилий!
Я думал, что мы могли бы заранее определить порядок уравновешивания (используя строку чисел, представляющую порядок) в CSV или массиве (еще не построили это в VBA). Затем с помощью VBA переместите разделы и сохраните файл для каждого заказа. Я довольно давно использую VBA, но думаю, что у меня неплохой старт. Проблема находится в строке 24. Я не знаю, как скопировать раздел в новую презентацию. Кто-нибудь достаточно знаком, чтобы направить меня по правильному пути.
Sub Latin_Square()
Dim amountOfSubjects As Integer
'Declare the amount of subjects you have in your study
amountOfSubjects = 14
Dim filePath As String
filePath = "C:/1.pptx"
Dim amountofsections As Integer
Dim i As Integer
Dim fso As Object
Set fso = CreateObject("Scripting.FileSystemObject")
Dim desktopPath As String
'find out where user's desktop is
desktopPath = Environ("UserProfile") & "\Desktop\"
Dim oldPresentation As Presentation
Dim newPresentation As Presentation
'open the target presentation
Set oldPresentation = Presentations.Open("C:\1.pptx")
For i = 1 To oldPresentation.Slides.Count
oldPresentation.Slides.Item(i).Copy
newPresentation.Item(1).Slides.Paste
Next i
oldPresentation.Close
With newPresentation
.SaveCopyAs _
FileName:=fso.BuildPath(desktopPath, "Test" & 1 & ".pptx"), _
FileFormat:=ppSaveAsOpenXMLPresentation
End With
End Sub