Macros de Actualizar y Publicar

21/08/2006 - 01:26 por Bart | Informe spam
Hola, a continuación expongo dos situaciones, una es un ERROR que se genera
dentro de una Macro que la detiene, y otra es una interrogante de cómo
realizar un procedimiento, me explico:

En la MACRO que anexo más abajo se desea TOMAR la DATA de otras hojas
relacionadas y de esta manera actualizar el contenido de la hoja en donde me
encuentro. El ERROR que detiene la macro se produce cuando una de las hojas
de donde se lee la información (Hoja 1.xls u Hoja 2.xls) se encuentra abierta.

La Macro:

Dim RutArchivo
RutArchivo = ThisWorkbook.Path & "/"
ActiveWorkbook.UpdateLink Name:= _
RutArchivo & "Hoja 1.xls", Type _
:=xlExcelLinks
ActiveWorkbook.UpdateLink Name:= _
RutArchivo & "Hoja 2.xls" _
, Type:=xlExcelLinks

El Error:
Se ha producido el error '1004' en tiempo de ejecución:
Error en el método 'UpdateLink' de objeto '_Workbook'

Cómo puedo solucionar esto, para que a pesar de que Hoja 1 y Hoja 2, se
encuentren abiertas, poder actualizar la información en la hoja consolidada
sin generar el error ?



La otra situación es la siguiente:

Tengo una rutina que Publica en HTM la Hoja 1 y la Hoja 2.
Tengo una rutina que Publica en HTM la Hoja Consolidada.

El problema es que no encuentro la manera para que la hoja HTM Consolidada,
muestre después de la publicación, los VALORES de las Hojas 1 y 2, que
siempren estarán cambiando con sus correspondientes links... quizás no me he
podido explicar bien y quizás suena obvio o sencillo el procedimiento para
lograr esto, pero lograrlo en la práctica pareciese mucho más complicado.
Trataré de explicarlo mejor:

Hoja1.xls cambia de valores constantemente y la persona que la llena le da a
un botón y lo publica como Hoja1.htm.
Hoja2.xls cambia de valores constantemente y la persona que la llena le da a
un botón y lo publica como Hoja2.htm.

HojaConsolidada.XLS hace referencia a los valores de Hoja1 y Hoja2, e
incluso tienen Hyperlinks a Hoja1.XLS y Hoja2.XLS.

Cuando se producen cambios a Hoja 1 y Hoja 2, se visualizan los cambios en
HojaConsolidada.xls de manera automática.

El problema es con la PUBLICACIÓN, donde se desea que la HojaConsolidada.htm
lea los valores de las hojas 1 y 2 y de hecho apunten a las Hoja1.htm y
Hoja2.htm, al punto que si hago clic sobre la celda correspondiente, se
visualice en el Internet Explorer la Hoja1.htm o la Hoja2.htm.

GRACIAS POR SU AYUDA.

Preguntas similare

Leer las respuestas

#1 Héctor Miguel
21/08/2006 - 07:49 | Informe spam
hola, Bart !

para la primera parte de esta tu consuta [y supongo que para la segunda 'los tiros' pudieran ir en el mismo sentido] -?-

1) [hasta donde se]... cuando excel es abierto como una instancia 'provocada' por una aplicacion 'externa'... y...
asumiendo [por el separador "/"] que el error aparece cuando abres tus libros en directo desde el explorador de internet -?-

a) el excel 'que se abre'... es una aplicacion que NO esta en el completo 'dominio' de sus facultades/habilidades/... :-(
[es mas... NO se abren los complementos que tengas instalados/habilitados... NI siquiera el libro 'personal' -si existe-] :-\
b) [por lo anterior]... la aplicacion 'contenedora' [el explorador de internet] no puede 'comunicarse' con excel 'en su lenguaje'] -?-
c) [es decir] las macros [cuando puedan ser 'operables'] no 'entienden' las constantes que usa excel de manera 'normal/transparente/...'
d) [probablemente] va a ser necesario que sustituyas en el codigo las constantes 'nombradas' por constantes 'numericas' [me explico]:
-> prueba a cambiar la constante: -> xlExcelLinks por: -> su constante 'numerica' -> 1 [uno] ;)

2) para la segunda parte de tu consulta [no tengo experiencia 'publicando' exceles en intranets] :-D
es probable que para mantener 'interoperatividad' con 'otras' hojas y libros...
vaya a ser necesario utilizar los OWC [Office Web Components] que incluyen objetos 'Spreadsheets' y 'Charts' para esos 'efectos'] -?-

