Гость
Целевая тема:
Создать новую тему:
Автор:
Форумы / ADO.NET, LINQ, Entity Framework, NHibernate, DAL, ORM [игнор отключен] [закрыт для гостей] / Excel / 7 сообщений из 7, страница 1 из 1
07.09.2007, 11:54
    #34783813
hum_i
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Excel
Добрый день! Помогите пожалуйста, как можно в прописать в коде, чтобы выводилась динамическая рамка
ws.Range("D4", "R18").Borders.LineStyle = xlEdgeLeft

Dim dr1 As SqlDataReader
dr1 = comm1.ExecuteReader
Dim k As Integer
k = 5
While dr1.Read()
ws.Cells(k, 2) = dr1(0)
ws.Cells(k, 3) = dr1(1)
k = k + 1
End While
dr1.Close()

app.Visible() = True

Заранее спасибо.
...
Рейтинг: 0 / 0
07.09.2007, 15:19
    #34784765
Витал
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Excel
Не понятно, что именно не понятно...
...
Рейтинг: 0 / 0
07.09.2007, 16:04
    #34784957
hum_i
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Excel
Я выгружаю данные из запроса в файл Excel. Я даю названия столбцам в конкретных ячейках

ws.Cells(4, 4) = "Дата поступления заказа"
ws.Cells(4, 5) = "Номер заказа"
ws.Cells(4, 6) = "Имя заказчика"
и т. д.
Также я с помощью этого фрагмента кода я произвожу форматирование ячеек: толщина, размер шрифта, выравнивание по центру, граница вокруг таблицы
With ws.Range("B4").ColumnWidth = 28
ws.Range("B5").ColumnWidth = 28
ws.Range("B6").ColumnWidth = 28
ws.Range("B7").ColumnWidth = 28
'ws.Range("B4", "R4").Font.Size = 18
ws.Range("B4", "R4").Font.Bold = True
ws.Range("B4", "C7").Borders.LineStyle = xlEdgeLeft
ws.Range("I2").Font.Bold = True
ws.Range("J2").Font.Bold = True
ws.Range("D4", "R4").HorizontalAlignment = xlHAlignCenter
ws.Range("D4").ColumnWidth = 25
ws.Range("E4").ColumnWidth = 25
ws.Range("D4", "R18").Borders.LineStyle = xlEdgeLeft <-Граница вокруг таблицы
ws.Range("A8", "C15")
End With

Но так как выводимые данные динамические т.е. я не знаю точно сколько будет строк, поэтому в цикле нужно как-то прописать чтобы граница охватывала тоько то количество строк которое формируется при запуске


Dim dr1 As SqlDataReader
dr1 = comm1.ExecuteReader
Dim k As Integer
k = 5
While dr1.Read()
ws.Cells(k, 2) = dr1(0)
ws.Cells(k, 3) = dr1(1)<-Где-то здесь нужно это указать, но я не знаю как
k = k + 1
End While
dr1.Close()

app.Visible() = True
...
Рейтинг: 0 / 0
07.09.2007, 16:19
    #34785009
buser
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Excel
А QueryTables чем не угодило?
...
Рейтинг: 0 / 0
10.09.2007, 14:28
    #34788425
Витал
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Excel
авторk = 5
While dr1.Read()
ws.Cells(k, 2) = dr1(0)
ws.Cells(k, 3) = dr1(1)<-Где-то здесь нужно это указать, но я не знаю как
k = k + 1
End While
По окончании цикла k -1 = количеству добавленных записей, а дальше
Код: plaintext
ws.Range(ws.Cells( 5 ,  1 ), ws.Cells(k- 1 ,  6 )).Borders.LineStyle = xlEdgeLeft
...
Рейтинг: 0 / 0
11.09.2007, 08:54
    #34789923
hum_i
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Excel
Большое спасибо, все получилось.
...
Рейтинг: 0 / 0
11.09.2007, 16:05
    #34791773
Ex_Soft
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Excel
можно воспользоваться еще
Код: plaintext
1.
2.
3.
Range1=Cells.OlePropertyGet("SpecialCells", 11  /*xlCellTypeLastCell*/);
tmpInt=Range1.OlePropertyGet("Column");
tmpInt=Range1.OlePropertyGet("Row"); 
_________________
"Helo, word!" - 17 errors 56 warnings
...
Рейтинг: 0 / 0
Форумы / ADO.NET, LINQ, Entity Framework, NHibernate, DAL, ORM [игнор отключен] [закрыт для гостей] / Excel / 7 сообщений из 7, страница 1 из 1
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]