8.х Удаление скрытых имен книги excel на языке 1c

Тема в разделе "Конфигурирование на платформе "1С:Предприятие 8"", создана пользователем JediAlex, 10 июн 2019.

  1. TopicStarter Overlay
    JediAlex
    Offline

    JediAlex Опытный в 1С

    Регистрация:
    27 авг 2011
    Сообщения:
    188
    Симпатии:
    0
    Баллы:
    26
    Здравствуйте В собственной конфигурации 1С 8.3 есть обработка с несколькими ТЧ. ТЧ заполняются результатами запросов. Далее данные из этих ТЧ нужно выгрузить в файл Excel. Делаю это так:
    Код:
    &НаКлиенте
    Процедура ВыгрузитьОтчетВExcel()
                    //Попытка
    ПутьФайлаОтчета = Объект.ИмяФайлаОтчета;
    Excel = Новый COMОбъект("Excel.Application");
    Книга = Excel.WorkBooks.Open(ПутьФайлаОтчета);
    //КнигаТемп = Excel.WorkBooks.Open(ПутьФайлШаблона);
    ТитульныйЛист=Книга.WorkSheets("ПоГруппам");   // итоговый лист по группам
    ЛистПерерасход=Книга.WorkSheets("ПерерасходПоСотрудникам");   // перерасход часов по сотрудникам
    ЛистВесДоговоров=Книга.WorkSheets("УдельныйВесДоговоров");   // Удельный вес договоров
    //ЛистПереченьРабот=Книга.WorkSheets("ЧасовФактСотрудниковПоЗадач");   // Перечень работ сотрудников
    //ПоследняяСтрокаПереченьРабот=ЛистПереченьРабот.UsedRange.Row+ЛистПереченьРабот.UsedRange.Rows.Count-1;
    //ЛистПереченьРабот.Range("A2:AC" +Строка(ПоследняяСтрокаПереченьРабот)).Clear();
    ПоследняяСтрокаПерерасход=ЛистПерерасход.UsedRange.Row+ЛистПерерасход.UsedRange.Rows.Count-1;
    ПоследняяСтрокаВесДоговоров=ЛистВесДоговоров.UsedRange.Row+ЛистВесДоговоров.UsedRange.Rows.Count-1;
    ЛистВесДоговоров.Range("A2:G" + Строка(ПоследняяСтрокаВесДоговоров)).Clear();
    ЛистПерерасход.Range("A2:G" +Строка(ПоследняяСтрокаПерерасход)).Clear();
    ТитульныйЛист.Range("A2:G13").Clear();
    //ТитульныйЛист.Range("G2:G13").NumberFormat = "0.00%";
    СтрокКолонокПерерасход=ПолучитьКоличествоСтрокКолонокПерерасход();
    СтрокКолонокВесДоговоров=ПолучитьКоличествоСтрокКолонокВесДоговоров();
    ................................................................
    
    выбираю нужный файл, запускаю команду. Код начинает выполняться и вываливается\ ошибка:"Имя не может совпадать со встроенным именем..."(скрин во вложении)
    Если взять сам файл выполнить в нем макрос :
    Код:
    Sub DeleteHiddenNames()
    Dim n As Name
    Dim Count As Integer
    On Error Resume Next
    For Each n In ActiveWorkbook.Names
        If Not n.Visible Then
        n.Delete
        Count = Count + 1
        End If
    Next n
    MsgBox "Скрытые имена в количестве " & Count & " удалены"
    End Sub
    и затем сохранить файл в формате xlsx,выгрузка проходит без ошибок. Как бороться со скрытыми именами из 1С можно ли выполнить очистку от скрытых имен из кода 1с и ошибка 1с при выгрузке.JPG ошибка при выгрузке.JPG ошибка 1с при выгрузке.JPG ошибка 1с при выгрузке.JPG ошибка при выгрузке.JPG как? помогите пожалуйста.