7.7 Sheet

Тема в разделе "Типовые решения "1С:Предприятие 7.7"", создана пользователем SCtYL, 30 сен 2010.

  1. TopicStarter Overlay
    SCtYL
    Offline

    SCtYL

    Регистрация:
    20 сен 2010
    Сообщения:
    45
    Симпатии:
    0
    Баллы:
    1
    Подскажите пожалуйста почему командой Книга.Sheets() не выбираеться лист экселя, если даже вручную ставлю номер листа он всё равно начинает считывать с листа на котором был сохранён файл
  2. Бухгалтерский угодник
    Offline

    Бухгалтерский угодник Администраторы Команда форума Администратор

    Регистрация:
    29 дек 2008
    Сообщения:
    21.520
    Симпатии:
    407
    Баллы:
    104
    Выбор листа книги для работы с ним:
    Код:
    Лист = Книга.WorkSheets(НомерЛиста); 
    
    
  3. TopicStarter Overlay
    SCtYL
    Offline

    SCtYL

    Регистрация:
    20 сен 2010
    Сообщения:
    45
    Симпатии:
    0
    Баллы:
    1
    ну да, в оригинале я так и делал, не выбирает :(
  4. TopicStarter Overlay
    SCtYL
    Offline

    SCtYL

    Регистрация:
    20 сен 2010
    Сообщения:
    45
    Симпатии:
    0
    Баллы:
    1
    Примерно так выглядит код
    Код:
     
    xl=СоздатьОбъект("Excel.Application");
    Книга=xl.WorkBooks.Open(ИмяФайлаЗакрузки);
    КоличествоЛистов=Книга.Sheets.Count;
    п=0;
    Для ТекЛист = 1 По КоличествоЛистов Цикл
    Лист=Книга.WoorkSheets(КоличествоЛистов);
    Для row = 1 По 5 Цикл
    Ли=СокрЛП(Строка(xl.Cells(row,1).Value));
    Если Ли="А1" Тогда
    п=ТекЛист;
    Прервать;
    КонецЕсли;
    КонецЦикла;
    КонецЦикла;
    rows=Книга.WorkSheets(ТекЛист).UsedRange.Rows.Count;
    
    
  5. TopicStarter Overlay
    SCtYL
    Offline

    SCtYL

    Регистрация:
    20 сен 2010
    Сообщения:
    45
    Симпатии:
    0
    Баллы:
    1
    там забыл еще 1 прервать, даже без текущего листа, если самому вписать лист он всё равно его не берёт
  6. Бухгалтерский угодник
    Offline

    Бухгалтерский угодник Администраторы Команда форума Администратор

    Регистрация:
    29 дек 2008
    Сообщения:
    21.520
    Симпатии:
    407
    Баллы:
    104
    так у вас по коду последний лист и выбирает... Надо же счетчик
    передавать в качетсве параметра
    Код:
    ...
    Для ТекЛист = 1 По КоличествоЛистов Цикл     
    Лист=Книга.WoorkSheets(ТекЛист);
    ...
    
    
    
  7. TopicStarter Overlay
    SCtYL
    Offline

    SCtYL

    Регистрация:
    20 сен 2010
    Сообщения:
    45
    Симпатии:
    0
    Баллы:
    1
    да извеняюсь опечатался, повторюсь еще раз даже если ставить WoorkSheets(2)/(3) он всё равно выводит тот лист на котором был сохранён эксель файл
  8. Бухгалтерский угодник
    Offline

    Бухгалтерский угодник Администраторы Команда форума Администратор

    Регистрация:
    29 дек 2008
    Сообщения:
    21.520
    Симпатии:
    407
    Баллы:
    104
    Такой код должен работать - проверьте
    Код:
    ....
    Лист=Книга.WoorkSheets(ТекЛист);
    Для row = 1 По 5 Цикл          
    Ячейка=СокрЛП(Лист.Cells(row,1).Value);
    
    
  9. TopicStarter Overlay
    SCtYL
    Offline

    SCtYL

    Регистрация:
    20 сен 2010
    Сообщения:
    45
    Симпатии:
    0
    Баллы:
    1
    Оказалось дело было в том, что нужно было поменять
    Код:
     
    Ли=СокрЛП(Строка(xl.Cells(row,1).Value));
    
    
    
    на
    Код:
    Ли=СокрЛП(Строка(Лист.Cells(row,1).Value));
    
    
    
    Спасибо за старания


    После написания сообщения прочитал, что именно это вы и предположили :)

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