7.7 Последняя запись в таблице Excel

Тема в разделе "Конфигурирование на платформе "1С:Предприятие 7.7"", создана пользователем mixi, 20 дек 2007.

  1. TopicStarter Overlay
    mixi
    Offline

    mixi

    Регистрация:
    20 дек 2007
    Сообщения:
    10
    Симпатии:
    0
    Баллы:
    1
    Помогите, пожалуйста. Как из конфигуратора определить последнюю запись в таблице Excel? Должна же быть какая-то команда?
  2. 77dpi
    Offline

    77dpi Опытный в 1С

    Регистрация:
    17 окт 2006
    Сообщения:
    66
    Симпатии:
    0
    Баллы:
    26
  3. TopicStarter Overlay
    mixi
    Offline

    mixi

    Регистрация:
    20 дек 2007
    Сообщения:
    10
    Симпатии:
    0
    Баллы:
    1
    так то оно так, но мне нужна 1С-кая команда. Мне нужно в 1С обработать Экселевский документ. Варинат перебора всех Экселевских строк пока не попадется пустая строка не подходит. Желательно найти последнюю заполненную строку и пробежать цикл от первой строки до последней.
  4. 77dpi
    Offline

    77dpi Опытный в 1С

    Регистрация:
    17 окт 2006
    Сообщения:
    66
    Симпатии:
    0
    Баллы:
    26
    что значит 1с-команда? я в таких случаях использую екселевский ОЛЕ-объект или ты как-то мимо екселя открываеш таблицу?
  5. TopicStarter Overlay
    mixi
    Offline

    mixi

    Регистрация:
    20 дек 2007
    Сообщения:
    10
    Симпатии:
    0
    Баллы:
    1
    Я просто знаю, что в Excel можно найти последнюю запись командой ActiveCell.SpecialCells(xlLastCell, xlTextValues).Select, а когда я пытаюсь подобное испльзовать в 1С с Экселевским объектом, например
    Ексел = СоздатьОбъект("Excel.Application")
    мне выдает ошибку "Переменная не определена (xlLastCell)". Может я просто неправильно использую?
  6. BabySG
    Offline

    BabySG Администраторы Команда форума Администратор

    Регистрация:
    10 июн 2007
    Сообщения:
    11.853
    Симпатии:
    12
    Баллы:
    29
    Естесственно, что она в 1с неопределена :)
    Сейчас дам тебе число её.

    xlLastCell = 11
  7. TopicStarter Overlay
    mixi
    Offline

    mixi

    Регистрация:
    20 дек 2007
    Сообщения:
    10
    Симпатии:
    0
    Баллы:
    1
    УУУУ, спасибо, вот именно это я и хотела знать :unsure: А от куда такие вещи можно узнать? На будущее...
  8. BabySG
    Offline

    BabySG Администраторы Команда форума Администратор

    Регистрация:
    10 июн 2007
    Сообщения:
    11.853
    Симпатии:
    12
    Баллы:
    29
    Смотри этот пост
  9. MaxxaM
    Offline

    MaxxaM Опытный в 1С

    Регистрация:
    16 окт 2007
    Сообщения:
    288
    Симпатии:
    2
    Баллы:
    29
    ActiveCell.SpecialCells(11, xlTextValues).Select - хорошая штука но, на SQL.Ru правы ее использование не всегда возможно :unsure:
  10. TopicStarter Overlay
    mixi
    Offline

    mixi

    Регистрация:
    20 дек 2007
    Сообщения:
    10
    Симпатии:
    0
    Баллы:
    1
    Все вроде бы исправила. Получилось, так
    Код:
       Ексел = СоздатьОбъект("Excel.Application");
    ФайлЕксел = Ексел.Workbooks.Open(Файл); 
    ЛистЕксел = ФайлЕксел.Sheets(3);
    строка = ЛистЕксел.SpecialCells(11,2).Row;
    
    Выдает ошибку:
    Поле агрегатного объекта не обнаружено (SpecialCells)

    Не идет все равно :)
  11. BabySG
    Offline

    BabySG Администраторы Команда форума Администратор

    Регистрация:
    10 июн 2007
    Сообщения:
    11.853
    Симпатии:
    12
    Баллы:
    29
    Код:
    строка = ЛистЕксел.Cells.SpecialCells(11,2).Row;
    
    И зачем, кстати, применяется (11, 2) - разве нельзя обойтись просто (11)?
  12. TopicStarter Overlay
    mixi
    Offline

    mixi

    Регистрация:
    20 дек 2007
    Сообщения:
    10
    Симпатии:
    0
    Баллы:
    1
    А какая разница, ошибку же все равно выдает?
  13. BabySG
    Offline

    BabySG Администраторы Команда форума Администратор

    Регистрация:
    10 июн 2007
    Сообщения:
    11.853
    Симпатии:
    12
    Баллы:
    29
    Дык вы мой код читали? Там тоже выдает ошибку?
  14. TopicStarter Overlay
    mixi
    Offline

    mixi

    Регистрация:
    20 дек 2007
    Сообщения:
    10
    Симпатии:
    0
    Баллы:
    1
    Все получилось, спасибо :unsure:

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