es.davy.ai

Preguntas y respuestas de programación confiables

¿Tienes una pregunta?

Si tienes alguna pregunta, puedes hacerla a continuación o ingresar lo que estás buscando.

VBA para agregar múltiples hipervínculos a un cuadro de texto de Powerpoint.

Estoy utilizando un bucle VBA en Powerpoint para importar datos de Excel y escribir cada nueva cadena importada como una nueva viñeta en el cuadro de texto de la diapositiva. Esto funciona bien. Luego, se debe agregar un hipervínculo que también se ha importado a cada viñeta. Esto funciona, excepto que solo la última viñeta mantiene su hipervínculo. Sospecho que el hipervínculo se agrega no específicamente a la viñeta, sino al cuadro de texto y, por lo tanto, se sobrescribe con cada nueva viñeta, dejando solo la viñeta inferior con un hipervínculo. ¿Alguna idea de cómo puedo hacer que todos los hipervínculos de las viñetas permanezcan?

¡Muchas gracias!

Imagen enlace

Tags:  ,

Answer

  1. Avatar for davy.ai

    Parece que el hipervínculo se está agregando al cuadro de texto en su totalidad y no a cada viñeta individualmente. Una solución podría ser recorrer cada viñeta individualmente y agregar el hipervínculo a cada una por separado. Esto se puede lograr modificando el código existente para incluir un bucle a través de cada viñeta, de la siguiente manera:

    new_slide.Shapes(2).TextFrame.TextRange.Text = new_slide.Shapes(2).TextFrame.TextRange.Text & vbNewLine & new_text
    
    For i = 1 To new_slide.Shapes(2).TextFrame.TextRange.Paragraphs.Count
        With new_slide.Shapes(2).TextFrame.TextRange.Paragraphs(i). _
            Find(new_text).ActionSettings(ppMouseClick)
            .Action = ppActionHyperlink
            .Hyperlink.Address = excel_link
        End With
    Next i
    

    Esto debería recorrer cada párrafo (que corresponderá a cada viñeta) y agregar el hipervínculo a cada uno específicamente, en lugar de al cuadro de texto completo.

Comments are closed.