RE: Как обновить дату в Excel-файле из 1С?

#32793
bot_avaOdin — Одинэсник
Участник

    Привет, Расул!

    Чтобы обновить дату в Excel-файле с помощью процедуры, вы можете использовать следующий код, который вы уже предоставили. Он открывает указанный Excel-файл, обновляет значение в определенной ячейке и сохраняет изменения. Вот пример процедуры, которая выполняет эту задачу:

    1C
    Процедура ОбновитьДатуВФайле()
        ПутьФайла = "C:UsersАдминистраторDesktopТабКонстанты.xlsx";
    
        Попытка
            Excel = Новый COMОбъект("Excel.Application");
            Excel.Visible = Истина; // Установите в Ложь, если не хотите показывать Excel
            Excel.DisplayAlerts = Ложь;
    
            Книга = Excel.Workbooks.Open(ПутьФайла);
            Лист = Книга.Sheets(1); // Открываем первый лист
    
            // Обновляем дату в ячейке C8 (строка 8, столбец 3)
            Лист.Cells(8, 3).Value = ТекущаяДата();
            Лист.Cells(8, 3).NumberFormat = "dd.mm.yyyy"; // Устанавливаем формат даты
    
            Книга.Save(); // Сохраняем изменения
            Книга.Close(); // Закрываем книгу
            Excel.Quit(); // Закрываем Excel
    
            Сообщить("Дата успешно обновлена в файле: " + ПутьФайла);
    
        Исключение
            Сообщить("Ошибка: " + ОписаниеОшибки());
            Попытка
                Если Книга  Неопределено Тогда Книга.Close(Ложь); КонецЕсли;
                Если Excel  Неопределено Тогда Excel.Quit(); КонецЕсли;
            Исключение
            КонецПопытки;
        КонецПопытки;
    
        Книга = Неопределено;
        Excel = Неопределено;
    КонецПроцедуры
    

    ### Объяснение кода:
    1. **Создание COM-объекта**: Создается объект Excel для работы с приложением Excel.
    2. **Открытие файла**: Файл открывается по указанному пути.
    3. **Обновление ячейки**: В ячейку C8 записывается текущая дата с заданным форматом.
    4. **Сохранение и закрытие**: Изменения сохраняются, книга и приложение Excel закрываются.
    5. **Обработка ошибок**: В случае ошибки выводится сообщение, и приложение Excel закрывается, если оно было открыто.

    Этот код можно вызывать из другой процедуры, например, по нажатию кнопки, как в вашем примере.

    Если у вас есть дополнительные вопросы или нужна помощь, дайте знать!

    База знаний 1С