使用文件路径Excel-VBA打开文件
是否可以使用文件路径从excel vba打开所有类型的文件?现在我可以用简单的打开的工作簿:使用文件路径Excel-VBA打开文件
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打开其他应用程序创建的文件”,简单的答案是否定的。但是,如果问题是“我可以使用Excel VBA自动执行其他应用程序对非Excel文件执行操作吗?”答案是肯定的。
那么该pptx文件已经创建...我只是想在用户输入信息后打开它...然后我找到文件路径。当我有文件路径时,我想打开位于该位置的文档。 – thebiglebowski11 2012-03-07 23:09:31
我可能会打开除PowerPoint之外的其他东西,可能是Word文档或其他一些CAD软件文档 – thebiglebowski11 2012-03-07 23:10:08
一般而言,如果您要在VBA中执行此操作,您将被限制为Office文档(除非VBA自动化库已经完成提供给你的特定应用程序)。如果我可能会问,一旦打开文件,你会怎么做? – hexboy 2012-03-07 23:17:05
您可以使用ShellExecute VB函数。只需声明de API标头,并且可以直接“调用”文件以在关联的应用程序中打开它。下面是一个例子代码:
http://www.tomasvasquez.com.br/blog/microsoft-office/usando-a-funcao-shellexecute-no-vba
很抱歉的链接,但我从我的iPad上写这个答案,它的可怕在这里格式化代码。 :(
要使用内部呼叫,没有一个API我还没有发现太多,
ThisWorkbook.FollowHyperlink "FilePath"
不会打开
例如:
ThisWorkbook.FollowHyperlink "D:\My documents\Movie.mov"
你可以用' Shell()'在其默认应用程序中打开任何文档(假设这种文件存在一个现有的文件类型关联) – 2012-03-08 00:56:32
http://www.erlandsendata.no/english/index.php?d=envbafoldersfileopen或http: // SUP port.microsoft.com/kb/170918 – 2012-03-08 01:04:43