Форумы Интермех
 ° Начало ° Ответить ° Статистика ° Регистрация ° Поиск ° RSS ° Wiki °

Форумы Интермех / Search, ImProject / Сценарии маршрутизатора и Excel
Автор Сообщение
freestyler
Участник
ОАО "Новая ЭРА", СПб

Дата: 6 Сен 2010 13:23:57


Делаю отчет в Эксель из маршрута.

Подскажите, пожалуйста, как сделать одну из границ ячейки видимой?

Все границы делаю так:
ws.Range("A7", "D7").Borders.Weight = 2

А с одной не получается:
ws.Range("A7", "D7").Borders(xlEdgeTop).Weight = 2

Или хотя бы как убрать рамки там, где они добавлены ранее?

Xabalov
Участник
ОАО "ЗМЗ" г.Заволжье Нижегородская обл.

Дата: 6 Сен 2010 14:09:25


Я всегда "списываю" у самого Excel. Лучше его никто не знает.
Вот из автоматически сформированного макроса
With Selection.Borders(xlEdgeRight)
.LineStyle = xlContinuous
.Weight = xlThin
End With
Похоже не хватало LineStyle = xlContinuous
xlContinuous тоже что нибудь = 1,2 или 3

freestyler
Участник
ОАО "Новая ЭРА", СПб

Дата: 6 Сен 2010 15:07:54 ° Поправил: freestyler


<div class="quoting">Цитата: Xabalov
Я всегда "списываю" у самого Excel.</div>

Только вот в маршрутизаторе это не всегда работает

Set excel = CreateObject("excel.application")
set wbook = excel.Workbooks.Add
set WS = wbook.ActiveSheet

WS.Range("A7","D7").Select

With Selection.Borders(xlEdgeRight)
.LineStyle = xlContinuous
.Weight = xlThin
End With

Пишет "Требуется объект selection"

Если писать:
excel.Selection; wbook.Selection; WS.Selection; With WS.Range("A2","J2").Borders(xlEdgeRight) - тоже выдает различные ошибки..

Ощущение что он не понимает, откуда у Borders какой-то аргумент взялся((

Xabalov
Участник
ОАО "ЗМЗ" г.Заволжье Нижегородская обл.

Дата: 6 Сен 2010 15:51:25


Я то хотел показать какой командой ставится бордюр.
Вот пример из реального скрипта в сценарии.
Почему именно через Range обращаемся к диапазону не могу сказать. Не сам делал. Рабочих примеров с Selection не нашел.
With objWorkbook.Worksheets(1)
.Range("$A$" & CStr(AI)).Value =npp
.Range("$B$" & CStr(AI)).NumberFormat = "@"
.Range("$B$" & CStr(AI)).Value = ListDet1_1
.Range("$C$" & CStr(AI)).NumberFormat = "General"
.Range("$C$" & CStr(AI)).Value = Listi
.Range("$C$" & CStr(AI)).WrapText = True
.Range("$B$" & CStr(AI)).WrapText = True
End With
objWorkbook.SAVE
objWorkbook.close true,MyFilename

Ваш ответ

Bold Style  Italic Style  Underlined Style  Image Link  Insert URL 
...



Перед отправкой "нелатинского" текста проверьте кодировку броузера!
 » Логин  » Пароль 
 

На форуме сейчас: гостей - 1
пользователей - 0
Наибольшее количество посетителей: 87 [1 Янв 2017 02:23:26]
гостей - 87 / пользователей - 0


miniВВ © 2001-2024