excel怎么打开一个外部程序,excel怎么打开外部程序

首页 > 实用技巧 > 作者:YD1662023-11-27 13:16:40

我们知道,在Excel VBA 中,使用Workbooks.open方法,可以打开Excel文件,但是要想拓展VBA的自动办公交互能力,有时还需要打开除Excel之外的其他类型文件。那么打开其他类型的文件在VBA中可以有哪些途径呢?

1.使用VBA中的shell函数

Shell函数是VBA自带的函数,作用是“运行一个可执行程序并在成功时返回表示程序的任务 ID 的 Variant (Double);否则返回零。

语法:shell(pathname, [ windowstyle ])

说明:pathname 指可执行程序的完整路径

windowstyle 可执行程序打开时的窗口样式

使用方法1:shell "explorer.exe spath",spath为待打开的文件完整路径

使用方法2:Shell "rundll32.exe url.dll,FileProtocolHandler spath"

2.使用FollowHyperlink方法

FollowHyperlink方法用于使用默认方式打开一个已存档的文档,或者下载网络文档后使用默认方式打开文档

语法:WorkBook.FollowHyperlink (Address, SubAddress, NewWindow, AddHistory, ExtraInfo, Method, HeaderInfo)

说明:Address, SubAddress为文件的地址和子地址,

使用方法:ActiveWorkbook.FollowHyperlink Address:=spath, NewWindow:=True,spath为待打开的文件完整路径

3.使用shellexecute API函数

shellExecute的功能是运行一个外部程序,或者打开一个已注册的文件、打开一个目录、打印文件等等功能,它可以打开电脑内的任何文件,也可以打开URL。

函数声明:Private Declare Function ShellExecute Lib "shell32.dll" Alias "ShellExecuteA" (ByVal hWnd As Long, ByVal lpOperation As String, ByVal lpFile As String, ByVal lpParameters As String, ByVal lpDirectory As String, ByVal nShowCmd As Long) As Long

说明:hwnd指定父窗口句柄,lpOperation要执行的操作,可以为open(默认,表示打开文件)、explort(打开文件夹)、print(打印文件),lpParamete指定可执行程序的参数(发开文件时应为null)lpFile指定待操作的文件,lpDirectory指定默认目录,nShowCmd指定窗口显示方式。

使用方法:ShellExecute(NULL,"open",spath,NULL,NULL,1);

栏目热文

文档排行

本站推荐

Copyright © 2018 - 2021 www.yd166.com., All Rights Reserved.