Office temlate - нарисовать(обрамить) ячейку
Модератор: Дед Пахом
Правила форума
При написании вопроса или обсуждении проблемы, не забывайте указывать версию Clarion который Вы используете.
А так же пользуйтесь спец. тегами при вставке исходников!!!
При написании вопроса или обсуждении проблемы, не забывайте указывать версию Clarion который Вы используете.
А так же пользуйтесь спец. тегами при вставке исходников!!!
-
- Ветеран
- Сообщения: 390
- Зарегистрирован: 26 Август 2009, 12:41
- Откуда: Moscow
- Контактная информация:
Office temlate - нарисовать(обрамить) ячейку
Добрый день!
Кларион 6.3.
Использую "with" для выравнивания данных в ячейке Excel (как в примере доки) - все работает.
! Example code to emulate the "with...endwith" VBA syntax
LOOP I# = 15 TO 18
MSExcel1.Select(I#,1)
MSExcel1.With('Selection.')
MSExcel1.SetProperty('HorizontalAlignment',xlRight)
MSExcel1.SetProperty('VerticalAlignment',xlTop)
MSExcel1.EndWith()
END!LOOP
Не могу сделать такую же конструкцию для заливки ячейки цветом и (более важное) обрисовки ячейки.
Алексей
Кларион 6.3.
Использую "with" для выравнивания данных в ячейке Excel (как в примере доки) - все работает.
! Example code to emulate the "with...endwith" VBA syntax
LOOP I# = 15 TO 18
MSExcel1.Select(I#,1)
MSExcel1.With('Selection.')
MSExcel1.SetProperty('HorizontalAlignment',xlRight)
MSExcel1.SetProperty('VerticalAlignment',xlTop)
MSExcel1.EndWith()
END!LOOP
Не могу сделать такую же конструкцию для заливки ячейки цветом и (более важное) обрисовки ячейки.
Алексей
- Admin
- Администратор
- Сообщения: 4010
- Зарегистрирован: 05 Июль 2005, 15:59
- Откуда: Хабаровск
- Благодарил (а): 53 раза
- Поблагодарили: 33 раза
- Контактная информация:
Re: Office temlate - нарисовать(обрамить) ячейку
Макрос пробовал записать и посмотреть код?
Рай совершает ошибки ничуть не реже чем ад. Просто у него хорошая пресса
-
- Ветеран
- Сообщения: 390
- Зарегистрирован: 26 Август 2009, 12:41
- Откуда: Moscow
- Контактная информация:
Re: Office temlate - нарисовать(обрамить) ячейку
Добрый день!
Так и делал, получил типа:
MSExcel1.With('Selection.Borders((xlEdgelift))')
MSExcel1.SetProperty('LineStyle',xlContinuous)
MSExcel1.SetProperty('ColorIndex',0)
MSExcel1.SetProperty('TintAndShade',0)
MSExcel1.SetProperty('Weight',xlThick)
MSExcel1.EndWith()
Вот эта конструкция и не работает
Алексей
Так и делал, получил типа:
MSExcel1.With('Selection.Borders((xlEdgelift))')
MSExcel1.SetProperty('LineStyle',xlContinuous)
MSExcel1.SetProperty('ColorIndex',0)
MSExcel1.SetProperty('TintAndShade',0)
MSExcel1.SetProperty('Weight',xlThick)
MSExcel1.EndWith()
Вот эта конструкция и не работает
Алексей
-
- Старожил
- Сообщения: 280
- Зарегистрирован: 11 Февраль 2009, 8:41
- Откуда: г. Анапа
- Поблагодарили: 3 раза
Re: Office temlate - нарисовать(обрамить) ячейку
OleObj{'Range("' & Rng & '").Select'}
OleObj{'Selection.Borders(' & xlDiagonalDown & ').LineStyle'} = xlNone
OleObj{'Selection.Borders(' & xlDiagonalUp & ').LineStyle'} = xlNone
OleObj{'Selection.Borders.LineStyle'} = xlContinuous
OleObj{'Selection.Borders.Weight'} = xlThin
OleObj{'Selection.Borders.ColorIndex'} = xlAutomatic
М.б. здесь есть что-то лишнее, но, скорее всего, я это взял из макроса. Уже не помню. Сделано по принципу: работает и х. с ним.
OleObj{'Selection.Borders(' & xlDiagonalDown & ').LineStyle'} = xlNone
OleObj{'Selection.Borders(' & xlDiagonalUp & ').LineStyle'} = xlNone
OleObj{'Selection.Borders.LineStyle'} = xlContinuous
OleObj{'Selection.Borders.Weight'} = xlThin
OleObj{'Selection.Borders.ColorIndex'} = xlAutomatic
М.б. здесь есть что-то лишнее, но, скорее всего, я это взял из макроса. Уже не помню. Сделано по принципу: работает и х. с ним.
-
- Ветеран
- Сообщения: 390
- Зарегистрирован: 26 Август 2009, 12:41
- Откуда: Moscow
- Контактная информация:
Re: Office temlate - нарисовать(обрамить) ячейку
Добрый день!
Спасибо, все работает.
. Теперь буду соотносить с office template.
Алексей
Спасибо, все работает.
. Теперь буду соотносить с office template.
Алексей
-
- Старожил
- Сообщения: 280
- Зарегистрирован: 11 Февраль 2009, 8:41
- Откуда: г. Анапа
- Поблагодарили: 3 раза
Re: Office temlate - нарисовать(обрамить) ячейку
Лет эдак пять назад я пытался использовать OT, но иногда из-за них программа валилась. Разбираться не стал. Сделал несколько функций, с ними и работаю. И нисколько не жалею, что отказался от OT.
-
- ✯ Ветеран ✯
- Сообщения: 1038
- Зарегистрирован: 08 Июль 2005, 6:48
- Откуда: Россия
- Поблагодарили: 1 раз
Re: Office temlate - нарисовать(обрамить) ячейку
Алексей- Софт-Центр писал(а):Добрый день!
Спасибо, все работает.
. Теперь буду соотносить с office template.
Код: Выделить всё
MSExcel9.Select('A'&row+1&':G'&row+1)
MSExcel9.SetFontSize(10)
MSExcel9.SetWrapText(True) !Excel.Selection.WrapText:=true;
MSExcel9.SetProperty('Selection.Interior.ColorIndex', 4) ! сделать зеленый фон
MSExcel9.SetProperty('Selection.VerticalAlignment',-4160) !
MSExcel9.SetProperty('Selection.Borders(' & xlDiagonalDown & ').LineStyle', xlNone)
MSExcel9.SetProperty('Selection.Borders(' & xlDiagonalUp & ').LineStyle', xlNone)
MSExcel9.SetProperty('Selection.Borders.LineStyle', xlContinuous)
MSExcel9.SetProperty('Selection.Borders.Weight', xlThin)
MSExcel9.SetProperty('Selection.Borders.ColorIndex', xlAutomatic)
-
- Ветеран
- Сообщения: 390
- Зарегистрирован: 26 Август 2009, 12:41
- Откуда: Moscow
- Контактная информация:
Re: Office temlate - нарисовать(обрамить) ячейку
Добрый день!
Спасибо огромное. Все работает.
Тему можно закрыть.
Алексей
Спасибо огромное. Все работает.
Тему можно закрыть.
Алексей