Logo Море(!) аналитической информации!
IT-консалтинг Software Engineering Программирование СУБД Безопасность Internet Сети Операционные системы Hardware
Архив форумов ЦИТФорума
Море(!) вопросов - Море(!) ответов
 
 FAQFAQ   ПоискПоиск   ПользователиПользователи   ГруппыГруппы   РегистрацияРегистрация 
 ПрофильПрофиль   Войти и проверить личные сообщенияВойти и проверить личные сообщения   ВходВход 
Как правильно задавать вопросы

Формат ячеек (цвет, шрифт, и.т.д) - как объект. Возможно ли такое?

 
Перейти:  
Этот форум закрыт, вы не можете писать новые сообщения и редактировать старые.   Эта тема закрыта, вы не можете писать ответы и редактировать сообщения.    Список форумов Архив форумов ЦИТФорума -> Программирование
Предыдущая тема :: Следующая тема  
Автор Сообщение
Илья
Гость





СообщениеДобавлено: Вт Июл 29 2003 23:43    Заголовок сообщения: Формат ячеек (цвет, шрифт, и.т.д) - как объект. Возможно ли такое? Ответить с цитатой

В чём проблема:
1. Нужно скопировать из одного листа в другой не только содержимое, но и вид ячейки
2. Читаем лист, в нём строки, если строка имеет такой-то формат то она является обычной строкой,
а если другой то, то - заголовком, а следовательно с ней нужно обращатщься по особому

Было бы здорово ... Если бы у объекта Range
(на сколько я понимаю: одна ячейка - это Range, две ячейки - Range, целый ряд - Range, свойство Selection - тоже Range и.т.д.)
существовало понятное свойство - Format. Которое бы содержало в себе всю лабуду
типа цвета, шрифта и прочее.
Есть нечто похожее на искомый "Format", называется -
Но мне лично не совсем понятна логика по которой этот зверь работает. (Буду рад если кто объяснит)
К тому же это нечто является Read only, то есть процедуру сравнения двух ячеек на основе "формата"
(если читать, что определяет формат) организовать можно, а вот копирование - никак.

Вообще то, формат ячейки определяется тремя её свойствами:: Interior, Borders и Font

Так что приходиться.. для создания процедуры копирования "формата" копировать отдельно Interior, Font, а вот
с Borders - проблема: Borders тоже является read only, более того, каждый его элемент - Border является read only.
Сам же Border - совокупность десятка свойств,то есть могжно организовать процедуру
копирования присваиванием, в ручную, каждого такого свойста копируемого объекта объекту, из которого мы
копируем.
Но помойму это не очень красиво. Может можно преукрасить эту процедуру, написав её как-нибудь поумнее
А может я вообще чего приципиально не понимаю

Напишите!!!
Вернуться к началу
Илья
Гость





СообщениеДобавлено: Ср Июл 30 2003 01:11    Заголовок сообщения: Прошу прощенья. В посте ошибки сделал, так что читайте здесь Ответить с цитатой

В чём проблема:
1. Нужно скопировать из одного листа в другой не только содержимое, но и вид ячейки
2. Читаем лист, в нём строки, если строка имеет такой-то формат то она является обычной строкой, а если другой то, то - заголовком, а следовательно с ней нужно обращатщься по особому. То есть должна быть возможность сравнивать "форматы"
Было бы здорово ... Если бы у объекта Range (на сколько я понимаю: одна ячейка - это Range, две ячейки - Range, целый ряд - Range, свойство Selection - тоже Range и.т.д.) существовало понятное свойство - Format. Которое бы содержало в себе всю лабуду типа цвета, шрифта и прочее. Есть нечто похожее на искомый "Format", называется - FormatCondition. Но мне лично не совсем понятна логика по которой этот зверь работает. (Буду рад если кто объяснит). К тому же это нечто является Read only, то есть процедуру сравнения двух ячеек на основе "формата" (если считать, что FormatConditions определяет формат) организовать можно, а вот копирование - никак.
Вообще то, формат ячейки определяется тремя её свойствами:: Interior, Borders и Font
Так что приходиться...  для создания процедуры копирования "формата" копировать отдельно Interior, Font, а вот
с Borders - проблема: Borders тоже является read only, более того, каждый его элемент - Border является read only.
Сам же Border - совокупность десятка свойств,то  есть можно организовать процедуру копирования присваиванием, в ручную, каждого такого свойста копируемого объекта объекту, из которого мы копируем.
Но помойму это не очень красиво. Может можно преукрасить эту процедуру, написав её как-нибудь поумнее?
         А может я вообще чего приципиально не понимаю?
Напишите!!!
Вернуться к началу
Борис
Гость





СообщениеДобавлено: Ср Июл 30 2003 13:44    Заголовок сообщения: Есть такая профессия -- Родину любить. Это не объяснить одним словом -- это всё разом. (+) Ответить с цитатой

Есть такой метод -- copy. Это не сделать одним дублированием -- это всё разом:

Worksheets("Sheet1").Range("A1:D4").Copy destination:=Worksheets("Sheet2").Range("E5")
Вернуться к началу
Илья
Гость





СообщениеДобавлено: Ср Июл 30 2003 17:45    Заголовок сообщения: Замечательно, вот этого мне и надо было. Ответить с цитатой

Единственно только - copy() не дублирует геомитрические размеры. Но это уже куда проще
Вернуться к началу
Показать сообщения:   
Этот форум закрыт, вы не можете писать новые сообщения и редактировать старые.   Эта тема закрыта, вы не можете писать ответы и редактировать сообщения.    Список форумов Архив форумов ЦИТФорума -> Программирование Часовой пояс: GMT + 3
Страница 1 из 1

 
Перейти:  
Вы не можете начинать темы
Вы не можете отвечать на сообщения
Вы не можете редактировать свои сообщения
Вы не можете удалять свои сообщения
Вы не можете голосовать в опросах


Powered by phpBB © 2001, 2002 phpBB Group
Русская поддержка phpBB

 

IT-консалтинг Software Engineering Программирование СУБД Безопасность Internet Сети Операционные системы Hardware

Информация для рекламодателей PR-акции, размещение рекламы — adv@citforum.ru,
тел. +7 495 6608306, ICQ 232284597
Пресс-релизы — pr@citforum.ru
Послать комментарий
Информация для авторов
This Web server launched on February 24, 1997
Copyright © 1997-2000 CIT, © 2001-2006 CIT Forum
Внимание! Любой из материалов, опубликованных на этом сервере, не может быть воспроизведен в какой бы то ни было форме и какими бы то ни было средствами без письменного разрешения владельцев авторских прав. Подробнее...