簡體   English   中英

使用VBA打開Acrobat文件

[英]Opening Acrobat Files using VBA

我正在從一個論壇主題中閱讀: https//forums.adobe.com/thread/604177,並開始對其進行試驗。 但是我認為該功能根本沒有加載。 我不確定它背后的原因是什么-我認為它必須簡單並且可能與庫有關。 有人可以幫忙指出為什么以下代碼根本無法編譯(該代碼似乎沒有立即執行,因為沒有觸發任何斷點)。

我加載的庫包括

  • 雜技演員蒸餾器
  • Adobe Acrobat 10.0類型庫
  • Acrobat Scan 1.0類型庫

執行此代碼的計算機上已安裝Acrobat Professional。

Public Function GetPDF() '(FilePath As String) As Object
    Dim origPdf As Acrobat.AcroPDDoc
    Dim path1 As String
    MsgBox ("Start")

    path1 = Application.ActiveWorkbook.Path
    path1 = path1 & "\31700100.pdf"

    Set origPdf = CreateObject("AcroExch.PDDoc")

    If origPdf.Open(path1) Then
        MsgBox ("weee")
    End If

    origPdf.Close
    Set origPdf = Nothing
End Function

為此創建一個模塊:

Public 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

Sub GetPDF()
    Dim path1 As String

    MsgBox "Start"

     path1 = Application.ActiveWorkbook.Path
     path1 = path1 & "\31700100.pdf"

    ShellExecute 0, "Open", path1, "", "", _        
    vbNormalNoFocus
End Sub

在VBA中打開文檔將要求您具有Acrobat App對象。 一旦函數中有一個應用程序對象,該代碼就會起作用。

Public Function GetPDF (FilePath As String) As Object
    Dim ArcoApp As New Acrobat.AcroApp
    Dim OriPdf As New Acrobat.AcroPDDoc

    Set ArcoApp = CreateObject("AcroExch.App")
    Set OriPdf = CreateObject("AcroExch.PDDoc")

    If OriPdf.Open(FilePath) Then
        MsgBox ("weee")
    End If

    GetPDF = OriPdf

    OriPdf.Close
    AcroApp.Close
    Set OriPdf = Nothing
    Set AcroApp =  Nothing
End Function

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM