Добавить в книгу Excel

DNT

Постоялец форума
Lotus team
12.10.2005
590
2
#1
Была ли у кого-то ситуация когда необходимо экспортить данные в Ексель, но не создавать каждый раз новый док, а использовать имеющийся, добавляя в него записи? Возможно ли это вообще?
 

Medevic

Что это ? :)
Lotus team
10.12.2004
3 346
1
#2
Ага. Вот так:
Код:
Dim xl As Variant
Dim xlWorkbook As Variant
Dim xlSheet As Variant

Set xl = GetObject("", "Excel.Application")
Set xlWorkbook = xl.ActiveWorkbook
Set xlSheet = xlWorkbook.ActiveSheet
Получаем активную страницу. И вперед. :D
 

DNT

Постоялец форума
Lotus team
12.10.2005
590
2
#3
Огромадное вам спасибо.
 

DNT

Постоялец форума
Lotus team
12.10.2005
590
2
#4
<!--QuoteBegin-DNT+1:02:2006, 13:40 -->
<span class="vbquote">(DNT @ 1:02:2006, 13:40 )</span><!--QuoteEBegin-->Огромадное вам спасибо.
[snapback]30009" rel="nofollow" target="_blank[/snapback]​
[/quote]


Сорри, сразу в голову не пришло: а путь к файлу указывать относительно клиента или сервера?
 

DNT

Постоялец форума
Lotus team
12.10.2005
590
2
#6
<!--QuoteBegin-Medevic+1:02:2006, 13:52 -->
<span class="vbquote">(Medevic @ 1:02:2006, 13:52 )</span><!--QuoteEBegin-->Скорее всего локальный путь.
[snapback]30012" rel="nofollow" target="_blank[/snapback]​
[/quote]

Блин, никак не получается....

А какой должен иметь формат путь к файлу?? Может я не правильно указываю : "c:\test.xls"?
 

DNT

Постоялец форума
Lotus team
12.10.2005
590
2
#7
Путь таки да локальный.
Получилось, только немного по другому:

Set xl=CreateObject("Excel.Application")
Set xlWorkbook = xl.Workbooks.Open ("C:\test.xls")
Set xlsheet = xl.Workbooks(1).Worksheets(1)

Но порлучается, что я открыл этот файл только на чтение!!! А как на редактирование открыть?
 

Medevic

Что это ? :)
Lotus team
10.12.2004
3 346
1
#8
Если код не в серверном агенте, то путь локальный. Формат правильный.
Как делаешь ? Не получается что ? Какую выдает ошибку ?
 

Medevic

Что это ? :)
Lotus team
10.12.2004
3 346
1
#9
<!--QuoteBegin-DNT+1:02:2006, 14:28 -->
<span class="vbquote">(DNT @ 1:02:2006, 14:28 )</span><!--QuoteEBegin-->Путь таки да локальный.
Получилось, только немного по другому:

Set xl=CreateObject("Excel.Application")
Set xlWorkbook = xl.Workbooks.Open ("C:\test.xls")
Set xlsheet = xl.Workbooks(1).Worksheets(1)

Но порлучается, что я открыл этот файл только на чтение!!! А как на редактирование открыть?
[snapback]30015" rel="nofollow" target="_blank[/snapback]​
[/quote]
Так и надо было делать.

С чего решил, что только на чтение ?
 

DNT

Постоялец форума
Lotus team
12.10.2005
590
2
#10
<!--QuoteBegin-Medevic+1:02:2006, 14:34 -->
<span class="vbquote">(Medevic @ 1:02:2006, 14:34 )</span><!--QuoteEBegin-->Так и надо было делать.

С чего решил, что только на чтение ?
[snapback]30017" rel="nofollow" target="_blank[/snapback]​
[/quote]

:D
Сохраниться не даёт - предлагает указать другое имя файла + в заголовке Excel надпись "Только чтение".
 

Medevic

Что это ? :)
Lotus team
10.12.2004
3 346
1
#11
У Open третий параметр устанавливает режим RO.
Попробуй так
Код:
Set xlWorkbook = xl.Workbooks.Open ("C:\test.xls", , False)
 

DNT

Постоялец форума
Lotus team
12.10.2005
590
2
#12
<!--QuoteBegin-Medevic+1:02:2006, 14:51 -->
<span class="vbquote">(Medevic @ 1:02:2006, 14:51 )</span><!--QuoteEBegin-->У Open третий параметр устанавливает режим RO.
Попробуй так
Код:
Set xlWorkbook = xl.Workbooks.Open ("C:\test.xls", , False)
[snapback]30019" rel="nofollow" target="_blank[/snapback]​
[/quote]

Спасибо. Всё получилось. А где вообще можно почитать про команды для работы с Екселем - интересует редактирование полей, объединение полей и т.д.?