2 votos

Mantener los enlaces especiales pegados dentro de una carpeta copiada/pegada y renombrada

Tengo enlaces desde los gráficos de Excel a las diapositivas de Powerpoint, utilizando la opción Pegar enlace especial, para que cuando se abra el Powerpoint se puedan actualizar los gráficos fácilmente. Los archivos de Powerpoint y Excel están todos en la misma carpeta, pero la información debe actualizarse mensualmente. Mi empresa quiere crear una nueva carpeta para cada mes para que haya un archivo de información de los meses anteriores.

Pensé que había una forma de copiar/pegar la carpeta con los enlaces y cambiarle el nombre manteniendo los enlaces contenidos en la carpeta recién renombrada, ya que todo está junto y no hay enlaces que apunten fuera de la carpeta. Sin embargo, cuando compruebo el PowerPoint en la nueva carpeta, todos los enlaces siguen apuntando a los archivos de Excel en la carpeta original. Así que los enlaces pasan de apuntar a archivos dentro de la carpeta a apuntar a archivos fuera de la carpeta.

Sé que puedo editar los enlaces para que apunten a la nueva carpeta, y sólo me lleva unos 10 minutos en este caso porque son muy pocos, pero quiero saber si hay una forma de mantener los enlaces contenidos automáticamente.

La primera vez que intenté copiar/pegar/renombrar esta mañana, acababa de reemplazar un pequeño número de archivos en la carpeta original guardando sobre ellos copias más nuevas que me había enviado por correo electrónico desde casa. Cuando miré el PowerPoint en la carpeta recién renombrada esa vez, esos archivos específicos habían actualizado sus rutas para coincidir con la nueva carpeta, pero los otros no. Revisé y volví a enlazar todos los gráficos, incluidos los de los archivos sobrescritos, en la carpeta antigua, y luego repetí el proceso de copiar/pegar/renombrar. Comprobé el PP en esta nueva carpeta y todos los enlaces apuntaban a la carpeta antigua y ninguno a la nueva. No estoy seguro de si fue una casualidad que esos pocos seleccionados actualizaran sus enlaces o no.

He intentado encontrar la respuesta en otros sitios, pero no consigo encontrar nada que dé una buena respuesta de "No, no es posible" o "Así es como se hace".

¿Ideas? ¿Sugerencias? ¿Soluciones? ¿O voy a tener que actualizar manualmente los enlaces cada vez que se cree una nueva carpeta?

2voto

miroxlav Puntos 2326

No hay manera de utilizar el copiar y pegar. Pero como solución, puede utilizar

La solución más sencilla: utilizar la ruta relativa en los hipervínculos

Si tienes tus archivos en la misma carpeta, por ejemplo:

Monthly Report Calculation.xlsx
Monthly Report.pptx

Entonces puede enlazar entre PPTX y XLSX en ambas direcciones si utiliza rutas relativas.

En PowerPoint Asegúrese de crear un enlace a Monthly Report Calculation.xlsx (que básicamente es .\Monthly Report Calculation.xlsx una ruta relativa al directorio actual de su archivo PPTX) y no a D:\Data\Monthly Report Calculation.xlsx (que es la ruta absoluta).

En Excel puede utilizar la siguiente fórmula dentro de su Monthly Report Calculation.xlsx :

=HYPERLINK("Monthly Report.pptx")

O también con un nombre de pantalla amigable:

=HYPERLINK("Monthly Report.pptx", "Monthly Report")

Ahora puedes copiar tus archivos donde quieras y los enlaces de PowerPoint a Excel y viceversa funcionará en cualquier directorio donde estos archivos permanezcan juntos.

Tenga en cuenta que la ruta que mostré en la fórmula de Excel se introdujo como relativa, por lo que puede atravesar los directorios si lo necesita:

=HYPERLINK("..\Presentations\Monthly Report.pptx", "Monthly Report")

La misma referencia de directorio funciona en el cuadro de hipervínculos en PowerPoint. Probado.


Otra posibilidad es crear un código VBA personalizado para actualizar los hipervínculos y lanzarlo cada mes. Si compruebas una de las respuestas, deberías hacerte una idea.

Con un enfoque u otro, no espere funcionalidades específicas de entrada. Es necesario ajustar el proceso por su parte (hacerlo de otra manera) o crear un código para realizar tareas específicas para su entorno y sus procesos.

0 votos

Esto debería funcionar para los enlaces de Excel a los archivos de PowerPoint, pero creo que OP está buscando para enlazar desde los archivos de PowerPoint a Excel.

