VBA: convierte centímetros, pulgadas y píxeles en puntos

Índice
  1. Convertir de pulgadas o centímetros a puntos
    1. Convertir de Pulgadas a Puntos
    2. Convertir de Centímetros a Puntos
    3. Convertir de Puntos a Centímetros
    4. Convertir de Puntos a Pulgadas
  2. Convertir de puntos a píxeles

Es frustrante que Excel, PowerPoint y Word funcionen de forma nativa utilizando una medida conocida como puntos. Sin embargo, las medidas dentro de los menús de la aplicación estándar se establecen en centímetros o pulgadas. Esto se puede ver al configurar la posición y el tamaño de una forma en PowerPoint a través de los menús estándar.

Medidas de PowerPoint en Cms

Sin embargo, cuando se utiliza una macro para recuperar la posición de esa misma forma, muestra el valor en puntos.

Medidas de PowerPoint en puntos

A continuación se muestra el código VBA de PowerPoint para mostrar las dimensiones de la forma activa:

Sub getShapeSizes()Dim msgText As StringmsgText = "Arriba: " ActiveWindow.Selection.ShapeRange.Top vbNewLinemsgText = msgText "Izquierda: " ActiveWindow.Selection.ShapeRange.Left vbNewLinemsgText = msgText "Altura: " ActiveWindow.Selection.ShapeRange.Height vbNewLinemsgText = msgText "Ancho: " ActiveWindow.Selection.ShapeRange.Width vbNewLineMsgBox msgTextEnd Sub

Si las medidas mostradas están en centímetros o pulgadas se establece a través del Panel de control de PowerPoint. Para Excel, el valor predeterminado también se establece a través del Panel de control, pero se puede cambiar para que no sea predeterminado dentro de las opciones de Excel. Archivo – Opciones – Avanzado – Pantalla – Unidades de regla.

Cambiar unidad de medida de Excel

Convertir de pulgadas o centímetros a puntos

Convertir de pulgadas o centímetros a puntos es razonablemente sencillo, ya que hay 72 puntos por pulgada o 28,35 puntos por centímetro (redondeado a 2 decimales). Microsoft ha proporcionado dos funciones VBA útiles para realizar esta conversión

Convertir de Pulgadas a Puntos

Valor tenuePulgadas como puntos de valor DoubleDim como pulgadasValor doble = 25Puntosvalor = Aplicación.PulgadasApuntos(valorPulgadas)Depuración.Imprimir puntosValor

Convertir de Centímetros a Puntos

Dim valueCentimeters como DoubleDim valuePoints como DoublevalueCentimeters = 25valuePoints = Application.CentimetersToPoints(valueCentimeters)Debug.Print valuePoints

Convertir de Puntos a Centímetros

Dim valuePoints como DoubleDim valueCentimeters como DoublevaluePoints = 50valueCentimeters = valuePoints / Application.CentimetersToPoints(1)Debug.Print valueCentimeters

Convertir de Puntos a Pulgadas

Valor de atenuaciónPuntos como valor de DoubleDimPulgadas como puntos de valor doble = 700valorPulgadas = valorPuntos / Aplicación.PulgadasAPuntos(1)Depuración.Imprimir valorPulgadas

Convertir de puntos a píxeles

¿Qué pasa con los píxeles? Si bien los píxeles pueden parecer una unidad de medida comprensible para controlar la posición de los objetos, no es tan útil como cabría esperar.

La cantidad de píxeles dependerá de una variedad de factores, como la resolución de pantalla utilizada para cada monitor. Sin embargo, si está desesperado por convertir puntos en píxeles, podría utilizar el siguiente código VBA.

Dim valuePoints As LongDim valuePixels As LongvaluePoints = 500valuePixels = Application.ActiveWindow.PointsToScreenPixelsX(valuePoints)Debug.Print "Píxeles del eje X: " valuePixelsvaluePixels = Application.ActiveWindow.PointsToScreenPixelsY(valuePoints)Debug.Print "Píxeles del eje Y: " valuePixels

Deja una respuesta

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *

Subir

Este sitio web utiliza cookies para mejorar la experiencia del usuario y garantizar un funcionamiento eficiente. Al utilizar nuestro sitio web, aceptas todas las cookies de acuerdo con nuestra política de cookies. Leer mas...