Текущий архив: 2006.07.23;
Скачать: CL | DM;
Вниз
Точная печать в Excel Найти похожие ветки
← →
Rentgen © (2006-06-21 11:00) [0]Всем привет!!!
Подскажите, кто знает:
можно, ли в Excel установить ширину столбцов в мм для печати?
насколько я понял, по умолчанию ед. измерения столбцов в Excel - это размер стандартного символа. но для печати точных таблиц это не серъезно.
Дело в том, что нужно генерировать столбцы в соотв. с ГОСТом, а там как Вы знаете любят точность :)
буду очень признателен за ЛЮБУЮ помощь!!!
...очень нужно
← →
KilkennyCat © (2006-06-21 11:15) [1]В отличие от Microsoft Word в Excel нет горизонтальных и вертикальных линеек, это приложение не позволяет быстро измерить ширину или высоту листа в сантиметрах. В качестве единиц измерения в Excel используются символы, пункты и пикселы.
Ширина ячейки отображается в символах или пикселах, а не в сантиметрах. Если потянуть границу заголовка столбца при настройке ширины столбцов на листе, на всплывающей подсказке отобразится ширина столбца в символах, а в скобках будет указана ширина столбца в пикселах.
Высота ячеек отображается в пунктах и пикселах, а не в сантиметрах. Если потянуть границу заголовка строки при настройке высоты строк на листе, на всплывающей подсказке отобразится высота в пунктах, а скобках будет указана высота в пикселах.
В следующей таблице содержатся примерные значения преобразований пунктов и пикселов в сантиметры.
Пункты Пикселы Сантиметры
18 24 0,63
36 48 1,25
72 96 2,5
108 144 3,75
144 192 5
из справки
← →
Rentgen © (2006-06-21 12:04) [2]спасибо!
хотя эт мы читали :(
думал есть "народный" способ
← →
Суслик © (2006-06-22 00:29) [3]у них есть такая особенность - устанваливать можно только в символах, а получать текущую ширину можно в точных единицаз (пунктах кажется).
поэтому я в свое время делал методом деления пополам:
1. утснавливаешь ширину в символах.
2. получашь в пунктах.
3. делишь пополам
и т.д.
(думаю метод дел. пополам известен тебе).
добиался достаточной точности - до 1 мм
← →
Суслик © (2006-06-22 00:46) [4]что-то типа такого
procedure SetColWidth(const aX: Variant; const aWidth: Double);
var
kI: Double;
kPoints: Double;
begin
kPoints := Convert(aWidth, duMillimeters, duPoints);
kI := 0;
while True do
begin
fCol(aX).ColumnWidth := kI;
if fCol(aX).Width > kPoints then Break;
if fCol(aX+1).Left - fCol(aX).Left > kPoints then Break;
kI := kI+0.5;
end;
end;
деталей не помню (что тут символы, я что мм - доку сам смотри), но этот код работает.
Вообще там есть некоторая подгрешность - т.е. вроде метод сошелся, но на печати на 1 мм больше - это вроде какой-то margin есть (доки по этому ноль).
← →
Суслик © (2006-06-22 00:48) [5]Я тут полумал, что, наверное, ты не про взаимодействие с excel через ole спрашивал - я то именно на это отвечал.
но может все равно полезно будет.
← →
vidiv © (2006-06-22 05:51) [6]Можно макрос написать простенький с простой формой, который будет устанавливать ширину и высоту в чем угодно
← →
Rentgen © (2006-06-22 07:54) [7]
> Я тут полумал, что, наверное, ты не про взаимодействие с
> excel через ole спрашивал - я то именно на это отвечал.
> но может все равно полезно будет.
именно через ОЛЕ
← →
Rentgen © (2006-06-22 07:54) [8]
> Я тут полумал, что, наверное, ты не про взаимодействие с
> excel через ole спрашивал - я то именно на это отвечал.
> но может все равно полезно будет.
именно через ОЛЕ.
***
СПАСИБО!!!
← →
Карелин Артем © (2006-06-22 08:10) [9]IWindow.PointsToScreenPixelsY
Дает нам перевод точек ексельных в экранные. Экранные точки в миллиметры надеюсь перевести не особо затруднительно.
← →
Суслик © (2006-06-23 00:09) [10]
> Карелин Артем © (22.06.06 08:10) [9]
что такое iwindow?
вообще в excele стандартный шрифт может быть любым (задается где-то в настройках екселя). я когдя экспорт в бинарный формат excel писал замаялся с этим.
Неужели есть более просто способ?
← →
Карелин Артем © (2006-06-23 00:48) [11]
> Суслик © (23.06.06 00:09) [10]
> что такое iwindow?
Это интерфейс екселя.
Страницы: 1 вся ветка
Текущий архив: 2006.07.23;
Скачать: CL | DM;
Память: 0.47 MB
Время: 0.012 c