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

Тема в разделе "Lotus - Программирование", создана пользователем DNT, 1 фев 2006.

  1. DNT

    DNT Постоялец форума
    Lotus team

    Регистрация:
    12 окт 2005
    Сообщения:
    592
    Симпатии:
    7
    Была ли у кого-то ситуация когда необходимо экспортить данные в Ексель, но не создавать каждый раз новый док, а использовать имеющийся, добавляя в него записи? Возможно ли это вообще?
     
  2. Medevic

    Medevic Что это ? :)
    Lotus team

    Регистрация:
    10 дек 2004
    Сообщения:
    3.346
    Симпатии:
    2
    Ага. Вот так:
    Код (Text):
    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
     
  3. DNT

    DNT Постоялец форума
    Lotus team

    Регистрация:
    12 окт 2005
    Сообщения:
    592
    Симпатии:
    7
    Огромадное вам спасибо.
     
  4. DNT

    DNT Постоялец форума
    Lotus team

    Регистрация:
    12 окт 2005
    Сообщения:
    592
    Симпатии:
    7
    <!--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]


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

    Medevic Что это ? :)
    Lotus team

    Регистрация:
    10 дек 2004
    Сообщения:
    3.346
    Симпатии:
    2
    Скорее всего локальный путь.
     
  6. DNT

    DNT Постоялец форума
    Lotus team

    Регистрация:
    12 окт 2005
    Сообщения:
    592
    Симпатии:
    7
    <!--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"?
     
  7. DNT

    DNT Постоялец форума
    Lotus team

    Регистрация:
    12 окт 2005
    Сообщения:
    592
    Симпатии:
    7
    Путь таки да локальный.
    Получилось, только немного по другому:

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

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

    Medevic Что это ? :)
    Lotus team

    Регистрация:
    10 дек 2004
    Сообщения:
    3.346
    Симпатии:
    2
    Если код не в серверном агенте, то путь локальный. Формат правильный.
    Как делаешь ? Не получается что ? Какую выдает ошибку ?
     
  9. Medevic

    Medevic Что это ? :)
    Lotus team

    Регистрация:
    10 дек 2004
    Сообщения:
    3.346
    Симпатии:
    2
    <!--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]
    Так и надо было делать.

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

    DNT Постоялец форума
    Lotus team

    Регистрация:
    12 окт 2005
    Сообщения:
    592
    Симпатии:
    7
    <!--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 надпись "Только чтение".
     
  11. Medevic

    Medevic Что это ? :)
    Lotus team

    Регистрация:
    10 дек 2004
    Сообщения:
    3.346
    Симпатии:
    2
    У Open третий параметр устанавливает режим RO.
    Попробуй так
    Код (Text):
    Set xlWorkbook = xl.Workbooks.Open ("C:\test.xls", , False)
     
  12. DNT

    DNT Постоялец форума
    Lotus team

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

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

    Medevic Что это ? :)
    Lotus team

    Регистрация:
    10 дек 2004
    Сообщения:
    3.346
    Симпатии:
    2
    В хелпе по VBA.
     
Загрузка...

Поделиться этой страницей