我在PowerPoint中创建一个宏来以编程方式替换图片。 我试图在PowerPoint宏的末尾创建一个excel表。 首先,我想检查summery文件是否存在。如果是,则代码应检查它是否打开。 如果它是打开的,代码应该关闭它。最后代码应删除它。 到目前为止,我已成功检查文件并删除文件。 但如果文件打开则关闭文件似乎有点困难。 任何帮助将不胜感激。 提前谢谢。
以下是我的代码的一部分。
'Get the active presentation name
pressName = ActivePresentation.Name
Pos = InStrRev(pressName, ".")
Pos = Pos - 1
pressName = Left(pressName, Pos)
excelFileName = pressName & "_Summery.xlsx"
'Create path from active presentation
excelFilePath = ActivePresentation.Path & "\" & excelFileName
'Check if excel exists
If Dir(excelFilePath) <> "" Then
''''''''''''''''''''''''''''''''''''''''''''''''''''''''
''Here code to check if file is open if yes then close''
''''''''''''''''''''''''''''''''''''''''''''''''''''''''
SetAttr excelFilePath, vbNormal
Kill excelFilePath
End If
答案 0 :(得分:1)
我在if statement
:
If Dir(excelFilePath) <> "" Then
'--------------new section
On Error Resume Next
Dim xlsFile As Object
Set xlsFile = GetObject(excelFileName)
If Err.Number = 432 Then
'file is not open, do nothing
Else
xlsFile .Close False
'set true above is you need to save file when closing
End If
On Error GoTo 0
'--------------new section
SetAttr excelFilePath, vbNormal
Kill excelFilePath
End If
此代码适用于我的简单测试演示。我希望它也适合你。