Предыдущая тема :: Следующая тема |
Автор |
Сообщение |
eviL Гость
|
Добавлено: Пн Апр 29 2002 07:56 Заголовок сообщения: люди, хеееелп... |
|
|
есть проблемка, может кто поможет мне ее решить. Работаю с Com-объектами. Проблема состоит в том, что нужно создать объединение нескольких ячеек в Excel. Как это можно реализовать по принципу: Variant V = CreateOleObject("Excel.Application"); V.Exec(PropertySet("Visible") |
|
Вернуться к началу |
|
|
Old_Den Гость
|
Добавлено: Пн Апр 29 2002 09:35 Заголовок сообщения: Re: люди, хеееелп... |
|
|
Чтобы объединить нужно задать Range и у него вызвать метод Merge Set r = Range("d3:d7") r.Merge Дальше уж подумай, как это написать. |
|
Вернуться к началу |
|
|
Mike
Зарегистрирован: 17.11.2001 Сообщения: 339 Откуда: ekb
|
Добавлено: Пн Апр 29 2002 14:36 Заголовок сообщения: Re: люди, хеееелп... |
|
|
Напиши макрос в экселе и посмотри текст |
|
Вернуться к началу |
|
|
eviL Гость
|
Добавлено: Вт Апр 30 2002 06:17 Заголовок сообщения: Re: люди, хеееелп... |
|
|
это все понятно, но только проблемка при обращении к ячейки... он вообще говорит что я не понимаю что такое "Cells". И как можно вообще эту "r" обозначить??? Ну я понимаю что я полный чайник, но все равно не догоняю немного... |
|
Вернуться к началу |
|
|
Mike
Зарегистрирован: 17.11.2001 Сообщения: 339 Откуда: ekb
|
Добавлено: Вт Апр 30 2002 06:29 Заголовок сообщения: Re: люди, хеееелп... |
|
|
у "r" тип будет Variant вот пример кода, который я использовал, сделай по аналогии AnsiString Range(int x,int y) { int R='Z'-'A'+1; char R0='A';
AnsiString Out; while(x) { Out=AnsiString(char(int(x%R)+R0))+Out; x/=R; } if (Out.Length() |
|
Вернуться к началу |
|
|
Mike
Зарегистрирован: 17.11.2001 Сообщения: 339 Откуда: ekb
|
Добавлено: Вт Апр 30 2002 06:29 Заголовок сообщения: Re: люди, хеееелп... |
|
|
Блин, она все отрезала, вобщем, пиши на мыло, если надо |
|
Вернуться к началу |
|
|
eviL Гость
|
Добавлено: Вт Апр 30 2002 06:30 Заголовок сообщения: Re: люди, хеееелп... |
|
|
у какого метода вызывать метод Range? У Workbooks, Worksheets? по идее у 2-го, но у меня он все равно выдает, что я не могу понять что такое Range. И хоть что ему доказывай, не отступается. Я к чему только его не приделывал, даже пробовал V.Exec(PropertyGet("Item") |
|
Вернуться к началу |
|
|
eviL Гость
|
Добавлено: Вт Апр 30 2002 06:49 Заголовок сообщения: Re: люди, хеееелп... |
|
|
есть проблема, он не хочет отправлять тебе письмо, могет у тебя получится, пришли мне примерчик на evil@mcde.osu.ru. Буду очень признателен. Смогешь сделать так, чтобы он обращался конкретно по V.Exec... Заранее благодарен. |
|
Вернуться к началу |
|
|
Old_Den Гость
|
Добавлено: Вт Апр 30 2002 06:53 Заголовок сообщения: Re: люди, хеееелп... |
|
|
Range - это не метод, а объект "Диапазон". Есть у листа. То бишь у ActiveSheet (Активный лист) тоже есть. |
|
Вернуться к началу |
|
|
eviL Гость
|
Добавлено: Вт Май 07 2002 06:43 Заголовок сообщения: Re: люди, хеееелп... |
|
|
Да я это знаю, у меня есть встречный вопрос назасыпку, в объединенных ячейках как можно текст выровнять по середине, т.е. по вертикали... По макросам посмотрел, что есть такой метод как HorizontalAlignment, но у меня почему-то он юзаться не хочет... В чем может быть проблема, судя по макросу это метод, поэтому я его пытаюсь юзануть как: r.Exec(Procedure("Horizontalalignment") |
|
Вернуться к началу |
|
|
|