Office中国论坛/Access中国论坛

标题: shell命令在access2003中不能用,请问还有什么办法可以打开外部任意文件!急! [打印本页]

作者: chanchen    时间: 2006-4-20 23:18
标题: shell命令在access2003中不能用,请问还有什么办法可以打开外部任意文件!急!
shell命令在access2003中不能用,请问还有什么办法可以打开外部任意文件!急!

连接方式打不开*.pdf文件!
作者: chanchen    时间: 2006-4-21 04:48
up!
作者: fan0217    时间: 2006-4-21 04:57
在<<200问>>中有关于这个问题的详细的解决方案.

如果是系统不能识别的文件就会打开打开方式对话框.

[此贴子已经被作者于2006-4-21 20:14:56编辑过]


作者: chanchen    时间: 2006-4-21 22:13
对于你的行为,我无话可说!
作者: andymark    时间: 2006-4-21 22:54
试试这个吧

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

Private Sub Command0_Click()

Call ShellExecute(hwnd, "Open", "Words.pdf", "", CurrentProject.Path, 1)

End Sub

作者: chanchen    时间: 2006-4-22 00:14
谢谢andymark! 但是还是不行!
作者: andymark    时间: 2006-4-22 00:24
我这里可以打开呀
作者: andymark    时间: 2006-4-22 00:27
[attach]17294[/attach]

作者: fan0217    时间: 2006-4-22 04:15
试试这个:

Option Compare Database
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
Private Declare Function GetDesktopWindow Lib "user32" () As Long

Private Const SE_ERR_NOASSOC = 31

Function OpenFile(strFile As String)
'调用示例:Call OpenFile("Words.pdf")
Dim lngResult As Long

    lngResult = ShellExecute(GetDesktopWindow, "Open", strFile, vbNullString, vbNullString, vbNormalFocus)

If lngResult = SE_ERR_NOASSOC Then
    MsgBox "没有相关的程序", 16
End If
End Function

作者: chanchen    时间: 2006-4-22 05:05
谢谢你们!还是不行!

你们是用access2003版本吗?

[此贴子已经被作者于2006-4-21 21:08:49编辑过]


作者: fan0217    时间: 2006-4-22 05:08
这种方法调用的是API函数,可以在97/2000/2002/2003中使用的.
作者: chanchen    时间: 2006-4-22 05:10
我以前用xp版本用shell函数都可以用!
作者: andymark    时间: 2006-4-22 06:16
我的是ACCESS2003的,但这应不关ACCESS版本的问题,

是调用API的,除非你的系统或都OFFICE有问题


[此贴子已经被作者于2006-4-21 22:16:39编辑过]


作者: chanchen    时间: 2006-4-22 15:42
我用的是上海政府版的xpsp2,专业教育版的office2003
作者: chanchen    时间: 2006-4-22 15:50
http://www.office-cn.net/forum.php?mod=viewthread&tid=30403&replyID=&skin=1



这个问题也困扰我很久了!

介绍个好点office2003版本,并请提供地址!
作者: andymark    时间: 2006-4-22 17:13
你用上面代码打开一个WORD 或txt文档,如果可以打开说明API调用没问题

,可能是Adobe Reader的问题了,
作者: chanchen    时间: 2006-4-22 18:21
也是打不开!
作者: chanchen    时间: 2006-4-22 18:32
全新安装系统,立刻安装所有office选项,shell使用正常!
作者: chanchen    时间: 2006-4-22 23:41
我怀疑是office在与api调用方面出现了问题!

有什么办法可以不重装系统进行修复?
作者: fan0217    时间: 2006-4-23 02:35
找一个"shell32.dll"文件替换你系统的"shell32.dll"文件试试




欢迎光临 Office中国论坛/Access中国论坛 (http://www.office-cn.net/) Powered by Discuz! X3.3