我想通过Excel中的VBA关闭PPT。问题出在代码“ PP.Close”上。 (最后一行代码)
有人知道我该如何解决这些问题?
致以问候,并预先感谢
Sub Saveas_PPT()
Dim PP As PowerPoint.Presentation
Dim Sl As PowerPoint.Slide
Dim sh As Variant
Dim company As String
'Dim ws_company As Worksheet
Set Dropdown.ws_company = Tabelle2
company = Dropdown.ws_company.Range("C2").Value
Dim strPOTX As String
Dim strPfad As String
Dim pptApp As Object
strPfad = "C:\Users\Michael\" 'Ordner der Vorlage
strPOTX = "Test.pptx" 'Hier theoretisch auch
filepicker möglich
Set pptApp = New PowerPoint.Application
Dim pptVorlage As String
pptVorlage = strPfad & strPOTX
Set PP = pptApp.Presentations.Open(pptVorlage)
pptApp.ActivePresentation.UpdateLinks
' Dim x As Integer
' For Each prs In PP.Application.Presentations
'
' x = x + 1
'
'If x > 1 Then
''pptApp.ActivePresentation.Close ' Hier auch
' 'PP.Close 'Problem: Hier wird alles geschlossen
' Exit Sub
'End If
' Next prs
'pp.Application.Quit 'vorher FUnktion die schaut ob mehr als eine PPT offen sind. Wenn nur eine dann quit, sonst nur diese hier schließen
pp.Close
End Sub
答案 0 :(得分:0)
我的建议是使用AppActivate函数。
它需要窗口的标题。
我不确定它是否可以正常运行,但至少正确的演示文稿将处于活动状态。
AppActivate("the PowerPoint title")
用Windows标题替换the PowerPoint title
。
如果这也失败了,也许可以在其后按ALT + F4使用sendkey关闭活动窗口,该窗口应该是您想要的演示文稿。