使用文件pathExcel-VBA打开文件

是否有可能打开所有types的文件从Excel VBA只有文件path? 现在我可以用简单的方式打开工作簿:

Workbooks.Open myDestFilePath 

但如果myDestFilePath真的是一个.pptx文件或其他什么?

您绝对可以使用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打开其他应用程序创build的文件”,简短的答案是否定的。 但是,如果问题是“我可以使用Excel VBA自动执行其他应用程序在非Excel文件上执行操作吗? 答案是肯定的

使用内部调用,不使用API​​。 我没有find太多的东西

 ThisWorkbook.FollowHyperlink "FilePath" 

不会打开

例如:

 ThisWorkbook.FollowHyperlink "D:\My documents\Movie.mov" 

您可以使用ShellExecute VB函数。 只需声明de API头,你就可以直接“调用”一个文件在关联的应用程序中打开它。 这是一个示例代码:

http://www.tomasvasquez.com.br/blog/microsoft-office/usando-a-funcao-shellexecute-no-vba

抱歉的链接,但我从我的iPad写这个答案,这是可怕的格式化代码在这里。 🙁