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

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

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

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

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

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

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

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

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

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

Как можно задавать ширину в символах, если ширина разных символов разная?
Спросите об этом у разработчиков Excel - как они сумели до такого додуматься и задавать ширину столбцов исключительно в символах . Я не собираюсь переводить все земные меры в символы, мне интересно, как это происходит конкретно в Excel 2007, где в качестве стандарта для измерения ширины столбцов используется шрифт Calibri 11. Был бы он пропорциональный, я бы сейчас не задавал таких вопросов.
...
Рейтинг: 0 / 0
22.10.2010, 14:22
    #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
27.10.2010, 17:50
    #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
Форумы / Visual Basic [игнор отключен] [закрыт для гостей] / Нужно определить границу поля печати / 14 сообщений из 14, страница 1 из 1
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


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