Ошибка инициализации PDF reDirect ProFinding для объединения двух файлов - PullRequest
0 голосов
/ 05 мая 2018

Я нашел этот код, который должен найти два совпадающих pdf-файла и объединить их в 1 pdf-файл всегда в том же порядке. Файл 1, затем Файл 2.

Код соответствует именам файлов, основываясь на первой части имени файла, перед AnotherWord 2014.pdf или перед SomeWord.pdf.

  • Пример имени документа1: Джон Доу SomeWord.pdf
  • Пример имени документа2: Джон Доу AnotherWord 2014.pdf

Я использую PDF reDirect Pro v2.5.2 (бесплатная) и ссылку на программу.

У меня проблема в том, что линия

Dim oPDF As New PDF_reDirect_v25002.Batch_RC_AXD

Это дает мне ошибку:

Определяемый пользователем тип не определен

Как я могу это исправить?

Это весь код:

    Private Sub Knop0_Click()

'Only works with PDF reDirect Pro v2.5.2
'And needs to have a reference to PDF_reDirect_v2500 and PDF reDirect Pro Remote Control
Dim fs As Object
Dim fld As Object
Dim fld2 As Object
Dim objFile As Object
Dim objFile2 As Object
Set fs = CreateObject("Scripting.FileSystemObject")
Dim oPDF As New PDF_reDirect_v25002.Batch_RC_AXD
Dim TempBool As Boolean
Dim Files_to_Merge(1) As String
Dim ObjFileName() As String
Dim CellNameValue() As String
Dim ofn As String
Dim cnv As String
Dim i As Integer

Set fld = fs.GetFolder("C:\pdf")
Set fld2 = fs.GetFolder("C:\pdf\merged")
i = 1

For Each objFile In fld.files
For Each objFile2 In fld.files
    CellNameValue() = Split(objFile.Name, " SomeWord.pdf")
    cnv = CellNameValue(0)
    ObjFileName() = Split(objFile2.Name, " AnotherWord 2014.pdf")
    ofn = ObjFileName(0)
    Files_to_Merge(1) = fld & "\" & ofn & " AnotherWord 2014.pdf"
    Files_to_Merge(0) = fld & "\" & cnv & " SomeWord.pdf"
    If StrComp(ofn, cnv) = 0 Then
    With oPDF

        TempBool = .Utility_Merge_PDF_Files(fld2 & "\" & ofn & " AnotherWord 2014.pdf", Files_to_Merge) 'The file merges here unless it generates an error and goes to If Not TempBool Then...

        If Not TempBool Then
            MsgBox "An Error Occured: etc."
        Else
            'Optional
        End If
    End With
    End If
    i = i + 1
    Next objFile2
     i = i + 1
    Next objFile
    Set oPDF = Nothing
End Sub

1 Ответ

0 голосов
/ 07 мая 2018

Как я уже говорил в моих комментариях, это должно работать, если ваша пробная версия Pro по-прежнему разрешит эту функцию.

Вы просто должны убедиться, что используете правильную версию объекта, зарегистрированного в вашей системе.

Можете ли вы удалить строку Dim oPDF As New PDF_reDirect_v25002.Batch_RC_AXD и начать перепечатывать ее с нуля, а не копировать / вставлять? Отображается ли объект для инструмента в Intellisense, когда вы начинаете вводить PDF_Re

Поместите в объект, который он находит PDF_reDirect_v2500, если это то, что он есть - тогда введите . и начните вводить Batch, чтобы заполнить последнюю часть. Вы должны использовать текущую версию ссылки на объект.

Скомпилируйте ваш код и посмотрите, не пройдет ли эта строка

...