Aptem |
Отправлено: 12.06.2004, 19:42 |
|
Мастер участка
Группа: Участник
Сообщений: 349
|
Привет, всем.
Я думаю вопрос понятен. Как объединить например ячейки A1 и B1 ? С Excel'ем я связываюсь через OLE.
Да, и еще заодно: Как поменять цвет и размер шрифта в ячейке ?
P.S. Только не нужно посылать меня на... УРОКИ и т.д. В УРОКАХ этого нет ! В архиве форума куча подобных вопросов, но ответов НЕТ!
Всем спасибо!
|
|
MDM |
Отправлено: 15.06.2004, 11:00 |
|
Не зарегистрирован
|
QUOTE (Aptem @ 12/06/2004, 20:44) | Привет, всем.
Я думаю вопрос понятен. Как объединить например ячейки A1 и B1 ? С Excel'ем я связываюсь через OLE.
Да, и еще заодно: Как поменять цвет и размер шрифта в ячейке ?
P.S. Только не нужно посылать меня на... УРОКИ и т.д. В УРОКАХ этого нет ! В архиве форума куча подобных вопросов, но ответов НЕТ!
Всем спасибо! |
Variant XL, v0, v1;
int xlCenter = 0xFFFFEFF4;
int xlContinuous = 1; /*xlContinuous — in Excel_97.h*/
XL = CreateOleObject("Excel.Application.8");
XL.OlePropertySet("Visible", true);
v0 = XL.OlePropertyGet("Workbooks");
v0.OleProcedure("Add");
v1 = v0.OlePropertyGet("Item", 1);
v0 = v1.OlePropertyGet("Worksheets");
v1 = v0.OlePropertyGet("Item", 1);
v0 = v1.OlePropertyGet("Range", "A1:B1");//выбрали
v0.OleProcedure("Select"); //
v0.OleProcedure("Merge"); //объединили — вишь как просто...
v0.OlePropertySet("Value", "Объединенные ячейки");//значение присвоили
v0.OlePropertySet("HorizontalAlignment", xlCenter); //выровнять по гор.
v0.OlePropertySet("VerticalAlignment", xlCenter); //выровнять по верт.
v0.OlePropertyGet("Font").OlePropertySet("Color",clBlue);//Зенит чемпион
v0.OlePropertyGet("Font").OlePropertySet("Bold",true);//пожирнее
v0.OlePropertyGet("Font").OlePropertySet("Size",14);
//че еще забыли? Бордюр надо...
v0.OlePropertyGet("Borders").OlePropertySet("LineStyle", xlContinuous);
XL.OlePropertySet("DisplayAlerts",false); //отключить диагностику при закрытии сервера
XL.OlePropertyGet("Workbooks").OlePropertyGet("Item",1).OleProcedure("SaveAs","test.xls");
XL.OleProcedure("Quit");
|
|
Nick |
Отправлено: 15.06.2004, 11:19 |
|
Машинист паровоза
Группа: Участник
Сообщений: 247
|
Гдеж ты был родной
я уже плюнул и растер эту проблемму макросом.
ну счас переделаю.
Это каким надо быть что без доков
методом тыка (предполагаю) дойти
я как не вертел ни крутил команды из
созданного макроса не смог понять всю
эту простоту.
Спасибо.
может ссылочку на доки дашь ???
|
|
Aptem |
Отправлено: 15.06.2004, 11:40 |
|
Мастер участка
Группа: Участник
Сообщений: 349
|
QUOTE (MDM @ 15/06/2004, 12:02) |
Variant XL, v0, v1;
int xlCenter = 0xFFFFEFF4;
int xlContinuous = 1; /*xlContinuous — in Excel_97.h*/
XL = CreateOleObject("Excel.Application.8");
XL.OlePropertySet("Visible", true);
v0 = XL.OlePropertyGet("Workbooks");
v0.OleProcedure("Add");
v1 = v0.OlePropertyGet("Item", 1);
v0 = v1.OlePropertyGet("Worksheets");
v1 = v0.OlePropertyGet("Item", 1);
v0 = v1.OlePropertyGet("Range", "A1:B1");//выбрали
v0.OleProcedure("Select"); //
v0.OleProcedure("Merge"); //объединили — вишь как просто...
v0.OlePropertySet("Value", "Объединенные ячейки");//значение присвоили
v0.OlePropertySet("HorizontalAlignment", xlCenter); //выровнять по гор.
v0.OlePropertySet("VerticalAlignment", xlCenter); //выровнять по верт.
v0.OlePropertyGet("Font").OlePropertySet("Color",clBlue);//Зенит чемпион
v0.OlePropertyGet("Font").OlePropertySet("Bold",true);//пожирнее
v0.OlePropertyGet("Font").OlePropertySet("Size",14);
//че еще забыли? Бордюр надо...
v0.OlePropertyGet("Borders").OlePropertySet("LineStyle", xlContinuous);
XL.OlePropertySet("DisplayAlerts",false); //отключить диагностику при закрытии сервера
XL.OlePropertyGet("Workbooks").OlePropertyGet("Item",1).OleProcedure("SaveAs","test.xls");
XL.OleProcedure("Quit"); |
Огромное спасибо! ВЫ мне очень помогли !
|
|
MDM |
Отправлено: 15.06.2004, 12:04 |
|
Не зарегистрирован
|
QUOTE | Гдеж ты был родной
я уже плюнул и растер эту проблемму макросом. |
Да здесь Я, здесь...
QUOTE | Это каким надо быть что без доков
методом тыка (предполагаю) дойти
я как не вертел ни крутил команды из
созданного макроса не смог понять всю
эту простоту. |
Что без доков Ты прав ну только не "тыка" конечно смотришь ExcelVBA и через Variant::OlePropertyGet/Set вперед. Весь прикол в том, что Я этим сам никогда раньше не пользовался спросили — ответил. Более того (каким надо быть) Я не програмист вообще.
QUOTE | Спасибо.
может ссылочку на доки дашь ??? |
ExcelVBA других нет. Если что шли вопросы разберем. |
|
|