Страница 1 из 1

Как выйти из режима редактирования ячейки Excel?

Добавлено: 26 мар 2007, 09:07
4est
Как выйти из режима редактирования ячейки Excel? Используя объектную модель Excel'а...

Возможно, есть другой путь решения задачи... По нажатию кнопки необходимо выдать запрос пользователю, если документ был изменен (важна формулировка запроса, т.е. стандартный диалог excel "сохранить изменения в файле ...?" не подходит). Если пользователь на запрос ответит утвердительно, тогда сохранить и закрыть доукмент (необходимо освободить локальный файл, чтобы выполнить с ним еще несколько операций).
Возникло несколько проблем:
1) Если пользователь вошел в режим редактирования ячейки, а документ до этого не был изменен, то, пока он не выйдет из этого режима, документ будет считаться неизмененным (workbook.saved = false)
2) Если программно вызвать процедуру сохранения (workbook.save) во время редактирования ячейки, то документ не сохраняется и при закрытии выдается стандартный диалог excel ("сохранить изменения...")

PS: в Project аналогичная проблема

Re: Как выйти из режима редактирования ячейки Excel?

Добавлено: 27 мар 2007, 10:36
Genyaa
Это получится сделать, наверно, только какой-нибудь внешней программой. Внутренний макрос самого Excel не сможет преодолеть режим редактирования ячейки (ни SendKeys, ни процедуры управления мышкой).

Re: Как выйти из режима редактирования ячейки Excel?

Добавлено: 27 мар 2007, 11:18
Игорь Акопян
4est, на сколько я помню, во время редактирования ячейки выйти из Экселя невозможно, кроме того все внешние обращения к Экселю в этот момент тоже получают отказ.

Re: Как выйти из режима редактирования ячейки Excel?

Добавлено: 27 мар 2007, 12:05
4est
Может, возможно перехватить событие начала и конца редактирования ячейки? На это время сделать функцию недоступной... Или, если на момент вызова функции узнать, что пользователь находится в режиме редактирования ячейки, то прервать выполнение функции с каким-нибудь сообщением?

Re: Как выйти из режима редактирования ячейки Excel?

Добавлено: 27 мар 2007, 17:22
Игорь Акопян
&quot писал(а):документ будет считаться неизмененным (workbook.saved = false)
обратил тут внимание.... вообще-то не изменённая книга - при workbook.saved = true
т.е это свойство следует читать как Книга.Сохранена ;)

Re: Как выйти из режима редактирования ячейки Excel?

Добавлено: 28 мар 2007, 07:12
4est
Игорь Акопян писал(а):обратил тут внимание.... вообще-то не изменённая книга - при workbook.saved = true
т.е это свойство следует читать как Книга.Сохранена ;)
очепятался просто...

так может кто-то знает как определить, находится excel в режиме редактирования ячейки или не находится? выйти из этого .... режима я надежду уже потерял.

Re: Как выйти из режима редактирования ячейки Excel?

Добавлено: 10 сен 2015, 13:49
Кулибяка
Genyaa писал(а):Внутренний макрос самого Excel не сможет преодолеть режим редактирования ячейки (ни SendKeys, ни процедуры управления мышкой).
Странно, но у меня вот такое работает:
'после двойного клика ячейка устанавливается в режим редактирования. дл того, чтобы это не мешало:
SendKeys ("~")
ActiveCell.Offset(-1, 0).Activate