我创建了一个宏来打开预定程序中的文件(例如,Acrobat for pdf,Word for docs,Excel for xls)。但是,某些程序(如Windows Photo Viewer和Zip File程序)是一个dll文件。如何修改我的代码以使其适用于非.exe应用程序?
Sub PhotoChart()
Dim strPath As String
Dim strProgram As String
strPath = "C:\Libraries\Photos\WeeklyPlanner.png"
strProgram = "C:\Program Files (x86)\Windows PhotoViewer\PhotoViewer.dll"
Call Shell("""" & strProgram & """ """ & strPath & """", vbNormalFocus)
End Sub
Call Shell功能不起作用。计算机发回运行时错误' 5:无效的过程调用或参数。
答案 0 :(得分:1)
尝试在CMD.exe中使用START
命令 - 如果文件类型已在系统注册表中关联,则不需要指定程序。
Shell "CMD /C START " & strPath
(不需要Call
关键字btw)
进一步说明:如果文件没有关联,它仍然应该运行,但会提示您指定一个程序来打开文件。