Что нового

Exel - выделение границ ячеек

vovsla

Осваивающий
Сообщения
546
Репутация
26
Есть какая-либо функция для выделение границ ячеек по одной или указанного диапазона?
 

kaster

Мой Аватар, он лучший самый
Команда форума
Глобальный модератор
Сообщения
4 020
Репутация
622
что значит выделить границу? может на скрине покажешь? мне в голову приходит только выделение самой ячейки, диапазона ячеек, столбцов или строк...
 
Автор
V

vovsla

Осваивающий
Сообщения
546
Репутация
26
см. скрин
 

kaster

Мой Аватар, он лучший самый
Команда форума
Глобальный модератор
Сообщения
4 020
Репутация
622
Проверялось на 2007 офисе. на остальных не знаю
Код:
$oExcel = ObjCreate('Excel.Application')
$oExcel.WorkBooks.Add(-4167)
$oExcel.Visible = 1
$xlEdgeLeft = 7
$xlEdgeRight = 10
$xlEdgeTop = 8
$xlEdgeBottom = 9
$xlContinuous = 1
$xlAutomatic = -4105
$xlThin = 2
$xlInsideHorizontal = 12
$xlInsideVertical = 11
$oSel = $oExcel.ActiveWorkBook.ActiveSheet.Range('C2:D25'); Здесь указываем диапазон
With $oSel.Borders($xlEdgeLeft)
	.LineStyle = $xlContinuous
	.ColorIndex = $xlAutomatic
	.TintAndShade = 0
	.Weight = $xlThin
EndWith
With $oSel.Borders($xlEdgeTop)
	.LineStyle = $xlContinuous
	.ColorIndex = $xlAutomatic
	.TintAndShade = 0
	.Weight = $xlThin
EndWith
With $oSel.Borders($xlEdgeBottom)
	.LineStyle = $xlContinuous
	.ColorIndex = $xlAutomatic
	.TintAndShade = 0
	.Weight = $xlThin
EndWith
With $oSel.Borders($xlEdgeRight)
	.LineStyle = $xlContinuous
	.ColorIndex = $xlAutomatic
	.TintAndShade = 0
	.Weight = $xlThin
EndWith
With $oSel.Borders($xlInsideVertical)
	.LineStyle = $xlContinuous
	.ColorIndex = $xlAutomatic
	.TintAndShade = 0
	.Weight = $xlThin
EndWith
With $oSel.Borders($xlInsideHorizontal)
	.LineStyle = $xlContinuous
	.ColorIndex = $xlAutomatic
	.TintAndShade = 0
	.Weight = $xlThin
EndWith
 
Автор
V

vovsla

Осваивающий
Сообщения
546
Репутация
26
Большое спасибо, всё работает.
С офисом 2003 строчка ".TintAndShade = 0" приводит к ошибке, а офису 2007 без разницы есть она или нет.
 
Автор
V

vovsla

Осваивающий
Сообщения
546
Репутация
26
всё прекрасно работает если я создаю новый документ, а если открываю уже существующий почему-то ошибка, программа не может назначить значение константе $xlEdgeLeft = 7


Добавлено:
Сообщение автоматически объединено:

понял в чём дело, переменные обозначаются заново которые уже обозначены в #include <Excel.au3> :smile:
вобщем всё ок
 
Верх