Проблема экспорта данных в Excel

Тема в разделе "Lotus - Программирование", создана пользователем KLif, 21 дек 2007.

Статус темы:
Закрыта.
  1. KLif

    KLif Гость

    Всем привет.

    Вообщем такая ситуация, есть библиотека для экспорта данных в эксель с набором процедур:
    CreateObjectExcel - создания OLE-объекта приложения MS Excel
    VisibleObjectExcel - тображения OLE-объекта приложения MS Excel
    SetCellText - заполнение

    В итоге, создаётся книга в ней остаётся только один лист. Беру любой док и спокойно экспортирую данные в excel ... Теперь надо сделать так чтобы каждый док был на отдельном листе. К библиотеке добавил процедуру с кодом : objectExcel.Sheets.Add

    Call CreateObjectExcel()
    Call SetCellText({B2:C2}, "", {Компания}, "", i) - i номер рабочего листа
    Call AddSheet(i)
    Call SetCellText({B2:C2}, "", {Компания}, "", i+1)

    Получается два листа, но второй не заполнен ... перепробовал кучу вариаций и никак не могу понять почему он не вставляет данные в новый лист ... Когда книга открывается, курсор стоит на новом созданом листе ...
     
  2. morpheus

    morpheus скриптописец

    Регистрация:
    7 авг 2006
    Сообщения:
    3.927
    Симпатии:
    0
    Для того что бы лист не был виден до заполнения

    Код (Text):
    Set exApp = CreateObject("Excel.Application")
    If exApp Is Nothing Then
    Messagebox "Не установлен Excel!!!", 0 + 16 , "ошибка"
    End If
    exApp.Visible = False ' видно или нет

    Дальше , с листами Вы делайте так
    1й лист имеет индекс = 1 и т.д.
    Код (Text):
    i = 1
    Set exWb = exApp.ActiveWorkBook
    Set Sh = exWb.Sheets(i) ' определяем Sh как первый лист раб. книги

    ....
    ' Заполнение нужной ячейки
    sh.Cells(B2, C2) = {Компания}
    ' ну а дельше создаем овый лист и делаем переход
    Set Sh = exWb.Sheets(2) .... и т.д.
    ...
     
  3. Medevic

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

    Регистрация:
    10 дек 2004
    Сообщения:
    3.346
    Симпатии:
    2
    Можно просто Set xlSheet = xlWbk.Worksheets.Add
     
  4. KLif

    KLif Гость

    Ту Morpheus:

    1) Установка флага Visible ставится в True когда? ... после создания объекта, после заполнения каждого листа, после заполнения всех листов?

    2) Каким образом делается добавление нового листа и переход на него?

    exWb.Sheets.Add
    exWb.Sheets(i).Select

    да?
     
  5. morpheus

    morpheus скриптописец

    Регистрация:
    7 авг 2006
    Сообщения:
    3.927
    Симпатии:
    0
    1) Ну когда Вы хотете что юзверь узрел раб.книгу тогда и ставте. Я ставлю когда я полностью заполняю весь отчет данными и оп - видно

    2) Да,
    Код (Text):
    Call exWb.Sheets.Add
    Set Sh = exWb.Sheets(i)
    i = i + 1 ' не забудте
    Код (Text):
     
     
  6. KLif

    KLif Гость

    Код (Text):
    Set objectExcel = CreateObject("Excel.Application")
    Set objectBook = objectExcel.Workbooks.Add
    Set Sh = objectBook.Sheets(1)
    Sh.Cells({B1},{C1}) = {text}
    objectExcel.Visible = True
    Стапарится на строчке заполнения ячейки, ошибка OLE: Automatic object error ... С чем это может быть связано?
     
  7. morpheus

    morpheus скриптописец

    Регистрация:
    7 авг 2006
    Сообщения:
    3.927
    Симпатии:
    0
    Связано с тем что туда указывают ЧИСЛА ,а не буквы-координаты

    А = 1
    B = 2
    C = 3

    и т.д.


    Sh.Cells( 1,1 ) = "text"
     
  8. Medevic

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

    Регистрация:
    10 дек 2004
    Сообщения:
    3.346
    Симпатии:
    2
    Можно и буквы. Только надо так:
    Sh.Cells({B1:C1}) = {text}
     
  9. KLif

    KLif Гость

    Всё получилось, каждый док на новом листе. Спасибо
     
  10. morpheus

    morpheus скриптописец

    Регистрация:
    7 авг 2006
    Сообщения:
    3.927
    Симпатии:
    0
    нмз, тему можна закрівать?
     
  11. KLif

    KLif Гость

    Да
     
Загрузка...
Похожие Темы - Проблема экспорта данных
  1. AgniXRudra
    Ответов:
    2
    Просмотров:
    51
  2. Zloikaktus
    Ответов:
    0
    Просмотров:
    29
  3. c0de3r
    Ответов:
    5
    Просмотров:
    153
  4. DobermannTT
    Ответов:
    10
    Просмотров:
    158
  5. SoulPaladin
    Ответов:
    4
    Просмотров:
    144
Статус темы:
Закрыта.

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