MS Access-但是会打开外部文件

时间:2019-03-25 10:28:26

标签: vba ms-access

我试图使按钮在磁盘上的某个位置打开文件。但是我仍然做错了-代码引发了一些错误。我需要帮助。

通常,我尝试编译一些代码,但我做的事很糟糕。我看了这个主题:Open an external file with a button on a form in Access 2007,但是正如我所看到的,该陈述的第一个参数是我要使用的程序.exe的路径。问题是我正在使用公司的计算机,但无法为Acrobat Reader 2017找到类似NOTEPAD.EXE的内容(我应该输入其他内容)吗?

Private Sub Polecenie45_Click()
    Call Shell("""C:\ProgramData\Microsoft\Windows\Start Menu\Programs\Acrobat Reader 2017.exe"" ""C:\Users\myusername\Desktop\p1.pdf""", vbNormalFocus)
End Sub

当我单击按钮时,我想打开我的外部文件-例如(在这种情况下)带有一些图片的pdf文件。

1 个答案:

答案 0 :(得分:0)

我曾经在网络上的某个地方找到过它,不记得在哪里。我将其放在自己的模块中,并通过调用OpenFile并使用完整文件路径作为参数来使用。
此处:

Option Compare Database
Option Explicit

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

Public Function OpenFile(sFileName As String)
On Error GoTo Err_OpenFile

    OpenFile = ShellExecute(Application.hWndAccessApp, "Open", sFileName, "", "C:\", 1)

Exit_OpenFile:
    Exit Function

Err_OpenFile:
    MsgBox Err.Number & " - " & Err.Description
    Resume Exit_OpenFile

End Function

该模块随测试一起提供。您可以运行它:

Public Function TestOpeningFile()
On Error GoTo Err_TestOpeningFile

    OpenFile "C:\Windows\Win.ini"' Replace this line with any file 

Exit_TestOpeningFile:
    Exit Function

Err_TestOpeningFile:
    MsgBox Err.Number & " - " & Err.Description
    Resume Exit_TestOpeningFile

End Function