0 votos

@SteveRindsberg - muchas gracias por señalar eso. En realidad funciona en ambas direcciones y he actualizado la respuesta.

0 votos

Tengo los gráficos en sus propias hojas en los libros de trabajo, así que mi pregunta es dónde debería poner la celda del hipervínculo (¿quizás en la hoja que tiene los datos de los que tira el gráfico?) y si necesitaría entonces indicar la hoja específica en la que está así como el archivo? Además, al enlazar desde PPT, ¿utilizo la opción de pegar enlace especial, o pego regularmente y luego añado el Hipervínculo? Si intento editar un enlace especial para pegar sólo me deja seleccionar del directorio de archivos, no escribir lo que quiero.

0voto

Bandersnatch Puntos 139

Esta página web ofrece una macro de búsqueda y reemplazo para PowerPoint. No he probado esto, pero la solución de esa página sigue:

Solución

Esta macro le preguntará qué texto quiere buscar y con qué quiere reemplazarlo. Luego buscará en cada hipervínculo de su presentación y hará la búsqueda/reemplazo tanto en la Dirección como en la Subdirección del hipervínculo.

Aquí está el código:

Option Explicit

Sub HyperLinkSearchReplace()

    Dim oSl As Slide
    Dim oHl As Hyperlink
    Dim sSearchFor As String
    Dim sReplaceWith As String
    Dim oSh As Shape

    sSearchFor = InputBox("What text should I search for?", "Search for ...")
    If sSearchFor = "" Then
        Exit Sub
    End If

    sReplaceWith = InputBox("What text should I replace" & vbCrLf _
        & sSearchFor & vbCrLf _
        & "with?", "Replace with ...")
    If sReplaceWith = "" Then
        Exit Sub
    End If

    On Error Resume Next

    For Each oSl In ActivePresentation.Slides

        For Each oHl In oSl.Hyperlinks
            oHl.Address = Replace(oHl.Address, sSearchFor, sReplaceWith)
            oHl.SubAddress = Replace(oHl.SubAddress, sSearchFor, sReplaceWith)
        Next    ' hyperlink

        For Each oSh In oSl.Shapes
            If oSh.Type = msoLinkedOLEObject _
            Or oSh.Type = msoMedia Then
                oSh.LinkFormat.SourceFullName = _
                    Replace(oSh.LinkFormat.SourceFullName, _
                    sSearchFor, sReplaceWith)
            End If
       Next

    Next    ' slide

End Sub

Limitaciones

  • La macro sólo funciona en PowerPoint 2000 o superior. No se ejecutará en PowerPoint 97 (debido al comando Reemplazar, que no es soportado en 97).
  • La macro sólo funciona en los hipervínculos y en los enlaces OLE, no en la acción de acción. Pero algunas configuraciones de acción (la mayoría de las de Enlace a) son hipervínculos, así que los enlaces a otros archivos, ya sean hipervínculos o o configuraciones de acción, generalmente funcionarán con esta macro.

Ver ¿Cómo puedo utilizar el código VBA en PowerPoint? para aprender a utilizar este código de ejemplo.

1 votos

Por favor, cite las partes esenciales de la respuesta de los enlaces de referencia, ya que la respuesta puede quedar invalidada si las páginas enlazadas cambian.

0 votos

@Lu'u, gracias por la edición. ¿Cómo conseguiste los colores para las palabras clave y las cadenas de los cuadros de diálogo?

0 votos

El editor añadió <!-- language: lang-vb -->

0voto

Joel Landau Puntos 21

Otro enfoque:

En lugar de copiar/pegar en una nueva carpeta cada vez que haya una actualización, copie los archivos actualizados DENTRO de la misma carpeta cada vez:

Enero: Poner el archivo Excel y el archivo PPT en el \CurrentMonth carpeta. Cree los enlaces necesarios.

Febrero: Copiar el archivo Excel de \CurrentMonth en \January luego copie el nuevo archivo de Excel en \CurrentMonth sobreescribiendo el antiguo archivo de Excel.

Y así sucesivamente para cada mes. Cambia los nombres de los directorios por los que sean apropiados.

EnMiMaquinaFunciona.com

EnMiMaquinaFunciona es una comunidad de administradores de sistemas en la que puedes resolver tus problemas y dudas.
Puedes consultar las preguntas de otros sysadmin, hacer tus propias preguntas o resolver las de los demás.

Powered by:

X