2013-07-26 7 views
0

Я нашел сообщение о here о том, как заполнить заполняемый PDF-файл из MS Access.Заполните форму PDF из MS Access

Это код Visual Basic для заполнения заполняемого PDF-файла. Я использовал Excel для выполнения этой функции и хотел бы перенести мою базу данных в Access и по-прежнему поддерживать те же функции. Я выяснил, как добавить свой код VB к кнопке, но когда я нажимаю, он дает мне и ошибку. Любая помощь, которая может быть дана, будет с благодарностью.

У меня есть Adobe Acrobat X Pro и MS Access 2010. Мои файлы PDF были созданы словом, а затем преобразованы в файл PDF, я знаю все имена полей, потому что я их создал. PDF-документ сохраняется как c: \ CX.pdf, он имеет 9 страниц, некоторые примеры имен полей в документе: «Название завода», «Место станции», «Установщик или владелец». Мои поля базы данных MS Access называются одинаковыми.

Option Compare Database 

Private Sub Command105_Click() 

Dim FileNm, gApp, avDoc, pdDoc, jso 

FileNm = "c:\CX.pdf" 'File location 
Set gApp = CreateObject("AcroExch.app") 

Set avDoc = CreateObject("AcroExch.AVDoc") 
If avDoc.Open(FileNm, "") Then 
    Set pdDoc = avDoc.GetPDDoc() 
    Set jso = pdDoc.GetJSObject 

    jso.getField("CX[0].Page1[0].Plant_Name[0]").Value = "Plant_Name" 
    jso.getField("CX[0].Page1[0].Station_Location[0]").Value = "Station_Location" 
    jso.getField("CX[0].Page1[0].Installer_or_Owner[0]").Value = "Installer_or_Owner" 
    pdDoc.Save PDSaveIncremental, FileNm 'Save changes to the PDF document 
    pdDoc.Close 
    End If 
'Close the PDF; the True parameter prevents the Save As dialog from showing 
avDoc.Close (True) 

'Some cleaning 
Set gApp = Nothing 
Set avDoc = Nothing 
Set pdDoc = Nothing 
Set jso = Nothing 

End Sub 

Это дает мне сообщение об ошибке «Объект не найден», то теперь это не дает мне ошибку, но она по-прежнему не писать в формате PDF.

+0

Вы должны (как минимум) указать точный код, который вы используете, и сообщение об ошибке, которое вы получите. (обратите внимание: правильно, что вы не должны публиковать в другом вопросе, если у вас есть какие-либо проблемы, вы должны опубликовать свой собственный вопрос, что он закрыт и принят, даже если от одного и того же автора). –

+0

@Adriano Я добавил код к своему вопросу. –

+0

1) Объект не найден в строке? 2) Вы уверены, что зарегистрированы объекты AcroEch.XYZ COM ??? –

ответ

0

Это немного устарело, но это помогло мне в долгосрочной перспективе. Я выяснил, что случилось. «Объект не найден» означает, что код не может найти поле PDF, и поэтому вы не можете назначить что-либо объекту, возвращаемому «getFeild()». Наиболее вероятным виновником является то, что «путь» к полю неверен. Попробуйте просто поместить имя поля, и вам может потребоваться экспортировать данные в файл FTF и прочитать файл в блокноте, чтобы найти имя поля.

имена полей будут выглядеть

T/(FeildName)v/(FeildValue) 

После того, как объект фактически возвращается вы сможете присвоить ему значение.

Смежные вопросы