打开外部文档的3种方式及应用-trynew
Access软件网QQ交流学习群(群号码198465573),欢迎您的加入!
首页 >技术文章> Access数据库-模块/函数/VBA


打开外部文档的3种方式及应用

发表时间:2008/10/28 13:28:02 评论(0) 浏览(8680)  评论 | 加入收藏 | 复制
   
摘 要:
正 文:

単宿単飞単 09:18:43
对了,,
现在遇到一个问题,,
就在怎么用代码打开CHM格式的自定义帮助文件?
 
Trynew 09:21:08
如果是整个打开比较简单 
 
単宿単飞単 09:21:28
是啊,,是整个,,,
Trynew 09:21:28
不是关联到那个义项 
 
単宿単飞単 09:23:29
我用SHELL函数只能打开EXE格式的文件,,
単宿単飞単 09:24:58
要不要把那个文件发给你/?
Trynew 09:25:17
仿Windows桌面的通用界面
 
Trynew 09:25:40
你有我这个例程吗?
 
単宿単飞単 09:26:18
没有,,
我电脑被偷了,,好多东东都没了
単宿単飞単 09:27:11
文件“仿Windows桌面的通用界面.rar”(230KB)已经发送完毕。
単宿単飞単 09:28:50
这个文件具体应用有哪些?
Trynew 09:30:33
就像桌面的快捷方式一样,可以打开各种文档
 
Trynew 09:30:38
        Dim oApp As Object
        Set oApp = CreateObject(strTarge)
        oApp.Visible = True
 
Trynew 09:31:09
好像可以用三种方式打开外部文档
 
Trynew 09:33:29
SHELL函数、Ole文档方式、超级链接方式
 
Trynew 09:33:48
超级链接方式最简单
 
単宿単飞単 09:36:15
就以刚才打开 为例应该用什么方式打开?
単宿単飞単 09:37:39
我想用一个命令按扭,,来打开这个文件,,
Trynew 09:37:46
Application.FollowHyperlink "c:\xx.txt", , True
 
単宿単飞単 09:39:18
Application.FollowHyperlink "c:\Uritest.chm", , True
这样行不?
Trynew 09:39:51
你在立即窗口试一试就可以了
 
単宿単飞単 09:40:06
好的

Trynew 09:40:17
一般双击能打开的文件都行
 
Trynew 09:42:57
可以使用相对路径:CurrentProject.Path
 
Trynew 09:43:16
就是当前文件所在路径
 
単宿単飞単 09:43:35
我试了下,,可以,,但有一个提示框,,,怎么消除?
Trynew 09:44:36
什么提示框?可能是安全性提示吧
 
単宿単飞単 09:45:35
是啊
単宿単飞単 09:45:55
 
単宿単飞単 09:46:09
就是这个,,
每次打开都有,,
単宿単飞単 09:47:08
用SHEEL函数可不可以打开?
Trynew 09:47:21
把access的安全属性设为低就可以了
 
Trynew 09:47:56
不过这跟每台机有关
 
単宿単飞単 09:48:57
我已经设为低了,,
但还是有啊
Trynew 09:49:55
你直接双击帮助文件没有提示吗?
 
単宿単飞単 10:00:40
没有
Trynew 10:01:25
我这试了也有
 
Trynew 10:01:53
就跟在浏览器中打开文件一样有提示 ,但打开文 
 
単宿単飞単 10:07:13
这个提示能不能用代码消除的?
Trynew 10:09:31
那就用call shell语句
 
単宿単飞単 10:11:28
但可以打开这个格式的文件吗?
単宿単飞単 10:11:54
好像这个SHELL函数只能打开EXE格式的文件
Trynew 10:12:17
后面可以带参数的
 
単宿単飞単 10:13:07
怎么用?
Trynew 10:31:00
Call Shell("hh.exe ""c:\xx.chm", 1)
 
 
Trynew 10:31:27
后面的参数必须带双引号,挺麻烦的
 
単宿単飞単 10:36:42
前面的那个hh.exe是用来打开CHM文件的工具吗?
Trynew 10:36:57
是的
 
