![](https://i.stack.imgur.com/U2OMP.png)
Я делаю макрос, который вводит ИМЯ в текстовое поле PPT, а затем сохраняет в формате PDF.Итак, как мне выполнить цикл или сделать до тех пор, пока мой код не будет.
Что я хочу, так это непрерывно создавать новый сертификат на основе моего диапазона листов.Проблема в том, что у меня есть пустые строки в общей сложности 10 входных ячеек и 9 пустых ячеек, потому что это 1 ячейка друг от друга.И как зациклить только этот код ppPres.Slides(1).Shapes("TextBox 13").TextEffect.Text = sh1.Range("114").Text
Как если бы я ввел 7 имен, он сгенерирует 7 pdf с 7 разными именами Обновленный код:
Dim fpath As String
Dim ppApp As PowerPoint.Application
Dim ppPres As PowerPoint.Presentation
Dim sh1 As Worksheet
Dim sh2 As Worksheet
Set sh1 = ThisWorkbook.Worksheets("Automation")
Set sh2 = ThisWorkbook.Worksheets("Links")
fpath = "C:\Mondee\01_Automation\Project - Automated Letters\Thank You Award_AUNZ.pptx"
Set ppApp = CreateObject("PowerPoint.Application")
ppApp.Visible = True
Set ppPres = ppApp.Presentations.Open(fpath)
ppPres.Slides(1).Shapes("TextBox 21").TextEffect.Text = sh1.Range("J111").Value 'do not need to loop
Dim I As Long, LastRow As Long, TbNo As Long
LastRow = 132
I = 114
Do While I <= LastRow
If sh1.Range("G" & I).Value <> "" Then
ppPres.Slides(1).Shapes("TextBox 20").TextEffect.Text = sh1.Range("G" & I).Value 'name that need to loop
sPath = "C:\Mondee\01_Automation\Project - Automated Letters\"
sName = sh1.Range("G" & I).Value & ".pdf"
ppPres.ExportAsFixedFormat sPath & sName, ppFixedFormatTypePDF
ppPres.Close
ppApp.Quit
End If
I = I + 1
Loop
End Sub