VBA to identify the name of a PDF file that a user has open

NOTE: this requires you have Adobe Acrobat Standard.

Public Function GetOpenPDF()

On Error GoTo Err_Handler

'This works but requires Adobe Acrobat Standard

'This returns the name (but not the path) of the open PDF file

Dim AcroApp As AcroApp

Dim AcroAVDoc As AcroAVDoc

Dim AcroPDDoc As AcroPDDoc

Set AcroApp = CreateObject("AcroExch.App")

Set AcroAVDoc = CreateObject("AcroExch.AVDoc")


Set AcroAVDoc = AcroApp.GetActiveDoc

Set AcroPDDoc = AcroAVDoc.GetPDDoc

GetOpenPDF = AcroPDDoc.GetFileName

Set AcroDoc = Nothing

Set AcroApp = Nothing


If Err.Number = 91 Then

MsgBox "Cannot find an open PDF form", vbCritical, "Cannot continue"


Debug.Print Err.Description

Exit Function

End If

End Function