Como Editar enlaces en PowerPoint usando VBA

Índice
  1. Edite los documentos vinculados usando PowerPoint VBA
  2. Edite los documentos vinculados desde Excel usando VBA

En una publicación anterior , consideramos cómo vincular archivos de Excel a presentaciones de PowerPoint. Esto puede suponer un importante ahorro de tiempo ya que la presentación de PowerPoint se puede actualizar automáticamente. Una vez que hayas creado los enlaces, la vida es brillante, hasta. . . debe cambiar a qué archivo está vinculada la presentación de PowerPoint. Puede utilizar la opción "editar enlaces". Pero hay un gran problema con PowerPoint: hay que editar los enlaces uno por uno. Si tiene 100 enlaces a diferentes libros de Excel, debe actualizar cada uno de ellos. Si tiene 100 enlaces al mismo libro de Excel, esperaría poder actualizarlos todos al mismo tiempo. Pero lamentablemente no es así como funciona, todavía tienes que actualizar cada enlace individualmente.

No temas: VBA al rescate. A continuación encontrará código VBA para PowerPoint y Excel. Sí, así es, puede actualizar los enlaces a un documento de PowerPoint desde Excel. ¿Muy bien, verdad?

Aquí hay algunas notas para usar el código:

  • El código de Excel se ha escrito utilizando Early Binding. No te preocupes si no sabes lo que eso significa. En el Editor de Excel Visual Basic, seleccione Herramientas – Referencias – Biblioteca de objetos de Microsoft PowerPoint x.xx. Esto asegurará que pueda sobresalir y hablar PowerPoint.
  • Al cambiar las rutas de los archivos, recuerde finalizar la ruta del archivo con una barra diagonal ""

Edite los documentos vinculados usando PowerPoint VBA

Abra el editor de Visual Basic en PowerPoint (ALT+F11).

Haga clic derecho en VBAProject, seleccione Insertar – Módulo.

Módulo de inserción de PowerPoint VBA

Copie el código siguiente en la ventana de código.

Código de copia de PowerPoint VBA

Sub EditPowerPointLinks()Dim oldFilePath As StringDim newFilePath As StringDim pptPresentation As PresentationDim pptSlide As SlideDim pptShape As Shape'La ruta del archivo antiguo como una cadena (el texto que se reemplazará)oldFilePath = "Cadena deRuta del archivo a reemplazarExcel File.xlsx"'El nuevo ruta del archivo como una cadena (el texto a reemplazar)newFilePath = "Cadena deNueva ruta de archivoExcel File 2.xlsx"'Establezca la variable en el conjunto de presentación de PowerPoint pptPresentation = ActivePresentation'Recorra cada diapositiva de la presentación para cada pptDiapositiva en pptPresentation.Slides ' Recorra cada forma en cada diapositiva Para cada pptShape en pptSlide.Shapes 'Averigüe si la forma es un objeto vinculado o una imagen vinculada Si pptShape.Type = msoLinkedPicture O pptShape.Type _ = msoLinkedOLEObject O pptShape.Type = msoLinkedChart Luego 'Usar Reemplazar para cambiar oldFilePath a newFilePath pptShape.LinkFormat.SourceFullName = Reemplazar(LCase _ (pptShape.LinkFormat.SourceFullName), LCase(oldFilePath), newFilePath) End If NextNext'Actualizar los enlacespptPresentation.UpdateLinksEnd Sub

Solo necesita establecer los valores para las variables newFilePath y oldFilePath enumeradas en el código anterior.

Edite los documentos vinculados desde Excel usando VBA

También es posible actualizar los enlaces en PowerPoint desde 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.

El siguiente código utiliza enlace anticipado, por lo que deberá configurar las referencias a la biblioteca de objetos de PowerPoint. Seleccione Herramientas – Referencias y luego seleccione la biblioteca de objetos Microsoft PowerPoint x.xx de la lista.

Sub EditPowerPointLinks()'Establezca el vínculo a la biblioteca de objetos: 'Herramientas - Referencias - Biblioteca de objetos Microsoft PowerPoint x.xxDim oldFilePath As StringDim newFilePath As StringDim sourceFileName As StringDim pptApp As PowerPoint.ApplicationDim pptPresentation As ObjectDim pptSlide As ObjectDim pptShape As Object'The nombre del archivo y ruta del archivo a actualizarsourceFileName = "C:File PathOf Source FileFile Name.pptx"'La ruta del archivo antiguo como una cadena (el texto que se reemplazará)oldFilePath = "Cadena deFile PathTo Be ReemplazoExcel File.xlsx"'El nueva ruta de archivo como una cadena (el texto a reemplazar)newFilePath = "Cadena deNueva ruta de archivoExcel File2.xlsx"'Establezca la variable en la aplicación de PowerPointEstablecer pptApp = Nuevo PowerPoint.Aplicación'Hacer visible la aplicación de PowerPointpptApp.Visible = True'Establecer la variable de PowerPoint PresentationSet pptPresentation = pptApp.Presentations.Open(sourceFileName)'Recorre cada diapositiva en la presentaciónPara cada pptSlide en pptPresentation.Slides 'Recorre cada forma en cada diapositiva Para cada pptShape en pptSlide.Shapes 'Averigüe si la forma es un objeto vinculado o una imagen vinculada Si pptShape.Type = msoLinkedPicture O pptShape.Type _ = msoLinkedOLEObject O pptShape.Type = msoLinkedChart Entonces 'Use Reemplazar para cambiar oldFilePath a newFilePath pptShape.LinkFormat.SourceFullName = Reemplazo(LCase _ ( pptShape.LinkFormat.SourceFullName), LCase(oldFilePath), newFilePath) Finalizar si es NextNextpptPresentation.UpdateLinks'Guardar, cerrar y salir de la aplicaciónpptPresentation.SavepptPresentation.ClosepptApp.Quit'Liberar la memoriaEstablecer pptApp = NothingSet pptPresentation = NothingSet pptSlide = NothingSet pptShape = NothingEnd Sub

Para el código anterior será necesario establecer los valores para las variables sourceFileName, oldFilePath y newFilePath.


Deja una respuesta

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *

Subir

Este sitio web utiliza cookies para mejorar la experiencia del usuario y garantizar un funcionamiento eficiente. Al utilizar nuestro sitio web, aceptas todas las cookies de acuerdo con nuestra política de cookies. Leer mas...