Вы можете абсолютно использовать Excel VBA для автоматизации других приложений, но вам нужно использовать правильный объект приложения для задачи. Если вы пытаетесь открыть файлы PowerPoint, вам нужно будет использовать PowerPoint для этого. Вот грубый пример:
'remember to add the powerpoint object library (Tools->References)
Sub OpenPPTFile()
Dim pptApp As PowerPoint.Application
Dim pptPres As PowerPoint.Presentation
Set pptApp = New PowerPoint.Application
Set pptPres = pptApp.Presentations.Open("filename.pptx")
'here you can add code to have powerpoint do all kinds of nifty things to your file
pptPres.Close
pptApp.Quit
Set pptPres = Nothing
Set pptApp = Nothing
End Sub
Так что, если ваш вопрос «Могу ли я использовать Excel, чтобы открыть файлы, созданные другими приложениями», короткий ответ: нет. Однако, если вопрос: «Могу ли я использовать Excel VBA для автоматизации других приложений для выполнения операций с файлами, отличными от Excel?» ответ - да.
Вы можете использовать ' Shell() ', чтобы открыть любой документ в своем приложении по умолчанию (при условии, что существует существующая ассоциация типов файлов для такого файла). –
http://www.erlandsendata.no/english/index.php?d=envbafoldersfileopen или http: // вир port.microsoft.com/kb/170918 –