tags:

views:

60

answers:

2

I want to programmatically fill in some fields in a form in PDF format.

I tried this code:

Set objAdobe = CreateObject("AcrobatReader.Application")
objAdobe.Visible = True 

I get the "ActiceX component can't create object" error.

A: 

The OLE automation interface is only provided by Adobe Acrobat, not Adobe Reader.

If you have Adobe Acrobat installed, you can launch it from VBScript like this:

Set oAcrobat = CreateObject("AcroExch.App")
oAcrobat.Show

For a complete reference of Acrobat's automation API, see the "OLE Automation" section of this document.

Helen
Unfortunately, I only have Adobe Reader. Thanks.
Geoffrey Van Wyk
A: 

Try the windows API ShellExecute function. Not sure of the VB syntax (this works in FoxPro)...

DECLARE INTEGER ShellExecute IN shell32.dll ; 
  INTEGER hndWin, ; 
  STRING cAction, ; 
  STRING cFileName, ; 
  STRING cParams, ;  
  STRING cDir, ; 
  INTEGER nShowWin
cFileName = "d:\MyDocs\myfile.pdf"
cAction = "open"
ShellExecute(0,cAction,cFileName,"","",1)

...but the user will have to fill in the fields by hand.

Gavin