Google Groups no longer supports new Usenet posts or subscriptions. Historical content remains viewable.
Dismiss

Set AcroPDDoc=CreateObject("AcroExch.PDDoc") El componente ActiveX

1,021 views
Skip to first unread message

nEk

unread,
Dec 5, 2006, 8:26:03 AM12/5/06
to
Hola!
He creado una aplicación que crea documentos pdf de los informes de Access.
Luego tengo una función que me une diversos archivos pdf.

Esta es:
Dim frm As Form
Dim ctl As Control
Dim AcroPDDoc As CAcroPDDoc
Dim PDDoc As CAcroPDDoc
Dim b As Variant
Dim intAantal, intAantal2, intAantal3 As Integer
Dim i As Integer

i = 0

Set frm = Forms!F_crear_pdf
Set ctl = frm!lstllistats

For j = 0 To ctl.ListCount - 1
'''''''
If j <> 0 Then
If j = 1 Then
Set AcroPDDoc = CreateObject("AcroExch.PDDoc")
b = AcroPDDoc.Open("c:\actualitzador\" &
Me.lstllistats.ItemData(j - 1) & ".pdf")
'b = AcroPDDoc
intAantal = AcroPDDoc.GetNumPages

Set PDDoc = CreateObject("AcroExch.PDDoc")
b = PDDoc.Open("c:\actualitzador\" &
Me.lstllistats.ItemData(j) & ".pdf")
intAantal2 = PDDoc.GetNumPages
b = AcroPDDoc.InsertPages(intAantal - 1, PDDoc, 0,
intAantal2, False)
Else
Set PDDoc = CreateObject("AcroExch.PDDoc")
b = PDDoc.Open("c:\actualitzador\" &
Me.lstllistats.ItemData(j) & ".pdf")
intAantal3 = PDDoc.GetNumPages
b = AcroPDDoc.InsertPages(intAantal2 + i, PDDoc, 0,
intAantal3, False)
i = i + 1
End If
End If
Next j

b = AcroPDDoc.Save(1, txtruta & "\" & txtnompdf & ".pdf")
End Sub

Pues el problema es el siguiente:
Yo tengo instalado el Adobe Acrobat 7.0 Standard, en los otros equipos donde
va instalada la aplicación tienen Adobe Acrobat Reader 6.0.
Me crea los documentos pdf bien pero me "peta" en la siguiente linea.
Set AcroPDDoc = CreateObject("AcroExch.PDDoc")
"El componente ActiveX no puede crear el objeto".
Que puedo hacer? Alguien se ha encontrado con esta situación?
Otra cosa... Px la siguiente declaración de variables:
Dim AcroPDDoc As CAcroPDDoc
Dim PDDoc As CAcroPDDoc

A veces me la encuentro que empieza con C y otras no (AcroPDDoc)?
Por favor, no me sirve PDF995, etc. Tendria que ser algo relacionado con
Adobe.

Gracias x tu tiempo!

Message has been deleted

Miguel

unread,
Dec 5, 2006, 8:40:45 AM12/5/06
to
Hola

Pienso que es un problema de compatibilidad, la libreria 7.0 que usas no es
compatible con la 6.0
usas una funcion de la 7.0 que no esta en la 6.0, la solucion mas practica y
sencilla es que distribullas las librerias de la 7.0 y que en las
referencias muevas la referencia de la 7.0 y la pongas por encima de la 6.0
para que no te de ese error.

Otra solucion mas drastica es instalar el 7.0 en todos los ordenadores y
diciendo que el programa funciona con adobe 7.0 o superior, pero esta
solucion para por tener un buen comercial que convenza al jefe de la empresa
cliente que es mejor la 7.0 que la 6.0

saludos.

"nEk" <n...@discussions.microsoft.com> escribió en el mensaje
news:A010E763-AF5F-471A...@microsoft.com...

nEk

unread,
Dec 5, 2006, 10:39:00 AM12/5/06
to
Hola Miguel,
he distribuido las librerias y he movido las referencias. Pero me sigue
dando el mismo error.
Te comento las librerias que utilizo... són:
acrobat.dll
AcroPDF.dll

Gracias!

Miguel

unread,
Dec 10, 2006, 11:41:14 AM12/10/06
to
utiliza la herramienta depends que viene con visual basic para ver todas las
depencias de esas librerias. y mira que las distribuyas todas.

usando esta herramienta veo que hay muchas librerias como la AGM.dll,
cooltype.dll, etc que son dependencias de acrobat.dll entre otras, entonces,
asegurate que cada libreria de las que depende acrobat tienen la misma
versión cuando la instalas en el cliente.
debes hacer una labor de investigación bastante exaustiva y entender como
funcionan el registro de las dll si quieres solucionar el problema. de paso,
ya lo sabes para otras veces.

mira con esta herramienta las librerias que dependen y estas a su vez las
que dependen de otras y debes ver las versiones de cada una.

apuntalas en un papel y hazte un croquis de las librerias para llevar un
control. con esta herramienta, tambien ves de cada libreria las funciones
que tiene cada libreria asi, podras ver si la funcion que falta esta en la
libreria que distribuyes y en que libreria esta.

no se si me explico bien, mira a ver si me entiendes.


"nEk" <n...@discussions.microsoft.com> escribió en el mensaje

news:CE2BEF65-3265-4F17...@microsoft.com...

nEk

unread,
Dec 12, 2006, 6:43:01 AM12/12/06
to
Hola y gracias Miguel,
lo hice pero me continua sin funcionar. Me da el mismo error.
He copiado todas las dll que dependen de acrobat.dll y las que dependen de
estas, pero... no hay manera...

Miguel

unread,
Dec 14, 2006, 7:44:25 AM12/14/06
to
hola
yo probaria a hacer lo siguiente: quitar la referencia al adobe acrobat y
declarar todas las variables con object, de esta forma, aunque gastes mas
memoria y algunos milisegundos, que para el caso creo que puedes soportar
esta perdida, el programa te buscara el objeto mas adecuado al codigo que
vas a usar.

y si te sigue dando el error de que no encuentra la funcion, es que no
tienes en el ordenador la libreria correcta.

prueba a ver. saludos.


"nEk" <n...@discussions.microsoft.com> escribió en el mensaje

news:84CD41AC-92BB-4CDF...@microsoft.com...

0 new messages