设为首页收藏本站Access中国

Office中国论坛/Access中国论坛

 找回密码
 注册

QQ登录

只需一步,快速开始

返回列表 发新帖
查看: 3570|回复: 7
打印 上一主题 下一主题

[多媒体] 请问用VBA如何打开文件?

[复制链接]
跳转到指定楼层
1#
发表于 2014-8-9 10:59:50 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
    效果:一个文本框里有文件的完整路径,点击按钮打开这个文件。
    要求:文件类型不确定,客户端安装了什么软件也不确定。比如,一个.doc文件可以用Word打开,也可以用WPS打开。.zip文件可以用WinZip打开,也可以用WinRAR打开。客户端装了什么软件无法预测。我想实现的效果,就相当于双击了这个文件,系统默认是什么软件就用什么软件打开。

    请前辈指点?晚生谢过!
分享到:  QQ好友和群QQ好友和群 QQ空间QQ空间 腾讯微博腾讯微博 腾讯朋友腾讯朋友
收藏收藏 分享分享 分享淘帖 订阅订阅

点击这里给我发消息

2#
发表于 2014-8-9 12:07:33 | 只看该作者
又一个Shell的 API函数,可以打开任意文件。你可以百度一次。网上这方面的资料很多

点击这里给我发消息

3#
发表于 2014-8-9 12:08:23 | 只看该作者
Shell函数 本身也可以打开任意文件。不过推荐用Shell的相关API函数
4#
 楼主| 发表于 2014-8-9 13:28:25 | 只看该作者
盗梦 发表于 2014-8-9 12:08
Shell函数 本身也可以打开任意文件。不过推荐用Shell的相关API函数

能推荐两个学习一下吗?

点击这里给我发消息

5#
发表于 2014-8-9 14:55:47 | 只看该作者
网络蜘蛛 发表于 2014-8-9 13:28
能推荐两个学习一下吗?

百度就有了 “ VB 打开任意文件 ”
网上很多的
6#
发表于 2014-8-9 18:00:48 | 只看该作者
本帖最后由 todaynew 于 2014-8-9 18:02 编辑

if Shell("explorer.exe " & "文件地址", vbNormalFocus)=0 then exit sub
7#
 楼主| 发表于 2014-8-9 22:22:05 | 只看该作者
盗梦 发表于 2014-8-9 12:08
Shell函数 本身也可以打开任意文件。不过推荐用Shell的相关API函数

Option Explicit
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 '首先利用API中的ShellExecute函数,使用此函数可打开任意后缀名的文件
Private Sub Command1_Click()
ShellExecute Me.hwnd, "open", "D:\123.txt", vbNullString, vbNullString, vbNormalFocus ‘具体打开指定目录的文件
End Sub

您说的是这个不?是不是应该用case 判断它的返回值,如果出错好给个反馈。

点击这里给我发消息

8#
发表于 2014-8-12 09:00:12 | 只看该作者
网络蜘蛛 发表于 2014-8-9 22:22
Option Explicit
Private Declare Function ShellExecute Lib "shell32.dll" Alias "ShellExecuteA" (By ...

是的
您需要登录后才可以回帖 登录 | 注册

本版积分规则

QQ|站长邮箱|小黑屋|手机版|Office中国/Access中国 ( 粤ICP备10043721号-1 )  

GMT+8, 2024-4-27 06:44 , Processed in 0.101560 second(s), 31 queries .

Powered by Discuz! X3.3

© 2001-2017 Comsenz Inc.

快速回复 返回顶部 返回列表