Функции VBA для перевода пикселей в твипы

Функции для перевода пикселей в твипы, и обратно

Function TwipsPerPixel(Optional ByVal Dimension As Long = LOGPIXELSY) As Long
    Const TwipsPerInch As Long = 1440: Dim DesktopDC As Long
    DesktopDC = GetDC(HWND_DESKTOP)
    TwipsPerPixel = TwipsPerInch / GetDeviceCaps(DesktopDC, Dimension)
    Call ReleaseDC(HWND_DESKTOP, DesktopDC)
End Function
Public Function TwipToPixel(ByVal Twips As Long) As Long    'перевод твипов в пиксели
    TwipToPixel = Twips / TwipsPerPixel()
End Function
Public Function PixelToTwip(ByVal Pixels As Long) As Long    'перевод пикселей в твипы
    PixelToTwip = Pixels * TwipsPerPixel()
End Function
 
Public Function PixelToTwipX(ByVal Pixels As Long) As Long: PixelToTwipX = Pixels * TwipsPerPixel(LOGPIXELSX): End Function
Public Function PixelToTwipY(ByVal Pixels As Long) As Long: PixelToTwipY = Pixels * TwipsPerPixel(LOGPIXELSY): End Function

Комментарии

Настройки просмотра комментариев

Выберите нужный метод показа комментариев и нажмите "Сохранить установки".

Что за копипаста? Не описаны функции в TwipsPerPixel.

ScaleMode = 1. Твип - единица измерения в пакете Офиса. 567 твипов составляют 1 см.
ScaleMode = 3. Пиксели.

Отправить комментарий

Содержание этого поля является приватным и не предназначено к показу.
CAPTCHA
Подтвердите, пожалуйста, что вы - человек:
  ____    _       _     _____         __   
/ ___| | |__ | |_ |__ / ____ / /_
\___ \ | '_ \ | __| / / |_ / | '_ \
___) | | | | | | |_ / /_ / / | (_) |
|____/ |_| |_| \__| /____| /___| \___/
Введите код, изображенный в стиле ASCII-арт.

Не получается применить макрос? Не удаётся изменить код под свои нужды?

Оформите заказ у нас на сайте, не забыв прикрепить примеры файлов, и описать, что и как должно работать.