добрый день пришлось прибегнуть очередной раз к вашей помощи вообще никак понять не могу, почему выдает запрос за закрытии, и на сайтах копался, так и не нашел ответа
[vba]
Код
Private Sub Workbook_BeforeClose(Cancel As Boolean) 'On Error Resume Next Dim WB As Workbook Set WB = Application.Workbooks.Open("D:\....\Файл.xlsm")
WB.Close
Application.DisplayAlerts = False
If Workbooks.Count = 1 Then Application.Quit Else ThisWorkbook.Close False
Application.DisplayAlerts = True End Sub
Private Sub Workbook_Open() Dim WB As Workbook Set WB = Application.Workbooks.Open("D:\..\Файл.xlsm") ThisWorkbook.Activate End Sub
[/vba]
добрый день пришлось прибегнуть очередной раз к вашей помощи вообще никак понять не могу, почему выдает запрос за закрытии, и на сайтах копался, так и не нашел ответа
[vba]
Код
Private Sub Workbook_BeforeClose(Cancel As Boolean) 'On Error Resume Next Dim WB As Workbook Set WB = Application.Workbooks.Open("D:\....\Файл.xlsm")
WB.Close
Application.DisplayAlerts = False
If Workbooks.Count = 1 Then Application.Quit Else ThisWorkbook.Close False
Application.DisplayAlerts = True End Sub
Private Sub Workbook_Open() Dim WB As Workbook Set WB = Application.Workbooks.Open("D:\..\Файл.xlsm") ThisWorkbook.Activate End Sub
_Boroda_, запрос на закрытии))). Пробовал через 0 тоже не хочет закрывать пробовал как советует sboy, тоже выдает запрос, всяко переставлял, вообще никак может дело в этой строке? [vba]
Код
Set WB = Application.Workbooks.Open("D:\....\Файл.xlsm")
[/vba]
_Boroda_, запрос на закрытии))). Пробовал через 0 тоже не хочет закрывать пробовал как советует sboy, тоже выдает запрос, всяко переставлял, вообще никак может дело в этой строке? [vba]
Код
Set WB = Application.Workbooks.Open("D:\....\Файл.xlsm")
Да кто ж знает-то? Вы ж в информацию выдаете не ту, о которой Вас спрашивают, а ту, которую сами хотите выдать
И да, зачем Вы при закрытии активного файла открываете тот, другой, если Вы его уже открыли при открытии текущего файла в Workbook_Open? Просто закройте его [vba]
Код
Workbooks("Файл.xlsm").Close 0
[/vba]
Да кто ж знает-то? Вы ж в информацию выдаете не ту, о которой Вас спрашивают, а ту, которую сами хотите выдать
И да, зачем Вы при закрытии активного файла открываете тот, другой, если Вы его уже открыли при открытии текущего файла в Workbook_Open? Просто закройте его [vba]
!!!!!!!!!!!!!!!!!!! такой простой код и столько мозгодельства!!!!!!!!!!
[vba]
Код
Application.DisplayAlerts = False
Application.Workbooks("Файл.xlsm").Close ThisWorkbook.Close If Workbooks.Count = 0 Then Application.Quit
Application.DisplayAlerts = True
[/vba]
Мы отключаем экран, закрываем файл.xlsm, закрываем текущую книгу, и если количество открытых книг=0 закрываем аппликацую, включаем экран, что не так? ошибка на "Application.Workbooks("Файл.xlsm").Close"
!!!!!!!!!!!!!!!!!!! такой простой код и столько мозгодельства!!!!!!!!!!
[vba]
Код
Application.DisplayAlerts = False
Application.Workbooks("Файл.xlsm").Close ThisWorkbook.Close If Workbooks.Count = 0 Then Application.Quit
Application.DisplayAlerts = True
[/vba]
Мы отключаем экран, закрываем файл.xlsm, закрываем текущую книгу, и если количество открытых книг=0 закрываем аппликацую, включаем экран, что не так? ошибка на "Application.Workbooks("Файл.xlsm").Close"Asretyq
Сообщение отредактировал Asretyq - Пятница, 16.11.2018, 10:29
выдает всякие ошибки не понятные _Boroda_, написал пропуск ошибки, теперь аппликация не закрывается, все книги закрылись. в принципе она и не закрывалась, но ошибку не выдает теперь))
Цитата
Это про что?
выдает всякие ошибки не понятные _Boroda_, написал пропуск ошибки, теперь аппликация не закрывается, все книги закрылись. в принципе она и не закрывалась, но ошибку не выдает теперь))Asretyq
Сообщение отредактировал Asretyq - Пятница, 16.11.2018, 12:13
А как Вы хотели? Проговорите словами то, что написали кодом. Что получится?
Отключаю сообщения Закрываю файл "Файл" Закрываю книгу с этим макросом ========Всё, книга закрыта и макрос вместе с ней. Остальное исполняться не будет Закрываю Excel Включаю сообщения
А как Вы хотели? Проговорите словами то, что написали кодом. Что получится?
Отключаю сообщения Закрываю файл "Файл" Закрываю книгу с этим макросом ========Всё, книга закрыта и макрос вместе с ней. Остальное исполняться не будет Закрываю Excel Включаю сообщения_Boroda_
Application.Workbooks("Файл.xlsm").Close 0 ' закрыть "Файл" If Workbooks.Count = 1 Then Application.Quit ' если количество открытых книг - 1, то закрываем ексель и тут ексель должен полностью закрыться и команды прекращаются ThisWorkbook.Close 0 ' пробовал отключить данную функцию тоже не играет роли
Application.Workbooks("Файл.xlsm").Close 0 ' закрыть "Файл" If Workbooks.Count = 1 Then Application.Quit ' если количество открытых книг - 1, то закрываем ексель и тут ексель должен полностью закрыться и команды прекращаются ThisWorkbook.Close 0 ' пробовал отключить данную функцию тоже не играет роли
Эта часть кода не будет выполняться никогда. Вообще всё, что после[vba]
Код
ThisWorkbook.Close
[/vba]выполняться не может физически, это приказ "те из вас, кто умер, должны явиться в канцелярию для регистрации факта смерти". Выполнять уже нечего. Вот честно — я не понимаю, чего Вы пытаетесь добиться.
Эта часть кода не будет выполняться никогда. Вообще всё, что после[vba]
Код
ThisWorkbook.Close
[/vba]выполняться не может физически, это приказ "те из вас, кто умер, должны явиться в канцелярию для регистрации факта смерти". Выполнять уже нечего. Вот честно — я не понимаю, чего Вы пытаетесь добиться.StoTisteg
Интуитивно понятный код - это когда интуитивно понятно, что это код.
StoTisteg, моя задача - закрыть книгу "Файл" и закрыть книгу, в котором содержится макрос, и если другие книги не открыты закрыть сам ексель, вот этого у меня не получается, к сожалению! сообщение 16.11.2018, 12:36 в принципе по логике он должен срабатывать
StoTisteg, моя задача - закрыть книгу "Файл" и закрыть книгу, в котором содержится макрос, и если другие книги не открыты закрыть сам ексель, вот этого у меня не получается, к сожалению! сообщение 16.11.2018, 12:36 в принципе по логике он должен срабатыватьAsretyq
Сообщение отредактировал Asretyq - Пятница, 16.11.2018, 13:09