У меня есть код VBA, который открывает шаблон PowerPoint, и я хочу создать отдельные модули, которые будут заполнять шаблон PowerPoint.VBA, открывающая шаблон powerpoint, будет модулем «MAIN», и с помощью команды CALL она вызовет другие модули, которые заполняют шаблон.В моем случае, когда мой код попадает во второй модуль, он выдает ошибку, необходимую для объекта.
Вот код, который открывает шаблон powerpoint: Этот работает нормально.
Public Sub OpenTemplatePowerpoint()
Dim ppApp As powerpoint.Application
Dim ppPres As powerpoint.Presentation
Dim ppslide As powerpoint.Slide
TemplatePresPath = "powerpointpath"
Set ppApplication = CreateObject("PowerPoint.Application")
ppApplication.Visible = True
Set pptemplate = ppApplication.Presentations.Open(Filename:=TemplatePresPath, ReadOnly:=msoFalse) ', WithWindow:=msoFalse)
If ThisWorkbook.Sheets("Instructions").Range("D2").Value = True Then
Call Module1
Else
MsgBox ("AWW")
End If
End Sub
Вот пример кода вызываемого модуля.
Set ppslide1 = pptemplate.Slides(1)
ppslide1.Select
With ppslide1.Shapes(15)
.Select
.Table.Cell(3, 2).Shape.TextFrame.TextRange.Text = Format(ThisWorkbook.Sheets("sheets").Range("L6").Value, "0.00")
End With
End Sub
, когда я отлаживаю, эта часть кода подсвечивается
Set ppslide1 = pptemplate.Slides(1)
, потому что мне нужно,быть объявленным снова?Если да, то как мне назначить pptemplate моей текущей точке PowerPoint, которая уже открыта?