Пиксели Excel не пропорциональны точкам - PullRequest
0 голосов
/ 30 октября 2018

Я заметил, что (изменяя ширину столбца) ширина столбца, измеренная в точках, не пропорциональна размеру пикселя. Например, в 21,44 точках ширина столбца в пикселях равна 200. Но в 20 пикселях ширина становится 1,44 точки, а не ожидаемые 2,14 точки.

Это очень запутанно, так как я пытаюсь написать код на VBA, который будет делить определенный размер на 'n' разных столбцов одинакового размера. Кто-нибудь может объяснить эту ненормальность? Как я могу написать код для деления ширины (поскольку параметры ширины столбца указаны в точках)?

Спасибо

1 Ответ

0 голосов
/ 30 октября 2018

Так что я просто пробовал вещи и наткнулся на это.
Может быть, цифры не соответствуют "истинной" ширине. Если теория верна, то должно существовать такое смещение.
(21,44 + х) = 10 (1,44 + х)
х = 0,7822
Теперь давайте посмотрим, работает ли это смещение для других некоторых других длин. Для 80 пикселей длина, упомянутая в MS Excel, составляет 8,11 балла. Таким образом, истинная длина составляет 8,89. Истинная длина столбца с шириной 20 пикселей составляет 1,44 + 0,7822 = 2,222. Обратите внимание, что 2,222 * 4 = 8,89 ок. И это работает для некоторых других чисел, так что я думаю, что теория должна быть правильной.

Таким образом, чтобы ответить на вопрос, добавьте смещение 0,7822 к наблюдаемой ширине столбца, которую нужно разделить. Затем разделите его на «п». Вычтите смещение, чтобы получить длину «х». Затем используйте команду Columns (var) .ColumnWidth = x для каждого из n столбцов

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...