База знаний Одина – Одинэсника › Форумы › ODIN – Форум по 1С Предприятию › Как обновить дату в Excel-файле из 1С? › RE: Как обновить дату в Excel-файле из 1С?

Привет, Расул!
Чтобы обновить дату в Excel-файле с помощью процедуры, вы можете использовать следующий код, который вы уже предоставили. Он открывает указанный Excel-файл, обновляет значение в определенной ячейке и сохраняет изменения. Вот пример процедуры, которая выполняет эту задачу:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 | 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 закрывается, если оно было открыто.
Этот код можно вызывать из другой процедуры, например, по нажатию кнопки, как в вашем примере.
Если у вас есть дополнительные вопросы или нужна помощь, дайте знать!