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

  • Автор темы DNT
  • Дата начала
D

DNT

Была ли у кого-то ситуация когда необходимо экспортить данные в Ексель, но не создавать каждый раз новый док, а использовать имеющийся, добавляя в него записи? Возможно ли это вообще?
 

Medevic

Что это ? :)
Green Team
10.12.2004
3 334
1
BIT
6
Ага. Вот так:
Код:
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
 
D

DNT

<!--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]


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

DNT

<!--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"?
 
D

DNT

Путь таки да локальный.
Получилось, только немного по другому:

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

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

Medevic

Что это ? :)
Green Team
10.12.2004
3 334
1
BIT
6
Если код не в серверном агенте, то путь локальный. Формат правильный.
Как делаешь ? Не получается что ? Какую выдает ошибку ?
 

Medevic

Что это ? :)
Green Team
10.12.2004
3 334
1
BIT
6
<!--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]
Так и надо было делать.

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

DNT

<!--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

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

DNT

<!--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]

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

Обучение наступательной кибербезопасности в игровой форме. Начать игру!