실제로 Powerpoint.Application 인스턴스를 만들지 않고도 oPPTApp 변수의 크기를 조정한다고 생각합니다.
Public ppApp As PowerPoint.Application
Sub PPTFile()
Dim ppPres As Presentation
Dim fileNameString As String
fileNameString = "C:\testPPT.pptx" '<change to your file path/name
'Create an instance of PPT to work with
Set ppApp = CreateObject("Powerpoint.Application")
ppApp.Visible = True
'Create a new presentation (or you can access an existing file with ppApp.Presentations.Open
Set ppPres = ppApp.Presentations.Add
'Save:
ppPres.SaveAs fileNameString, 1
'Quit the instance of PPT that you initiated above.
ppApp.Quit
End Sub
편집
당신이 AddSlide 방법을 사용하여 슬라이드를 추가하는 것처럼, 당신은 CustomLayout
를 참조 할 필요가있다.
Dim sldCount As Integer
sldCount = ppPres.Slides.count
ppPres.Slides.AddSlide sldCount + 1, ppPres.Slides(sldCount).CustomLayout
'Once you've added the slide, then set using Layout:
ppPres.Slides(sldCount + 1).Layout = ppLayoutBlank
다른 방법으로는 (A CustomLayout 필요) 이전 .Add
Layout
인수를 받아들이는 방법, 대신 .AddSlide
를 사용할 수 있습니다
ppPres.Slides.Add sldCount + 1, ppLayoutBlank
은 어디에서 오류가 (지고있는' SaveAs' 또는'.Close'에서)? 어떤 오류가 발생 했습니까? –
오브젝트 필수 오류로 인해 newPowerPoint를 oPPTApp로 전환했습니다. OPPTApp도 공개로 선언됩니다. 그래서 지금 oPPTApp을 사용하여 얻는 오류 메시지는 SaveAs 줄에 "개체 변수 또는 블록 변수가 설정되지 않았습니다"입니다. 다른 모듈에 대한 공용 선언은 .... public newPowerPoint as powerpoint.Application Public oPPTApp As Object – broconnor1
'Debug.Print oPPTApp Is Nothing'. immediates 창에서 어떤 일이 발생합니까? –