Trynew 10:38:20
字符串中包含双引号是用连续两个双引号表示的
 
単宿単飞単 10:38:32
假如是这样,,就不能用相对路径了,,,
Trynew 10:38:46
也可以呀
 
Trynew 10:39:31
用 & 连接字符串就可以了
 
Trynew 10:39:54
也可以用chr(34)代表双引号
 
単宿単飞単 10:40:12
我试试
単宿単飞単 10:41:40
Call Shell("hh.exe" & CurrentProject.Path & "\Uritest.chm", 1)
 
Trynew 10:42:39
Call Shell("hh.exe""" & CurrentProject.Path & "\Uritest.chm", 1)
 
Trynew 10:43:14
 Call Shell("hh.exe """ & CurrentProject.Path & "\Uritest.chm", 1)
 
単宿単飞単 10:46:46
它原理是什么啊,,
为什么是这种格式
Trynew 10:48:25
dos的命令就是要可执行文件后面一个空格再跟双引号和参数
 
Trynew 10:49:01
Shell就是执行dos命令
 
Trynew 10:51:38
 
或是命令执行窗口的命令行
 
単宿単飞単 10:52:41
比较深一点,,,
呵呵
Trynew 10:53:21
所以说用超级链接的方式简单一点
 
単宿単飞単 10:54:07
那倒是,,只是那个提示框去不掉,,不然还真是简单多了

Trynew 10:55:00
如果用ole方式,还得知道这类文档在windows中的文件类型的名称,还要麻烦
 
Trynew 10:56:01
我发给你的程序,几种方式都有用到
 
単宿単飞単 10:56:43
恩,,
要花点时间才能理清思路,,

単宿単飞単 10:57:13
好像那个程序运行后不能返回原来那个,,,
Trynew 10:57:42
shell 方式要知道他的可执行文件名称位置
 
 
Trynew 10:57:52
ole方式,还得知道这类文档在windows中的文件类型的名称
 
単宿単飞単 10:58:38
但hh.exe 没有列出它的路径所在啊
 
Trynew 10:59:43
那是因为hh.exe就在windows目录中,在命令行的默认路径中
 
Trynew 11:01:11
有些已在windows中注册,windows就能找到它们
 
Trynew 11:02:31
这是调用、打开外部文档的常用3种方式
 
Trynew 11:02:46
ole方式功能最强:

        Dim oApp As Object
        Set oApp = CreateObject("Word.Application")
        oApp.Documents.Open "c:\xx.doc"
        oApp.Visible = True
 
Trynew 11:03:46
可以在程序中控制打开的文档,就跟自己的一个控件一样
 
単宿単飞単 11:05:28
那是,,功能强大的当然要复杂点

Trynew 11:08:08
总结一下:
1、超链接方式,只需要给出文档及路径:
Application.FollowHyperlink "c:\xx.txt", , True
2、命令行形式,避免出现提示窗口,并可指定使用什么程序打开文档。但需要知道可执行程序的名称及路径,后面的文档名称需要使用双引号。双引号在VBA用连续的两个双引号或者Chr(34)表示:
 Call Shell("hh.exe """ & CurrentProject.Path & "\Uritest.chm", 1)
3、用Ole对象方式,需要打开文档的程序支持Ole并知道其在Windows的对象名称,一般用在Excel、Word等程序及文档居多,功能最强也比较复杂:
        Dim oApp As Object
        Set oApp = CreateObject("Word.Application")
        oApp.Documents.Open "c:\xx.doc"
        oApp.Visible = True


Access软件网交流QQ群(群号:198465573)
 
 相关文章
[分享]Stream保存外部文件   【andymark  2009/10/13】
分别使用DAO和ADO连接外部数据库和Sql Server数据库  【guotianxin   2009/11/7】
运行外部命令  【王樵民  2010/3/2】
引用外部图片  【re5956  2010/4/28】
运行外部命令计算器用shell函数\调用系统计时器命令的示例  【风行  2011/4/22】
常见问答
技术分类
相关资源
文章搜索
关于作者

trynew

文章分类

文章存档

友情链接