powered by simpleCommunicator - 2.0.59     © 2025 Programmizd 02
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Форумы / Visual Basic [игнор отключен] [закрыт для гостей] / Нужно определить границу поля печати
14 сообщений из 14, страница 1 из 1
Нужно определить границу поля печати
    #36911447
Полуламер
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Доброго времени, господа знатоки VBA ! Суть одной насущной проблемы: есть папка excel 2007 со множестовм листов, все - альбомной ориентации. Хотелось бы каким-нибудь образом получить значение правой границы печатного листа, т.е. речь идет не о позиции вертикальной разбивки страницы. Собственно моя задача - как можно более точно рассчитать ширину пустых столбцов, попарно чередующихся на листе со столбцами, заполненными данными. Посчитать общую ширину заполненных столбцов не проблема, но хотелось бы знать эту границу, чтобы можно было из чего-то вычитать. Мои собственные манипуляции с макросами не дали сколь-нибудь подходящих результатов, поэтому очень рассчитываю на мудый совет с вашей стороны.
...
Рейтинг: 0 / 0
Нужно определить границу поля печати
    #36911484
Фотография Shocker.Pro
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Полуламер,

посмотрите объект PageSetup
...
Рейтинг: 0 / 0
Нужно определить границу поля печати
    #36911607
Полуламер
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Уже смотрел. Если Вы имеете в виду комбинацию свойств Zoom=false и FitToPagesWide=1, то ничего хорошего из этого не вышло. Да, столбцы умещаются все целиком, но таблица на печати выглядит уменьшенной и съеженной.
...
Рейтинг: 0 / 0
Нужно определить границу поля печати
    #36911638
Фотография ПЕНСИОНЕРКА
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Полуламер,

вы используете автоподгонку ширины столбца или вывод в масштабе ....
...
Рейтинг: 0 / 0
Нужно определить границу поля печати
    #36911689
Полуламер
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
ПЕНСИОНЕРКАПолуламер,

вы используете автоподгонку ширины столбца или вывод в масштабе ....

Простите, не совсем понял вопрос. Но тот сособ, каким я до этого пытался решить проблему, скорее всего соответствует первому варианту. Только подгонка у меня была не автоматическая, а чисто эмпирическая.
...
Рейтинг: 0 / 0
Нужно определить границу поля печати
    #36911748
Фотография Shocker.Pro
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
ПолуламерЕсли Вы имеете в виду комбинацию свойств
нет, я имел ввиду, что из него наверное можно рассчитать размер листа и полей.
...
Рейтинг: 0 / 0
Нужно определить границу поля печати
    #36911803
Полуламер
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Shocker.Pro , Такую возможность и я не исключал :) Но вот как? Потому и решился на создание новой темы.
...
Рейтинг: 0 / 0
Нужно определить границу поля печати
    #36911908
Фотография ПЕНСИОНЕРКА
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Полуламер,

одну из строк занимала строками типа( из подчеркиваний в цвете фона)
___ ___ _____ ___________ ________цех уч таб. январь февраль номер

далее автоподборка по ширине
...
Рейтинг: 0 / 0
Нужно определить границу поля печати
    #36913818
Полуламер
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
ПЕНСИОНЕРКА, возможно, это работает в определенных случаях, но по-моему выглядит слишком уж искусственно. К тому же мне заранее неизвестно, сколько должно быть столбцов.
Ладно, тогда другой вопрос к знатокам: есть ли какая-то функция по пересчету пикселей в символы? Все в курсе, полагаю, что супер-разработчики Excel задают ширину столбцов именно в символах и эта ширина загадочным образом переводится в пиксели, если потянуть мышью за заголовок столбца. Связь единиц измерения - сантиметров, дюймов, пунктов, пикселей - абсолютно ясна и прозрачна, но хоть кто-нибудь когда-нибудь кроме разрабов переводил из пикселей в символы? Потому что искомую ширину листа я знаю в чем угодно, кроме символов. А без этого опять получается замкнутый круг.
...
Рейтинг: 0 / 0
Нужно определить границу поля печати
    #36913916
Фотография Shocker.Pro
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Полуламер,

Как можно задавать ширину в символах, если ширина разных символов разная?
...
Рейтинг: 0 / 0
Нужно определить границу поля печати
    #36913979
Фотография ПЕНСИОНЕРКА
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Полуламер,

HELP EXCEL=================================
Ширина столбца на листе может иметь любое значение от 0 до 255. Это значение соответствует числу знаков, которые могут быть отображены в ячейке, отформатированной с использованием стандартного шрифта (Стандартный шрифт. Стандартный шрифт для текста на листе. Этот шрифт установлен по умолчанию для обычного стиля ячеек.). Ширина столбца по умолчанию составляет 8,43 знака. Если ширина столбца равна 0, столбец будет скрыт.

Высоту строки можно задать в пределах от 0 до 409. Это значение соответствует высоте строки в пунктах (1 пункт соответствует приблизительно 1/72 дюйма). Высота строки по умолчанию составляет 12,75 пункта. Если высота строки равна 0, строка будет скрыта.
...
Рейтинг: 0 / 0
Нужно определить границу поля печати
    #36913985
Полуламер
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Shocker.ProПолуламер,

Как можно задавать ширину в символах, если ширина разных символов разная?
Спросите об этом у разработчиков Excel - как они сумели до такого додуматься и задавать ширину столбцов исключительно в символах . Я не собираюсь переводить все земные меры в символы, мне интересно, как это происходит конкретно в Excel 2007, где в качестве стандарта для измерения ширины столбцов используется шрифт Calibri 11. Был бы он пропорциональный, я бы сейчас не задавал таких вопросов.
...
Рейтинг: 0 / 0
Нужно определить границу поля печати
    #36914677
Полуламер
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Ладно, уже нашел что хотел, во всяком случае для Excel 2007 это работает. Может кому-то и пригодится.

Из пикселей в количество символов (свойство ColumnWidth столбца):

Truncate(({pixels}-5)/{Maximum Digit Width} * 100+0.5)/100

Из количества символов в пойнты (свойство Width столбца):

Truncate([{Number of Characters} * {Maximum Digit Width} + {5 pixel padding}]/{Maximum Digit Width}*256)/256

Maximum Digit Width - естественно максимальная ширина символа шрифта Calibri размера 11, его значение 7. Первая формула для узких столбцов начиная с ширины pixsels=11 пикселей не работает, но это не так принципиально. Дополнительную информацию можно посмотреть здесь:

http://us.generation-nt.com/answer/excel-column-width-question-again-help-36317212.html
...
Рейтинг: 0 / 0
Нужно определить границу поля печати
    #36923762
Полуламер
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Вот, кстати, хитрая формула для перевода в символьные величины узких столбцов Excel 2007 с шириною от 0 до 12 пикселей.:

Код: plaintext
 0 . 08 *(round(px) div  3  + (round(px) mod  3 ) mod  2 ) +  0 . 17 *(round(px) div  3  + (round(px) mod  3 ) div  2 )

где px - число пиксейлей (от 0 до 12). Кому интересно, можете проверить.
...
Рейтинг: 0 / 0
14 сообщений из 14, страница 1 из 1
Форумы / Visual Basic [игнор отключен] [закрыт для гостей] / Нужно определить границу поля печати
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]