C++ Builder
| Главная | Уроки | Статьи | FAQ | Форум | Downloads | Литература | Ссылки | RXLib | Диски |

 
С++Builder + Excel, объединить ячейки Excel, разные шрифты
Admin
Отправлено: 03.02.2005, 22:32


Владимир

Группа: Администратор
Сообщений: 1190



Вопросы от посетителей сайта: (Жан)

Здравствуйте! подскажите пожалуйста как объединить ячейки Excel?
Как написать в одной ячейке слова с разными размерами шрифтов и в верхнем или нижнем индексе?
Спасибо!
AVC
Отправлено: 04.02.2005, 09:21


Ветеран

Группа: Модератор
Сообщений: 1583



Если в самом Excel, то разные параметры шрифта можно задавать прямо в строке редактирования содержимого ячейки. Выделить кусок и вперед. Контекстное меню с учтановкой формата так же работает на выделенный кусок.

Для автоматизации — снять протокол действий (записать макрос) и разумно перенсти в приложение.
Gedeon
Отправлено: 04.02.2005, 12:23


Ветеран

Группа: Модератор
Сообщений: 1742



Еще можно если работать надо с одним файлом записать и сохранить макросы в нем, а из своего приложения их вызывать.
Guest
Отправлено: 04.02.2005, 16:41


Не зарегистрирован







http://www.cbuilder.ru/WinLesson/Winles.htm

ребят вот прямо на этом сайте есть нужна инфа:)
Gedeon
Отправлено: 04.02.2005, 16:51


Ветеран

Группа: Модератор
Сообщений: 1742



QUOTE (Guest @ 04/02/2005, 15:43)
http://www.cbuilder.ru/WinLesson/Winles.htm

ребят вот прямо на этом сайте есть нужна инфа:)

biggrin.gif
Вы думаете админ об этом не знает?
Aptem
Отправлено: 05.02.2005, 09:00


Мастер участка

Группа: Участник
Сообщений: 349



Я делал так:
CODE

AnsiString r;
Variant Range;

//выбираем диапазон ячеек для объединения
r = "B" + IntToStr ( j ) + ":G" + IntToStr ( j );

Range = Sheet.OlePropertyGet ( "Range", r.c_str () );

//объединяем
Range.OleProcedure ( "Merge" );

//форматируем как надо
Range.OlePropertyGet( "Borders" ).OlePropertySet( "LineStyle", 1 );
Range.OlePropertyGet( "Borders" ).OlePropertySet( "Weight", 3 );
Range.OlePropertyGet ( "Font" ).OlePropertySet ( "Size", "12" );
Range.OlePropertyGet ( "Font" ).OlePropertySet ( "ColorIndex", "3" );
Range.OlePropertyGet ( "Font" ).OlePropertySet ( "Bold", true );
Range.OlePropertySet ( "NumberFormat", "@" );


...ну естественно перед всем этим нужно сделать CreateOleObject ( "Excel.Application" ); и т.д.

Вернуться в Вопросы программирования в C++Builder