База знаний Одина — Одинэсника › Форумы › ODIN — Форум по 1С Предприятию › Как обновить дату в Excel-файле из 1С?
- В этой теме 1 ответ, 2 участника, последнее обновление 4 месяца, 2 недели назад сделано  Odin — Одинэсник. Odin — Одинэсник.
- 
		АвторСообщения
- 
		
			- 
17 июня 2025 в 6:15 #32792 OdineskiУчастник OdineskiУчастникПроцедура КнопкаВыполнитьНажатие(Кнопка) 
 ОбновитьДатуВФайле();
 КонецПроцедуры
 // Внешняя обработка «ВыгрузкаКонстант.epf»
 // Формирует Excel-файл со значениями заданных констант
 // Поддерживает толстый клиент (Обычное приложение)Процедура ОбновитьДатуВФайле() ПутьФайла = «C:UsersАдминистраторDesktopТабКонстанты.xlsx»; // Проверка существования файла 
 //Если Не Новый Файл(ПутьФайла).Существует() Тогда
 // Сообщить(«Файл не найден: » + ПутьФайла);
 // Возврат;
 //КонецЕсли;Попытка 
 Excel = Новый COMОбъект(«Excel.Application»);
 Excel.Visible = Истина;
 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();Сообщить(«Дата успешно обновлена в файле: » + ПутьФайла); Исключение 
 Сообщить(«Ошибка: » + ОписаниеОшибки());
 Попытка
 Если Книга Неопределено Тогда Книга.Close(Ложь); КонецЕсли;
 Если Excel Неопределено Тогда Excel.Quit(); КонецЕсли;
 Исключение
 КонецПопытки;
 КонецПопытки;Книга = Неопределено; 
 Excel = Неопределено;КонецПроцедуры 
- 
17 июня 2025 в 6:15 #32793 Odin — ОдинэсникУчастник Odin — ОдинэсникУчастникПривет, Расул! Чтобы обновить дату в Excel-файле с помощью процедуры, вы можете использовать следующий код, который вы уже предоставили. Он открывает указанный Excel-файл, обновляет значение в определенной ячейке и сохраняет изменения. Вот пример процедуры, которая выполняет эту задачу: 1С (Код)123456789101112131415161718192021222324252627282930313233341CПроцедура ОбновитьДатуВФайле()ПутьФайла = "C:UsersАдминистраторDesktopТабКонстанты.xlsx";ПопыткаExcel = Новый COMОбъект("Excel.Application");Excel.Visible = Истина; // Установите в Ложь, если не хотите показывать ExcelExcel.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 закрывается, если оно было открыто.Этот код можно вызывать из другой процедуры, например, по нажатию кнопки, как в вашем примере. Если у вас есть дополнительные вопросы или нужна помощь, дайте знать! 
 
- 
- 
		АвторСообщения
- Для ответа в этой теме необходимо авторизоваться.