prueba con la sugerencia del punto 1 y... si cualquier duda [o informacion adicional]... comentas ?
saludos,
hector.

__ la primera parte de la consulta original __
... se desea TOMAR la DATA de otras hojas relacionadas ...
El ERROR... detiene la macro... cuando una de las hojas... se encuentra abierta.
La Macro:
Dim RutArchivo
RutArchivo = ThisWorkbook.Path & "/"
ActiveWorkbook.UpdateLink Name:= _
RutArchivo & "Hoja 1.xls", Type _
:=xlExcelLinks
ActiveWorkbook.UpdateLink Name:= _
RutArchivo & "Hoja 2.xls" _
, Type:=xlExcelLinks
El Error:
Se ha producido el error '1004' en tiempo de ejecucion: Error en el metodo 'UpdateLink' de objeto '_Workbook'
Como puedo solucionar esto, para que a pesar de que Hoja 1 y Hoja 2, se encuentren abiertas
poder actualizar la informacion en la hoja consolidada sin generar el error ? [...]
Respuesta Responder a este mensaje
#2 Bart
21/08/2006 - 14:35 | Informe spam
Hola Héctor Miguel...

Para la primera situación planteada, el problema se me presenta NO con las
páginas exportadas a HTML, sino dentro del mismo EXCEL.

Es decir, la hoja que depende de la información de los otros dos archivos,
al momento de ACTUALIZAR despliega el error que comenté en caso de que uno de
los otros archivos se encuentre abierto, interrumpiendo la ejecución de la
macro que consiste en actualizar VINCULOS.

DENTRO DE EXCEL, Hoja 3 se alimenta de data de Hoja 1 y 2, pero si Hoja 1 y
2 están abiertas, la MACRO que ACTUALIZA los VINCULOS se detiene con el
citado error.

GRACIAS POR TU AYUDA.

"Héctor Miguel" escribió:

hola, Bart !

para la primera parte de esta tu consuta [y supongo que para la segunda 'los tiros' pudieran ir en el mismo sentido] -?-

1) [hasta donde se]... cuando excel es abierto como una instancia 'provocada' por una aplicacion 'externa'... y...
asumiendo [por el separador "/"] que el error aparece cuando abres tus libros en directo desde el explorador de internet -?-

a) el excel 'que se abre'... es una aplicacion que NO esta en el completo 'dominio' de sus facultades/habilidades/... :-(
[es mas... NO se abren los complementos que tengas instalados/habilitados... NI siquiera el libro 'personal' -si existe-] :-\
b) [por lo anterior]... la aplicacion 'contenedora' [el explorador de internet] no puede 'comunicarse' con excel 'en su lenguaje'] -?-
c) [es decir] las macros [cuando puedan ser 'operables'] no 'entienden' las constantes que usa excel de manera 'normal/transparente/...'
d) [probablemente] va a ser necesario que sustituyas en el codigo las constantes 'nombradas' por constantes 'numericas' [me explico]:
-> prueba a cambiar la constante: -> xlExcelLinks por: -> su constante 'numerica' -> 1 [uno] ;)

2) para la segunda parte de tu consulta [no tengo experiencia 'publicando' exceles en intranets] :-D
es probable que para mantener 'interoperatividad' con 'otras' hojas y libros...
vaya a ser necesario utilizar los OWC [Office Web Components] que incluyen objetos 'Spreadsheets' y 'Charts' para esos 'efectos'] -?-

prueba con la sugerencia del punto 1 y... si cualquier duda [o informacion adicional]... comentas ?
saludos,
hector.

__ la primera parte de la consulta original __
> ... se desea TOMAR la DATA de otras hojas relacionadas ...
> El ERROR... detiene la macro... cuando una de las hojas... se encuentra abierta.
> La Macro:
> Dim RutArchivo
> RutArchivo = ThisWorkbook.Path & "/"
> ActiveWorkbook.UpdateLink Name:= _
> RutArchivo & "Hoja 1.xls", Type _
> :=xlExcelLinks
> ActiveWorkbook.UpdateLink Name:= _
> RutArchivo & "Hoja 2.xls" _
> , Type:=xlExcelLinks
> El Error:
> Se ha producido el error '1004' en tiempo de ejecucion: Error en el metodo 'UpdateLink' de objeto '_Workbook'
> Como puedo solucionar esto, para que a pesar de que Hoja 1 y Hoja 2, se encuentren abiertas
> poder actualizar la informacion en la hoja consolidada sin generar el error ? [...]



email Siga el debate Respuesta Responder a este mensaje
Ads by Google
Help Hacer una preguntaRespuesta Tengo una respuesta
Search Busqueda sugerida