powered by simpleCommunicator - 2.0.56     © 2025 Programmizd 02
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Форумы / Microsoft Office [игнор отключен] [закрыт для гостей] / Контроль выхода из экселя
16 сообщений из 16, страница 1 из 1
Контроль выхода из экселя
    #39580295
ferzmikk
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Здравствуйте!

Запустил макрос на терминале, который делает сложный расчет и выполняется около 30 часов. Закрываю терминал (нажимаю на крестик сверху посередине), но не завершение сеанса. Через двое суток захожу на терминал, то excel закрыт, будто терминал перезагружали. И когда открываешь, то слева предлагает открыть файл, который сохранялся автосохранением. Дата авто сохраненного файла совпадает с датой последнего файла, который запускал. У системных администраторов спрашиваю, не перезагружали ли сервера, а они говорят нет.

Что тут может быть такое? Как можно здесь отследить причину выходы из экселя по системным причинам? Если ошибка в коде во время запуска, то обычно вылезает диалоговое окно из редактора Visual Basic и выполнение макроса как бы на паузе. Если использовать логи типа Debug.Print, то эксель закроется и логи сотрутся.

Макрос после каждой итерации добавляет строки. В итоге выкладывает 35 000 строк с рассчитанными значениями на двух листах. Файл в итоге должен весить 35 метров.
...
Рейтинг: 0 / 0
Контроль выхода из экселя
    #39580330
Казанский
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
ferzmikk,
значит таймаут есть у сервера, чтобы принудительно завершать сеанс через какое-то время неактивности. Сисадмин может увеличить таймаут если его заинтересовать ;)
А вообще, при таких длительных вычислениях, макрос должен сам сохранять файл с текущим состоянием расчета, скажем, раз в 15 минут, чтобы после принудительного закрытия приложения можно было продолжить расчет с известного этапа.
Ну и макрос на 30 часов явно нуждается в оптимизации или смене языка программирования.
...
Рейтинг: 0 / 0
Контроль выхода из экселя
    #39580571
ferzmikk
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Казанскийferzmikk,
значит таймаут есть у сервера, чтобы принудительно завершать сеанс через какое-то время неактивности.А то, что макрос работает, то это для системы не активность? Возможно ли как то написать в макросе так, чтобы сеанс был якобы активным?
...
Рейтинг: 0 / 0
Контроль выхода из экселя
    #39580576
Фотография Shocker.Pro
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
ferzmikkА то, что макрос работает, то это для системы не активность?это не активность ПОЛЬЗОВАТЕЛЯ. А так - там и так в сеансе много всего позапущено, если на все смотреть, то и таймаут смысла иметь не будет. Сам эксель - он ведь тоже не простаивает, когда запущен.

Ну попробуй периодически SendKeys выдавать, не уверен, что поможет
...
Рейтинг: 0 / 0
Контроль выхода из экселя
    #39580582
Казанский
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
пример скрипта с обсуждением http://www.cyberforum.ru/visual-basic/thread1710142.html
...
Рейтинг: 0 / 0
Контроль выхода из экселя
    #39580599
ferzmikk
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Казанскийпример скрипта с обсуждением http://www.cyberforum.ru/visual-basic/thread1710142.html Если запустить код, и работаешь например в текстовом редакторе, то в текстовом редакторе ставит перенос строк. Можно ли сделать так, чтобы не касалось к другим приложениям?
...
Рейтинг: 0 / 0
Контроль выхода из экселя
    #39580613
Казанский
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
ferzmikk,
попробуйте .sendkeys "{F16}" - код под эту кнопку зарезервирован в системе, но вряд ли в какой-то программе используется :)
...
Рейтинг: 0 / 0
Контроль выхода из экселя
    #39581437
ldfanate
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
полагаю, что одними senkey не обойдёшься, скорее всего через declare объявить SendMessage и слать WM_KEYPRESS какомунить окну-пустышке (например notepad из экселя открыть и ему слать).
...
Рейтинг: 0 / 0
Контроль выхода из экселя
    #39582858
Bobgos
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
ldfanate,
Предложение выше с сисадмином кажется правильным.
...
Рейтинг: 0 / 0
Контроль выхода из экселя
    #39582950
Bobgos
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
ferzmikk,

Терминал на какой ОС? Это не виртуальная машина?
Как-то попал, что физический комп использовали по ночам тупо перегружая - типа свет моргал, а бесперебойное не айс. Тоже пытался понять, чего это запущенные на ночь задачи не выполнены.
...
Рейтинг: 0 / 0
Контроль выхода из экселя
    #39582951
Bobgos
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
ferzmikk,

Попробуй в макросе сохранять результат почаще. А вместо debug.print пиши логика в текстовый файл. Хотя бы вычислить на сколько хватает твоего терминала.

Просмотри журнал событий приложения. Если верно понял, автосохраненный файл предлагается открыть сразу, а значит excel упал, о чем запись должна быть. Там же рядом может и причина завершения сесии.

Поменяй метод записи значений в файл, например пиши во внешний с разделителями, а по окончанию макроса импортируй. Или пиши в БД. Вдруг 30 часов не понадобиться.
...
Рейтинг: 0 / 0
Контроль выхода из экселя
    #39582953
Bobgos
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Ну и 35 метров и терминальный доступ это не айс. Попробуй трассировать последнюю итерацию с уже большим файлом. Эксель часто падает если с большими файлами по сети пытаешься работать.

. Как получился полный файл? Ты мышу двигал 30 часов? Или на другом ПК?

Может тупо памяти не хватает? Объекты после использования чистишь?
...
Рейтинг: 0 / 0
Контроль выхода из экселя
    #39582954
Bobgos
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Если дело именно в неверном отключении от сессии терминала, то после отключения можно не ждать 30 часов. Пара минут и уже проверишь магические действия с крестиком посередине приводят к ошибке или руки автора макроса/сисадмина.
...
Рейтинг: 0 / 0
Контроль выхода из экселя
    #39582966
ferzmikk
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Bobgosferzmikk,

Терминал на какой ОС? Это не виртуальная машина?Удаленный сервер. Windows Server R8 Standart.
...
Рейтинг: 0 / 0
Контроль выхода из экселя
    #39582968
ferzmikk
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Казанскийferzmikk,
значит таймаут есть у сервера, чтобы принудительно завершать сеанс через какое-то время неактивности.В общем, в настройке при бездействии сеанса определенное количество часов - отключался.
...
Рейтинг: 0 / 0
Контроль выхода из экселя
    #39587418
Bobgos
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
ferzmikkКазанскийferzmikk,
значит таймаут есть у сервера, чтобы принудительно завершать сеанс через какое-то время неактивности.В общем, в настройке при бездействии сеанса определенное количество часов - отключался. те решили вопрос с сисадмином?
а может кто подскажет как добраться до параметра завершения сеанса из vba?
...
Рейтинг: 0 / 0
16 сообщений из 16, страница 1 из 1
Форумы / Microsoft Office [игнор отключен] [закрыт для гостей] / Контроль выхода из экселя
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]