Si recuerdas la última vez te pregunte acerca de cambiar la orientación de una hoja de cálculo desde VB y el formato de una celda. Ambas sugerencias tuyas me sirvieron de maravilla. Pero ahora mi pregunta es: ¿Desde VB es posible ajustar las márgenes de una hoja de cálculo? Cualquier sugerencia tuya me sería muy útil. Saludos. Alexander.
1 respuesta
Respuesta de fejoal
3
3
fejoal, Por falta de tiempo para responder como me gusta hacerlo suspendo...
Internamente, la principal unidad de medida de MS Excel es PUNTOS, y esta es la que usa para medir las dimensiones de los márgenes. Afortunadamente, en Visual Basic encontrarás un par de funciones que se encarga de convertir las dimensiones conocidas (centímetros o pulgadaas) a la que usa MS Excel: Application.CentimetersToPoints([cent]) Application.InchesToPoints([Inches]) La siguiente macro incorpora a la que te había sugerido en la pregunta anterior, el manejo de los márgenes, expresando los valores deseados en centémetros dentro de las variables que encontrarás al inicio: Sub ConfHoja() M_Izq = 1 M_Der = 0.5 M_Sup = 1.5 M_Inf = 0.7 'Orientación de Hoja With ActiveSheet.PageSetup If .Orientation = xlPortrait Then .Orientation = xlLandscape Else .Orientation = xlPortrait End If 'Configuración de márgenes: .LeftMargin = Application.CentimetersToPoints(M_Izq) .RightMargin = Application.CentimetersToPoints(M_Der) .TopMargin = Application.CentimetersToPoints(M_Sup) .BottomMargin = Application.CentimetersToPoints(M_Inf) End With End Sub --- En el hipotético caso de que usaras pulgadas en lugar de centímetros reemplaza la función: Application. CentimetersToPoints Por: Application. InchesToPoints Espero que esto también te sea de utilidad. Un abrazo! Fernando
Fernando: Muchas gracias por tu respuesta, me funcionó de maravilla. Cuando tenga alguna otra inquietud no dudaré en consultarte. Gracias de nuevos. Saludos. Alexander.