在Access窗体中显示pdf会在初始化屏幕上停滞不前

时间:2015-11-25 15:51:51

标签: vba ms-access access-vba

我正在尝试在Access窗体中显示pdf文件,但我的代码只能运行一次。当我关闭Access应用程序并重新打开它时,Acropdf没有显示pdf,它只是卡在这个屏幕上:

enter image description here

Private Sub Command1_Click()
    Dim strPdfDoc As String
    'Below is my source
    strPdfDoc = "F:\Grifols\files\Unified Region TemplateV1_0_Budget.pdf"
    'Here I am loading the pdf file with Acropdf 
    AcroPDF0.loadFile strPdfDoc
End Sub

调试代码时没有错误,但pdf从不显示。

4 个答案:

答案 0 :(得分:0)

检查您的Adobe Reader版本是否是最新的,并用此替换您的代码。我能够多次加载文件,关闭并重新打开并重新加载。

Private Sub Command1_Click()
    Dim pdf As AcroPDF
    Set pdf = Me.AcroPDF0.Object
    pdf.LoadFile "F:\Grifols\files\Unified Region TemplateV1_0_Budget.pdf"
End Sub

答案 1 :(得分:0)

我找到了一个适合我的解决方案,this link

要解决Acrobat Reader XI的初始化屏幕,只需在启动时禁用"启用保护模式"

答案 2 :(得分:0)

我安装了Acrobat Reader DC,我从此链接降级到11 https://helpx.adobe.com/acrobat/kb/install-reader-x-windows.html

并更改了以下注册表设置以使其正常工作

要在启动配置时禁用“启用保护模式”,请导航到以下注册表项:

HKEY_CURRENT_USER \ Software \ Adob​​e \ Acrobat Reader \ DC \ Privledged

...然后将bProtectedMode REG_DWORD值修改为0以禁用,将1修改为启用:

在此链接中找到了它 http://terenceluk.blogspot.co.uk/2016/01/disabling-enable-protected-mode-at.html

答案 3 :(得分:0)

我为此问题苦苦挣扎了很长时间,这只是在以管理员身份运行EXE时才发生的。

我的解决方法如下:

  1. 设置EXE编译为x86 CPU
  2. 将PDF输出路径更改为ProgramData:“ C:\ ProgramData(Client)(Project)”
  3. 更新代码以首先调用“ AxAcroPDF1.LoadFile(PDFfilepath)”,然后调用“ AxAcroPDF1.src = PDFfilepath”

重要提示:如果由于某种原因需要在Windows Server上运行该应用程序,则需要安装32位版本的Crystal Runtime。