UniversoExcelForo

Respuesta a consultas.
Fecha de creación: 09.Abril.2012

Fundadores: Wibly,Tyno,Servando,Sakkar,Rosendo2,RMaximo,Railar,Mcoronel,Ioyama,Igtelo,Hugotron,Drochar,Dedos,Alberto,Adolfo


No estás conectado. Conéctate o registrate

Ver el tema anterior Ver el tema siguiente Ir abajo  Mensaje [Página 1 de 1.]

cardama


Buenos días.
Estoy intentando encontrar la forma para rotar una imagen pegada en una celda de una hoja excel que tengo en un fichero word.

El proceso para pegar dicha imagen es:

    Worksheets("SGA bad debt").Range("B3:T46").Copy
    ActiveDocument.Tables(90).Cell(1, 1).Range.Delete
    ActiveDocument.Tables(90).Cell(1, 1).Range.PasteSpecial Link:=False, DataType:=wdPasteEnhancedMetafile, _
        Placement:=wdInLine, DisplayAsIcon:=False

Este proceso lo tengo repetido, como podéis observar, en 90 tablas insertadas en un gran documento de word. El problema es que en la ultima, lo que indico en el código, la imagen es muy grande para poner en horizontal y intento mediando la macro rotar dicha imagen 90 grados.
Si que lo puedo hacer manualmente, pero me gustaría no tener que hacerlo cada vez que recargo los elementos de todas las tablas.
Gracias, por adelantado, por la ayuda.

Igtelo

avatar
Hola Cardama.

Primero hay que trabajar con seriedad, por favor corrige tu localización o sino quieres ponerla lo puedes dejar en blanco, hay que respetar a las personas y el foro.

Posterior a ello ya se te podrá echar una mano.

Saludos
Ignacio Téllez

3RESUELTO Peticion de disculpas el 30/01/17, 12:08 pm

cardama


Pido disculpas por poner mal la localización. Ya está corregida.

4RESUELTO Tema Resuelto el 01/03/17, 12:40 pm

cardama


Saludos.
Ya he podido solucionar el problema, he creado un procedimiento que realiza dicha funcion, es el siguiente:

Private Sub RotarImagen(Grados As Integer)
    Dim IlShp As InlineShape
    Dim Shp As Shape
    ' Procedimiento que permite rotar una imagen N grados dentro de una celda, modificarla en su tamaño y centrarla en la celda.
    With ActiveDocument.Tables(Incremento).Cell(1, 1).Range
        For Each IlShp In .InlineShapes
            Set Shp = IlShp.ConvertToShape
            Shp.LockAspectRatio = msoTrue
            Shp.IncrementRotation Grados
            Shp.ScaleWidth 0.75, msoTrue ' Ajusta el tamaño en relacion a una escala
            Set IlShp = Shp.ConvertToInlineShape
        Next
        .ParagraphFormat.Alignment = wdAlignParagraphCenter ' centra la imagen con respecto a la celda donde se encuentra
    End With
    ActiveDocument.Tables(Incremento).AutoFitBehavior wdAutoFitFixed
End Sub

Espero que a alguien le pueda ser util.
Doy por cerrada la consulta.

Ver el tema anterior Ver el tema siguiente Volver arriba  Mensaje [Página 1 de 1.]

Permisos de este foro:
No puedes responder a temas en este foro.