Como Editar enlaces en Word usando VBA
La semana pasada analizamos cómo vincular Excel directamente con documentos de Word . Esto puede generar un importante ahorro de tiempo ya que el documento de Word se actualiza automáticamente cada vez que cambia el archivo de Excel. El problema viene cuando queremos cambiar la ruta del archivo del documento vinculado, ya que es necesario cambiar los enlaces uno por uno. Pero podemos usar VBA para automatizar este proceso.
El siguiente código VBA se ha incluido dos veces, una para usarlo en Excel y otra para usarlo en Word.
Aquí hay algunas notas para usar el código:
- El código de Excel se ha escrito utilizando enlace tardío. Lo que significa que debería funcionar solo; no es necesario crear referencias a la biblioteca de objetos de Word.
- Al cambiar las rutas de los archivos, recuerde finalizar la ruta del archivo con una barra diagonal ""
Edite los documentos vinculados usando Word VBA
Para abrir el editor de Visual Basic en Word presione Alt + F11. Haga clic derecho en ThisDocument para su documento y seleccione Insertar – Módulo.
Copie el código siguiente en la ventana de código.
Para que este código funcione, solo necesita actualizar las variables oldFilePath y newFilePath para cumplir con sus requisitos.
Sub UpdateWordLinks()Dim newFilePath As StringDim oldFilePath As StringDim sourceFileName As StringDim newFileName As StringDim wrdDocument As DocumentDim i As Integer'La ruta del archivo antiguo como una cadena (el texto que se va a reemplazar)oldFilePath = "Cadena deRuta del archivo a reemplazarExcel File.xlsx" 'La nueva ruta del archivo como una cadena (el texto a reemplazar)newFilePath = "String ofNew File PathExcel File 2.xlsx"'Establezca la variable en Word DocumentSet wrdDocument = ThisDocument'Use Reemplazar para cambiar oldFilePath a newFilePath en el Código de campoFor i = 1 Para wrdDocument.Fields.Count wrdDocument.Fields(i).LinkFormat.SourceFullName _ = Reemplazar(wrdDocument.Fields(i).LinkFormat.SourceFullName, _ oldFilePath, newFilePath)A continuación, actualizo los enlaceswrdDocument.Fields. Actualización final sub
Editar los documentos vinculados desde Excel usando VBA
Puede decidir que Excel es una mejor ubicación para guardar el código para editar enlaces. En Excel, presione ALT + F11 para abrir el Editor de Excel Visual Basic. Haga clic en Insertar – Módulo. Copie el siguiente código en el nuevo módulo.
Para que este código funcione, solo necesita actualizar las variables sourceFileName, oldFilePath y newFilePath para cumplir con sus requisitos.
Sub UpdateWordLinks()Dim oldFilePath As StringDim newFilePath As StringDim sourceFileName As StringDim newFileName As StringDim wrdApp As ObjectDim wrdDocument As ObjectDim i As Integer'El nombre del archivo y la ruta del archivo para actualizarsourceFileName = "C:UsersmarksDocumentsTest Word Link 1.docx"'The ruta del archivo antiguo como una cadena (el texto que se reemplazará)oldFilePath = "C:UsersmarksDocumentsTest Word Link.xlsx"'La nueva ruta del archivo como una cadena (el texto que se reemplazará)newFilePath = "C:UsersmarksDocumentsP1Test Word Link P1.xlsx "'Establezca la variable en Word ApplicationSet wrdApp = CreateObject("Word.Application")'Haga visible la aplicación de WordwrdApp.Visible = True'Establezca la variable en Word DocumentSet wrdDocument = wrdApp.Documents.Open(sourceFileName)'Use Reemplazar para cambiar oldFilePath a newFilePath en el campo codeFor i = 1 Para wrdDocument.Fields.Count wrdDocument.Fields(i).LinkFormat.SourceFullName _ = Reemplazar(wrdDocument.Fields(i).LinkFormat.SourceFullName, _ oldFilePath, newFilePath) A continuación, actualizo los enlaceswrdDocument.Fields.Update'Guarda, cierra y sal de la aplicaciónwrdDocument.SavewrdDocument.ClosewrdApp.Quit'Libera la memoriaSet wrdApp = NothingSet wrdDocument = NothingEnd Sub
Deja una respuesta