Домашняя страница Undo Do New Save Карта сайта Обратная связь Поиск по форуму
МИР MS EXCEL - Гость.xls

Вход

Регистрация

Напомнить пароль

 

= Мир MS Excel/Влияние DPI (масштаба) винды на расчет координат в VBA - Мир MS Excel

Старая форма входа
  • Страница 1 из 1
  • 1
Модератор форума: китин, _Boroda_  
Мир MS Excel » Вопросы и решения » Вопросы по VBA » Влияние DPI (масштаба) винды на расчет координат в VBA (Макросы/Sub)
Влияние DPI (масштаба) винды на расчет координат в VBA
Assa Дата: Среда, 06.07.2016, 15:16 | Сообщение № 1
Группа: Пользователи
Ранг: Новичок
Сообщений: 21
Репутация: 0 ±
Замечаний: 0% ±

Excel 2013
Добрый день, форумчане!
Проблема следующая: при изменении масштаба в винде со 100% на какое-либо другое, координаты считаются неверно(по всей видимости есть какая-то формула для перерасчета).
Покажу на коротеньком примере:

a = ActiveSheet.Cells(currentRow + qntCurrency - 1, 1).Top
b = ActiveSheet.Cells(currentRow + qntCurrency - 1, 1).Height
с = Application.CentimetersToPoints(paperHeight) _
- ActiveSheet.PageSetup.BottomMargin _
- ActiveSheet.PageSetup.Top


    Для 100 %:

    • a = 281.25
    • b = 28.5
    • c = 566.9291


    Для 125%:

    • a = 284.4
    • b = 28.2
    • c = 566.9291


    Как видите при использовании команды TOP или HEIGHT мы получаем разные значение, причем для команды TOP значение a при 100% меньше чем при 125%, а для команды HEIGHT наоборот: значение b при 100% больше чем при 125%. При всем при этом координата с рассчитывается одинаково при любом масштабе. Собственно в этом и проблема. Здесь либо TOP и HEIGHT надо на что-то домножать, либо изменять формулу для расчета с или тоже на что-то домножать.
    Не подскажите как согласовать эти расчеты. Может быть есть какая либо пропорция? Я не смогла подобрать такого коэффициента. Заранее большое спасибо :)


Сообщение отредактировал Assa - Среда, 06.07.2016, 15:34
 
Ответить
СообщениеДобрый день, форумчане!
Проблема следующая: при изменении масштаба в винде со 100% на какое-либо другое, координаты считаются неверно(по всей видимости есть какая-то формула для перерасчета).
Покажу на коротеньком примере:

a = ActiveSheet.Cells(currentRow + qntCurrency - 1, 1).Top
b = ActiveSheet.Cells(currentRow + qntCurrency - 1, 1).Height
с = Application.CentimetersToPoints(paperHeight) _
- ActiveSheet.PageSetup.BottomMargin _
- ActiveSheet.PageSetup.Top


    Для 100 %:

    • a = 281.25
    • b = 28.5
    • c = 566.9291


    Для 125%:

    • a = 284.4
    • b = 28.2
    • c = 566.9291


    Как видите при использовании команды TOP или HEIGHT мы получаем разные значение, причем для команды TOP значение a при 100% меньше чем при 125%, а для команды HEIGHT наоборот: значение b при 100% больше чем при 125%. При всем при этом координата с рассчитывается одинаково при любом масштабе. Собственно в этом и проблема. Здесь либо TOP и HEIGHT надо на что-то домножать, либо изменять формулу для расчета с или тоже на что-то домножать.
    Не подскажите как согласовать эти расчеты. Может быть есть какая либо пропорция? Я не смогла подобрать такого коэффициента. Заранее большое спасибо :)

Автор - Assa
Дата добавления - 06.07.2016 в 15:16
Pelena Дата: Среда, 06.07.2016, 17:09 | Сообщение № 2
Группа: Админы
Ранг: Местный житель
Сообщений: 19167
Репутация: 4412 ±
Замечаний: ±

Excel 365 & Mac Excel
Здравствуйте.
Посмотрите эту тему. Там nerv, насколько я помню, тоже рассчитывал координаты с учётом DPI


"Черт возьми, Холмс! Но как??!!"
Ю-money 41001765434816
 
Ответить
СообщениеЗдравствуйте.
Посмотрите эту тему. Там nerv, насколько я помню, тоже рассчитывал координаты с учётом DPI

Автор - Pelena
Дата добавления - 06.07.2016 в 17:09
Assa Дата: Среда, 06.07.2016, 18:02 | Сообщение № 3
Группа: Пользователи
Ранг: Новичок
Сообщений: 21
Репутация: 0 ±
Замечаний: 0% ±

Excel 2013
Здравствуйте.
Посмотрите эту тему. Там nerv, насколько я помню, тоже рассчитывал координаты с учётом DPI

К сожалению DPI там используется только для перевода пикселей в поинты и наоборот (((
 
Ответить
Сообщение
Здравствуйте.
Посмотрите эту тему. Там nerv, насколько я помню, тоже рассчитывал координаты с учётом DPI

К сожалению DPI там используется только для перевода пикселей в поинты и наоборот (((

Автор - Assa
Дата добавления - 06.07.2016 в 18:02
Мир MS Excel » Вопросы и решения » Вопросы по VBA » Влияние DPI (масштаба) винды на расчет координат в VBA (Макросы/Sub)
  • Страница 1 из 1
  • 1
Поиск:

Яндекс.Метрика Яндекс цитирования
© 2010-2024 · Дизайн: MichaelCH · Хостинг от uCoz · При использовании материалов сайта, ссылка на www.excelworld.ru обязательна!