|
Метод Delete из класса Worksheet завершен неверно | ☑ | ||
|---|---|---|---|---|
|
0
kubik_live
06.03.26
✎
22:31
|
Коллеги, прошу помощи.
Баян наверное. Что не так с настройками на сервере? Создаю книгу 10 листов, заполняю листы. Все заполняется Необходимо удалить пустой лист шаблона в конце. &НаКлиенте Процедура ЭкспортВФайл() ................ ИмяПромежуточногоФайла_Пустой = ПолучитьИмяВременногоФайла("xlsx"); Попытка Состояние("Обработка файла MS Excel..."); Excel = Новый COMОбъект("Excel.Application"); Книга = Excel.Workbooks.Open(ИмяПромежуточногоФайла_Пустой); //Состояние("Обработка файла MS Excel..."); Исключение Сообщить("Ошибка при открытии файла MS Excel!"); Сообщить(ОписаниеОшибки()); Возврат; КонецПопытки; Лист0=Книга.WorkSheets(1); Лист0.Name="TMP"; .......................... // Здесь добавление и заполнение листов... .......................... Вот тут проблема: //Книга.WorkSheets("TMP").Delete(); // ЛистTMP=Книга.Sheets("TMP"); ЛистTMP.Delete(); ................. В файловой версии все штатно работает (причем оба варианта удаления (и который закомментен). В клиент-серверной версии - беда: Произошла исключительная ситуация (Microsoft Excel): Метод Delete из класса Worksheet завершен неверно Я вангую, что-то в службах компонентов не донастроено... |
|||
|
1
Волшебник
06.03.26
✎
22:33
|
оберните в Попытка...Исключение
|
|||
|
2
kubik_live
06.03.26
✎
22:36
|
(1) Оборачиваю - все нормально. Но лист шаблона остается. Хотелось бы его удалить.
В файловой все прокатывает. |
|||
|
3
Волшебник
06.03.26
✎
22:36
|
(2) пусть остаётся
|
|||
|
4
kubik_live
06.03.26
✎
22:39
|
(3) Да некошерно как-то: файл потом в ГИС ЖКХ должен грузиться: там перечень листов как бы определен жестко...
|
|||
|
5
Волшебник
06.03.26
✎
22:39
|
(4) у них там тоже попытка
выдыхай, бобёр |
|||
|
6
kubik_live
06.03.26
✎
22:42
|
Нечто было подобное с ВПФ с шаблонами из Word (давно) - чтото поднастраивали на сервере (не помню :((( ).
На файловой все нормально тоже работало |
|||
|
7
Garykom
гуру
06.03.26
✎
22:49
|
(0) Имхо оно там некий вопрос задает на сервере
Погугли нечто вроде "excel worksheet delete" Найдешь https://learn.microsoft.com/ru-ru/office/vba/api/excel.worksheet.delete И там Чтобы удалить лист без отображения диалогового окна, задайте для свойства Application.DisplayAlerts значение False. |
|||
|
8
Garykom
гуру
06.03.26
✎
22:51
|
(7)+ Точнее оно пытается задать вопрос но упс окружения рабочего стола нетути и ошибка
MS Office это любит по ошибкам падать без окружения нужного |
|||
|
9
kubik_live
06.03.26
✎
22:52
|
(7)
У меня это идет следующей строкой: Книга.Application.DisplayAlerts = False; // подавить сообщение Может раньше надо? Щас попробую... |
|||
|
10
Garykom
гуру
06.03.26
✎
22:53
|
(9) В самом начале надо!
Как только создал Excel = Новый COMОбъект("Excel.Application");
Сразу делаешь Excel.DisplayAlerts = False; |
|||
|
11
Garykom
гуру
06.03.26
✎
22:54
|
(9) Это ты давишь чтобы при сохранении не спрашивало видать
А догадаться повыше перенести не додумались |
|||
|
12
kubik_live
06.03.26
✎
23:03
|
(10) (11) Спасибо!
Сообщу о результате... |
| Форум | Правила | Описание | Объявления | Секции | Поиск | Книга знаний | Вики-миста |