Redefina automáticamente las dimensiones del cuadro de comentarios para que coincidan con la imagen de fondo en Excel

Redefina automáticamente las dimensiones del cuadro de comentarios para que coincidan con la imagen de fondo en Excel

En Excel, digamos que elijo una imagen, test.jpeg por ejemplo, como fondo de un comentario. Quiero que el cuadro de comentarios tome las dimensiones de test.jpeg. Como planeo tener cientos de comentarios de este tipo, mi pregunta es: ¿hay alguna manera de automatizar esto?

Respuesta1

Jugué con una macro de VBA. Abra su editor VBA con ALT+ F11y pegue el siguiente código enhoja1. Ejecute la macro con ALT+F8

Que hace la macro

  1. Solicite al usuario una ruta a la imagen que desea insertar (puede ser jpg, bmp o png)

  2. Cargue esa imagen comoWIA.imageFile. Posteriormente usamos objImage.Heighty objImage.Widthpara obtener las dimensiones reales de la imagen.

    Este método fue el más corto que encontré para obtener dimensiones en píxeles (otros métodos de VBA pueden brindarlepuntas. Son un invento horrible)

  3. Inserte un comentario en blanco en la celda actualmente seleccionada si ya no existe ningún comentario antiguo allí

  4. Establece la imagen elegida como imagen de fondo para la forma del comentario.

  5. Cambie el tamaño de las dimensiones de la forma del comentario para que la imagen encaje perfectamente

Sub InsertComment()

    Dim strImagePath As Variant
    Dim objImage As Object
        
    strImagePath = Application.GetOpenFilename("Picture, *.jpg; *.png; *.bmp")
    If strImagePath = False Then Exit Sub
                
    Set objImage = CreateObject("WIA.ImageFile")
    objImage.LoadFile strImagePath
    
    With ActiveCell
        If .Comment Is Nothing Then .AddComment ("")
        .Comment.Shape.Fill.UserPicture strImagePath
        .Comment.Shape.Height = objImage.Height * 0.75
        .Comment.Shape.Width = objImage.Width * 0.75
    End With

End Sub

información relacionada