269 / 14 / 0
Регистрация: 26.02.2014
Сообщений: 142
1

Выключение или перезагрузка компьютера

16.04.2014, 12:13. Показов 11622. Ответов 2
Метки нет (Все метки)

Author24 — интернет-сервис помощи студентам
Добрый день форумчане. Есть два макроса на перезагрузку и выключение компьютера, но есть небольшая заковыка, поясню:

Visual Basic
1
2
3
4
5
6
7
Private Sub
a = MsgBox("Перезагрузить?", vbExclamation + vbYesNo, "Перезагрузка")
If a = vbYes Then
Application.ActiveWorkbook.Save
Shell "Shutdown -r -t 1"
End If
End Sub
Visual Basic
1
2
3
4
5
6
7
Private Sub
a = MsgBox("Выключить?", vbExclamation + vbYesNo, "Выключение")
If a = vbYes Then
Application.ActiveWorkbook.Save
Shell "Shutdown -s -t 1"
End If
End Sub
Насколько я понимаю, что бы адекватно сохранилась книга и закрылся эксель, нужно прежде чем врубать перезагрузку или выключение сохранить книгу и закрыть эксель, но если указывать Application.Quit, то макрос не дойдет же до Shell, верно? А как же тогда закрыть адекватно книгу, но и Shell запустить?
0
Programming
Эксперт
94731 / 64177 / 26122
Регистрация: 12.04.2006
Сообщений: 116,782
16.04.2014, 12:13
Ответы с готовыми решениями:

Перезагрузка\выключение компьютера
Уважаемые форумчане. Срочно нужна прога которая перезагружает или выключает комп по наступлении...

ExitWindowsEx и принудительное выключение/перезагрузка компьютера.
как используя функцию exitwindowsex принудительно выключитЬ/перезапустить компьютер, не спрашивая...

Гаджет:выключение, перезагрузка компьютера с таймером
очень надо...

Выключение или перезапуск компьютера
Здравствуйте добрые люди!!! Покажите пожалуйста код на C# который бы выключал или перезагружал...

2
15151 / 6424 / 1731
Регистрация: 24.09.2011
Сообщений: 9,999
17.04.2014, 21:45 2
Приложение закрывать не надо, ОС сама его закроет. Но надо отключить вопросы о сохранении открытых и измененных книг:
Visual Basic
1
Application.DisplayAlerts = False
1
269 / 14 / 0
Регистрация: 26.02.2014
Сообщений: 142
18.04.2014, 09:53  [ТС] 3
Да тут такая ситуация, что программа сделана на автозагрузку вместо рабочего стола и закрывается с перезагрузкой или выключением компа и если просто он закрывал эксель, потом бывало программа при включении показывала восстановление книги, что портило картину.

Сделал немного по-другому:

Private Sub Workbook_BeforeClose(Cancel As Boolean)

Visual Basic
1
2
3
4
5
6
7
8
9
10
11
If Worksheets("0").Cells(25, 6) = "reboot" Then
 
                         Shell "cmd /c Shutdown -f -r -t 0"                       
 
ElseIf Worksheets("0").Cells(25, 6) = "shutdown" Then
                     
                         Shell "cmd /c Shutdown -f -s -t 0"
 
End If
 
End Sub
А на кнопку перезагрузки и выключения повесил:

Visual Basic
1
2
3
4
5
6
7
8
9
10
11
12
Private Sub Reboot_Click()
 
a = MsgBox("Перезагрузить?", vbExclamation + vbYesNo, "Перезагрузка")
 
If a = vbYes Then
 
Worksheets("0").Cells(25, 6) = "reboot"
Unload UserForm
 
End If
 
End Sub
Visual Basic
1
2
3
4
5
6
7
8
9
10
11
12
Private Sub Shutdown_Click()
 
a = MsgBox("Выключить?", vbExclamation + vbYesNo, "Выключение")
 
If a = vbYes Then
 
Worksheets("0").Cells(25, 6) = "shutdown"
Unload UserForm
 
End If
 
End Sub
Ну и при включении очистка:

Visual Basic
1
Worksheets("0").Cells(25, 6) = ""
При таком вроде больше восстановление книг не вылезало и закрывается адекватно. P.S. Display Alerts в начальных строках кода и в конце есть)
0
18.04.2014, 09:53
IT_Exp
Эксперт
87844 / 49110 / 22898
Регистрация: 17.06.2006
Сообщений: 92,604
18.04.2014, 09:53
Помогаю со студенческими работами здесь

Выключение компьютера:кнопка power или через Пуск
Приветствую. Сегодня один из юзеров увидел, что я выключал компьютер кнопкой Power, а не через...

Самопроизвольное выключение или зависание компьютера без синего экрана
Здравствуйте. Писал сюда уже пару раз, но вроде как проблема не устранилась. Сразу скажу, что...

Перезагрузка компьютера при тесте S&M - CPU (FPU) или OCCTPT4.4.0 Linpack
Все проверено кроме мат платы и процессора различными тестами и на другом компьютере и находится в...

Быстро загружается ЦП и память компьютера (на 90+ %). Спасает только перезагрузка. Это вирус или что?
Здравствуйте. У меня следующая проблема. После 30-40 минут работы компьютер начинает повисать, при...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
3
Ответ Создать тему
Опции темы

КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2024, CyberForum.ru