Jump to content
Sign in to follow this  
Torpedo63

Vínculos de Word a Excel

Recommended Posts

Buenas:

Tengo un archivo Word con muchos vínculos a Excel, al abrirlo me pregunta si quiero actualizarlos y lo hace con todos, hasta ahí bien.

El problema es que tengo que hacer varias correcciones en el word antes de actualizar los vínculos, por ahora lo que hago es cerrar el word, volverlo a abrir y decirle que actualice todo.

Mi pregunta es: hay alguna forma de actualizar todos los vínculos de word?

Gracias, 

Share this post


Link to post
Share on other sites
En 18/12/2017 at 15:58 , Torpedo63 dijo:

El problema es que tengo que hacer varias correcciones en el word antes de actualizar los vínculos, por ahora lo que hago es cerrar el word, volverlo a abrir y decirle que actualice todo.

No te entiendo muy bien:

¿Quieres hacer correcciones ANTES de actualizar el Word? ¿O para que te deje actualizar TIENES que corregir el Word?

Si es esto último, dinos qué errores son o que te dice Word

Share this post


Link to post
Share on other sites

Primero abro el word (con vínculos a Excel), tengo que cambiar algunas cosa en word antes de actualizar los vínculos.

Luego tengo que actualizar todos los vínculos y sólo se me ocurren dos opciones:

1.Ir vínculo por vínculo acualizándolos, pero son muchos y no se acaba nuca...

2. Cerrar el archivo word y volverlo a abrir diciéndole que actualice los vínculos. Que es lo que hago.

Mi pregunta es: Hay alguna forma de actualizar todos los vínculos una vez abierto el archivo?

 

Gracias de antemano

Share this post


Link to post
Share on other sites

@Torpedo63 , te dejo una posible solución:

  • En el editor de VB crea un nuevo módulo
  • Crea un botón (una autoforma mismo en una hoja del word
  • Con el botón derecho del ratón asígnale la macro siguiente:
     
Sub Actualizar_Links()

Dim WRange As Range
Dim WField As Field

For Each WRange In ActiveDocument.StoryRanges
    For Each WField In WRange.Fields
        WField.Update
    Next WField
Next WRange

End Sub

Otra opción, que no tengo claro que lo haga (el Word VBA no es mi fuerte :mellow:) es el siguiente código, siguiendo el mismo proceso anterior

Sub Actializar_Todos_Links()
ActiveDocument.Fields.Update
End Sub

 

Share this post


Link to post
Share on other sites
En 25/1/2018 at 14:47 , Haplox dijo:

Gracias!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!

 

 

@Torpedo63 , te dejo una posible solución:

  • En el editor de VB crea un nuevo módulo
  • Crea un botón (una autoforma mismo en una hoja del word
  • Con el botón derecho del ratón asígnale la macro siguiente:
     

Sub Actualizar_Links()

Dim WRange As Range
Dim WField As Field

For Each WRange In ActiveDocument.StoryRanges
    For Each WField In WRange.Fields
        WField.Update
    Next WField
Next WRange

End Sub

Otra opción, que no tengo claro que lo haga (el Word VBA no es mi fuerte :mellow:) es el siguiente código, siguiendo el mismo proceso anterior


Sub Actializar_Todos_Links()
ActiveDocument.Fields.Update
End Sub

 

 

Share this post


Link to post
Share on other sites

Create an account or sign in to comment

You need to be a member in order to leave a comment

Create an account

Sign up for a new account in our community. It's easy!

Register a new account

Sign in

Already have an account? Sign in here.

Sign In Now

INFORMACIÓN BÁSICA SOBRE PROTECCIÓN DE DATOS

Responsable: Sergio Andrés Celemín

Finalidad: Moderar y responder comentarios de usuarios. Recuerda que la información que facilites es pública, y los datos que incluyas los leerá cualquier visitante de esta web, así como el avatar que poseas.

Legitimación: Consentimiento del interesado.

Destinatarios: Hetzner Online GmbH.

Derechos: Puedes ejercitar en cualquier momento tus derechos de acceso,
rectificación, supresión, oposición y demás derechos legalmente establecidos a
través del email sergio@ayudaexcel.com.

Información adicional: Encontrarás más información en la política de privacidad.

Sign in to follow this  



  • Posts

    • Buenos días!   Amigos del foro quisiera solicitarles el apoyo para resolver el siguiente problema, necesito una macro que me permita copiar de una hoja a otra si se cumplen los siguientes criterios: Si el valor en la columna G de la hoja Diario es mayor que cero, se copien los datos de Diario(hasta la ultima celda con datos) a la hoja BD pegando los datos en la ultima celda vacía de BD. Al copiar aquellos valores mayores a cero en la hoja BD quitarlos de la hoja Diario, solamente dejando los datos que contengan cero o se encuentren vacios en la columna G de la hoja Diario. Lo estuve intentando de la siguiente manera: Sub copiar2() Set J1 = Sheets("Diario") Set J2 = Sheets("BD") j = J2.Range("A" & Rows.Count).End(xlUp).Row + 1 For i = 3 To 79 If J1.Cells(i, "G") > 0 Then J2.Cells(i, "A") = J1.Cells(i, "A") J2.Cells(i, "B") = J1.Cells(i, "B") J2.Cells(i, "C") = J1.Cells(i, "C") J2.Cells(i, "D") = J1.Cells(i, "D") J2.Cells(i, "E") = J1.Cells(i, "E") J2.Cells(i, "F") = J1.Cells(i, "F") J2.Cells(i, "G") = J1.Cells(i, "G") J2.Cells(i, "H") = J1.Cells(i, "H") J2.Cells(i, "I") = J1.Cells(i, "I") J2.Cells(i, "J") = J1.Cells(i, "J") J2.Cells(i, "K") = J1.Cells(i, "K") J2.Cells(i, "L") = J1.Cells(i, "L") J2.Cells(i, "M") = J1.Cells(i, "M") J2.Cells(i, "N") = J1.Cells(i, "N") End If Next MsgBox "Valores copiados" End Sub Saludos JB Consulta copiado.xlsm
    • Hola! También puedes poner =Valor(A2), luego copiar y pegar valores
    • Cielos no se que decir, siempre me sorprenden; ambos casos son buenos. Aun no termino de analizar el código bien, pero en cuanto termine les haré saber de antemano muchas gracias.
    • Si te vas al explorador del proyecto VBA, en el árbol de módulos, puedes ver la hoja "aux"  Te adjunto otro método, trabajando con una matriz y como te lo comenté al inicio, trasladando los registros visibles   Saludos! Importar datos de otro libro.zip
  • Recently Browsing

    No registered users viewing this page.

×
×
  • Create New...

Important Information

Privacy Policy