Возможно ли узнать что книга открыта программно. То есть допустим при открытии книги выполняется определенный код который лежит в Workbook_Open() но он должен отрабатывать только если книгу открыл человек. А вот если книгу открыли программно то тогда этот код не должен отработать.
Возможно ли узнать что книга открыта программно. То есть допустим при открытии книги выполняется определенный код который лежит в Workbook_Open() но он должен отрабатывать только если книгу открыл человек. А вот если книгу открыли программно то тогда этот код не должен отработать.Poltava
Poltava, Предполагаю, что готового функционала для этого не существует. А если попробовать [vba]
Код
Application.EnableEvents = false
[/vba] написать перед открытием программно, тогда, возможно, не запустятся события... и код не будет отрабатывает (но я не проверял). Тут ещё смотря каким способом открытие происходит программно.
Poltava, Предполагаю, что готового функционала для этого не существует. А если попробовать [vba]
Код
Application.EnableEvents = false
[/vba] написать перед открытием программно, тогда, возможно, не запустятся события... и код не будет отрабатывает (но я не проверял). Тут ещё смотря каким способом открытие происходит программно.Roman777
Много чего не знаю!!!!
Сообщение отредактировал Roman777 - Среда, 02.10.2019, 16:54
Нет EnableEvents не вариант так как при открытии не должна выполниться только определенная часть кода. То есть нужна именно проверка что книгу открыли программно, а не щелкнув по ней мышкой.
Нет EnableEvents не вариант так как при открытии не должна выполниться только определенная часть кода. То есть нужна именно проверка что книгу открыли программно, а не щелкнув по ней мышкой.Poltava
Сообщение отредактировал Poltava - Среда, 02.10.2019, 17:00
[/vba] Должно выполняться перед программным открытием книги в программе которая инициализирует открытие файла. Но весь смысл именно в том что к программе которая его открывает доступа нет и в нее изменения внести нельзя! иначе не было бы смысла городить этот огород.
я так понял имеется в виду что [vba]
Код
Application.EnableSound = false
[/vba] Должно выполняться перед программным открытием книги в программе которая инициализирует открытие файла. Но весь смысл именно в том что к программе которая его открывает доступа нет и в нее изменения внести нельзя! иначе не было бы смысла городить этот огород.Poltava
при открытии книги выполняется определенный код который лежит в Workbook_Open()
Значит можно запросит подтверждение открытия, человек подтвердит, автоматика нет. Но проблема в том что на время запроса все стоит как вкопанное и желательно тогда запрос делать формой, которая например по таймауту закроется и код прекратит работу. тогда другая проблема, если человек открыл файл и его отвлекли. По таймауту принято решение что это не человек, и …
при открытии книги выполняется определенный код который лежит в Workbook_Open()
Значит можно запросит подтверждение открытия, человек подтвердит, автоматика нет. Но проблема в том что на время запроса все стоит как вкопанное и желательно тогда запрос делать формой, которая например по таймауту закроется и код прекратит работу. тогда другая проблема, если человек открыл файл и его отвлекли. По таймауту принято решение что это не человек, и …bmv98rus
Замечательный Временно просто медведь , процентов на 20.
А у меня ещё одно предложение из серии "Курсы по костылезации для продвинутых" =)) Можно завести отдельную книгу с макросом, которым уже управляем мы и подменять её на ту, которую открывает "закрытая" программа. Собственно, программа открывает нашу книгу с управляемым макросом, который уже мутит всё с целевой книгой, что нужно...
А у меня ещё одно предложение из серии "Курсы по костылезации для продвинутых" =)) Можно завести отдельную книгу с макросом, которым уже управляем мы и подменять её на ту, которую открывает "закрытая" программа. Собственно, программа открывает нашу книгу с управляемым макросом, который уже мутит всё с целевой книгой, что нужно...Roman777
Много чего не знаю!!!!
Сообщение отредактировал Roman777 - Среда, 02.10.2019, 20:55
это все усложняет работу пользователя что крайне не желательно.
Либо дудочка, либо горшочек. Худо бедно можно определить в интерактивном ли режиме открыт файл, но кто мешает открыть в интерактивном режиме программой?
это все усложняет работу пользователя что крайне не желательно.
Либо дудочка, либо горшочек. Худо бедно можно определить в интерактивном ли режиме открыт файл, но кто мешает открыть в интерактивном режиме программой?bmv98rus
Замечательный Временно просто медведь , процентов на 20.