Версия для печати темы
Нажмите сюда для просмотра этой темы в оригинальном формате
Форум программистов > Delphi: ActiveX/СОМ/CORBA > Ширина столбцов в excel.


Автор: Yantarik 23.8.2007, 13:56
Как в Дельфи указать какую-то фиксированную ширину столбцов для Excel-я ?

Автор: volvo877 23.8.2007, 15:23
Чем не устраивает вот этот способ:
http://forum.vingrad.ru/index.php?showtopic=80931&view=findpost&p=625964 ?

Автор: Yantarik 23.8.2007, 15:57
Цитата(volvo877 @  23.8.2007,  15:23 Найти цитируемый пост)
Чем не устраивает вот этот способ:

Странно, мне его поиск не выдал...

Интересуют вапросы:
Как описывается -  ExcelApplication?
И 54 - это в см/дюймах/пикселях?

Автор: volvo877 23.8.2007, 16:16
Цитата(Yantarik @  23.8.2007,  15:57 Найти цитируемый пост)
Странно, мне его поиск не выдал...

Хм... Странно. Вторая ссылка внизу страницы...

Цитата(Yantarik @  23.8.2007,  15:57 Найти цитируемый пост)
Как описывается -  ExcelApplication?

Вообще-то это
Код

ExcelApplication1: TExcelApplication;
, но можно и
Код

var
  app: olevariant;

begin
  App:=CreateOleObject('Excel.Application');
  App.WorkBooks.Add(ExtractFilePath(ParamStr(0))+'start.xls');
  ...
  App.WorkBooks[1].WorkSheets[1].Range['A1', 'E1'].Columns.ColumnWidth := 15;
  ...


Цитата(Yantarik @  23.8.2007,  15:57 Найти цитируемый пост)
И 54 - это в см/дюймах/пикселях? 

Это "the number of characters that can be displayed in a cell formatted with the standard font"

Автор: pseud 23.8.2007, 17:41
Yantarik, 
если ты работаешь с тем примером, что я тебе писал, то можешь делать так
Код

XLSheet.Columns[i].ColumnWidth := 51;


Цитата(Yantarik @  23.8.2007,  15:57 Найти цитируемый пост)
И 54 - это в см/дюймах/пикселях?

вот что говорит хелп по excel.visualbasic
Цитата

One unit of column width is equal to the width of one character in the Normal style. For proportional fonts, the width of the character 0 (zero) is used.

Use the Width property to return the width of a column in points.


т.е. указывая 51 ты задаешь ширину равную длине 51 символа

а можно указать ширину в пикселах 
Код

XLSheet.Columns[i].Width := 151;


Автор: Albinos_x 23.8.2007, 20:46
в статье закреплённой вверху раздела, описывается данный случай...
здесь третья ссылка сверху внизу страницы...
http://forum.vingrad.ru/forum/topic-84634.html

Powered by Invision Power Board (http://www.invisionboard.com)
© Invision Power Services (http://www.invisionpower.com)