Что нового

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

vovsla

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

kaster

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

kaster

Мой Аватар, он лучший самый
Команда форума
Глобальный модератор
Сообщения
4,020
Репутация
623
Проверялось на 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

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

vovsla

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


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

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