|
|
|
блокировать закрытие листа
|
|||
|---|---|---|---|
|
#18+
Здравствуйте подскажите как блокировать закрытие листа Excel крестом. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 26.01.2010, 15:36 |
|
||
|
блокировать закрытие листа
|
|||
|---|---|---|---|
|
#18+
активировать программу обработки события: Private Sub Workbook_BeforeClose(Cancel As Boolean) в коде объекта "эта книга" ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 26.01.2010, 15:51 |
|
||
|
блокировать закрытие листа
|
|||
|---|---|---|---|
|
#18+
А точнее поместить в ЭтаКнига такой макрос: Код: plaintext 1. 2. 3. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 26.01.2010, 15:55 |
|
||
|
блокировать закрытие листа
|
|||
|---|---|---|---|
|
#18+
А как это проделать через кнопки одной кнопкой блокировать, другой кнопкой разблокировать?Djon PlayerА точнее поместить в ЭтаКнига такой макрос: Код: plaintext 1. 2. 3. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 26.01.2010, 16:24 |
|
||
|
блокировать закрытие листа
|
|||
|---|---|---|---|
|
#18+
[quot segail]Например так, прикладываю файл: ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 26.01.2010, 17:22 |
|
||
|
блокировать закрытие листа
|
|||
|---|---|---|---|
|
#18+
Или проверяй положение кнопки на листе, писать меньше, весь код: Код: plaintext 1. 2. 3. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 26.01.2010, 17:30 |
|
||
|
блокировать закрытие листа
|
|||
|---|---|---|---|
|
#18+
Djon Player Опа, а я и не знал такого... Код: plaintext ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 26.01.2010, 17:46 |
|
||
|
блокировать закрытие листа
|
|||
|---|---|---|---|
|
#18+
Спасибо ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 26.01.2010, 17:55 |
|
||
|
блокировать закрытие листа
|
|||
|---|---|---|---|
|
#18+
m Djon Player Опа, а я и не знал такого... Код: plaintext ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 27.01.2010, 08:54 |
|
||
|
блокировать закрытие листа
|
|||
|---|---|---|---|
|
#18+
Hugo121Или проверяй положение кнопки на листе, писать меньше, весь код: Код: plaintext 1. 2. 3. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 27.01.2010, 08:59 |
|
||
|
блокировать закрытие листа
|
|||
|---|---|---|---|
|
#18+
Djon PlayerЭта обычная переменная типа Public, их особенностью (а может и не только их) является то, что она сохраняет значение с последнего запуска программы (пока не закроете книгу). Понял. Интересно. Спасибо! ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 27.01.2010, 10:24 |
|
||
|
блокировать закрытие листа
|
|||
|---|---|---|---|
|
#18+
тоько учтите, что переменные живут недолго :) достаточно зайти в конструктор или ошибка вылетит и конец блокировке.. или проверять кнопку или еще где хранить - в именах, например, или где-то на листе ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 27.01.2010, 13:49 |
|
||
|
блокировать закрытие листа
|
|||
|---|---|---|---|
|
#18+
Предлагаю другой вариант блокировки, без использования каких-либо переменных. Прилагаю файл. В том виде в каком он есть, этот файл можно открыть и закрыть. Если его переименовать, а затем открыть, то закрыть просто так уже не получится. Разумеется макросы должны быть включены. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 27.01.2010, 14:38 |
|
||
|
блокировать закрытие листа
|
|||
|---|---|---|---|
|
#18+
2 _slan_, Ok, Спасибо! ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 27.01.2010, 14:45 |
|
||
|
блокировать закрытие листа
|
|||
|---|---|---|---|
|
#18+
Djon Player[quot segail]Например так, прикладываю файл: А в одной кнопки код блокировки, а в другой кнопки разблокировки без модуля и Public прописать как то можно? У меня всего один лист. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 27.01.2010, 22:18 |
|
||
|
блокировать закрытие листа
|
|||
|---|---|---|---|
|
#18+
segail А в одной кнопки код блокировки, а в другой кнопки разблокировки без модуля и Public прописать как то можно? У меня всего один лист. Можно на переключателе, как я выше сделал, или на OptionButton, весь код из одной-двух строчек. Зачем именно кнопками? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 28.01.2010, 09:29 |
|
||
|
блокировать закрытие листа
|
|||
|---|---|---|---|
|
#18+
segailА в одной кнопки код блокировки, а в другой кнопки разблокировки без модуля и Public прописать как то можно? У меня всего один лист.Можно использовать кучу вариантов блокировки, того что уже написано вполне достаточно. Вместо переменной, статус блокировки можно хранить где-угодно, хотя бы например на скрытом листе в какой-нибудь ячейке. Можно для этого использовать свойства какой-нибудь ячейки, например цвет или как я привел пример, вообще без использования кнопок и переменных. Блокировка работает или не работает в зависимости от названия файла. Так-же Hugo121 привел пример с выключателем , там всего одна кнопка, которая имеет два статуса включено и выключено и переменные не используются. Вы не написали для чего вам в принципе всё это нужно, опишите саму задачу, для которой это нужно. Потому что, если это защита от пользователей, то какой в ней толк, если пользователи точно так-же сами могут отключить блокировку кнопкой. А защита от самого себя выглядит странно. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 28.01.2010, 09:39 |
|
||
|
блокировать закрытие листа
|
|||
|---|---|---|---|
|
#18+
Ну смысл есть - например если куча файлов открыта в одном окне (как у меня), можно случайно закрыть все, нажав не тот крест. И если супернужный файл закрывается без запроса на сохранение... А так можно при открытии сразу заблокировать его закрытие и подстраховаться от случайностей. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 28.01.2010, 10:05 |
|
||
|
блокировать закрытие листа
|
|||
|---|---|---|---|
|
#18+
Hugo121Ну смысл есть - например если куча файлов открыта в одном окне (как у меня), можно случайно закрыть все, нажав не тот крест. И если супернужный файл закрывается без запроса на сохранение... А так можно при открытии сразу заблокировать его закрытие и подстраховаться от случайностей.Ну получается страховка от самого себя, ну если ещё кто-тона вашем компьютере работает, то ещё от других. В принципе согласен, в этом случае смысл есть. Хотя от всего не застраховаться, например свет моргнул, а UPS не успел сработать и комп перезагрузился. А авто сохранение было выключено, т.к. работает долго и мешает работать. Либо настроен большой промежуток времени и как раз так получилось, что были набиты какие-то важные данные и после восстановления, эти данные уже не восстановятся, т.к. их ещё не сохраняли. P.S. Был у меня как-то похожий случай. Коллеги уехали в Питер в командировку в Питерский филиал, надо было с ними связаться. Позвонил знакомой, которая там работает, спросить телефон. Она телефона не знала, сказала, что сходит к ним и узнает. А идти надо было куда-то на другой этаж. В общем через некоторое время она вернулась, продиктовала мне номер, я записал его в блокнот (Notepad.exe, а не бумажный). У меня при этом было открыто ещё парочка окон блокнота. Закончил говорить со знакомой, потом стал закрывать лишние окна блокнота и случайно закрыл и то, в котором был написан номер. Получился облом, а номер я не запомнил. А второй раз звонить знакомой и напрягать этим вопросом уже не хотелось, т.к. не исключено, что она мне номер по памяти сказала. К счастью потом выяснилось, что кое-кто из моих коллег до меня выяснил их номер, так что я спросил номер у него и записал уже на бумажку. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 28.01.2010, 10:33 |
|
||
|
блокировать закрытие листа
|
|||
|---|---|---|---|
|
#18+
Djon PlayersegailА в одной кнопки код блокировки, а в другой кнопки разблокировки без модуля и Public прописать как то можно? У меня всего один лист.Можно использовать кучу вариантов блокировки, того что уже написано вполне достаточно. Вместо переменной, статус блокировки можно хранить где-угодно, хотя бы например на скрытом листе в какой-нибудь ячейке. Можно для этого использовать свойства какой-нибудь ячейки, например цвет или как я привел пример, вообще без использования кнопок и переменных. Блокировка работает или не работает в зависимости от названия файла. Так-же Hugo121 привел пример с выключателем , там всего одна кнопка, которая имеет два статуса включено и выключено и переменные не используются. Вы не написали для чего вам в принципе всё это нужно, опишите саму задачу, для которой это нужно. Потому что, если это защита от пользователей, то какой в ней толк, если пользователи точно так-же сами могут отключить блокировку кнопкой. А защита от самого себя выглядит странно. Открыта форма VBA и лист “Расход” при открытой форме лист закрыть нельзя форма не дает, после клика по кнопке на форме VBA, форма закрывается. Естественно пользователь может закрыть книгу или лис кликом по кресту, что в данный момент категорически нельзя (вот для этого кликом по кнопке на форме необходимо выполнить код блокировке). На листе “Расход” тоже установлена кнопка, которая выполняет код открытия формы VBA, вовремя открытия формы выполняется разблокировка “Книги” в действии формы Initialize. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 28.01.2010, 11:34 |
|
||
|
блокировать закрытие листа
|
|||
|---|---|---|---|
|
#18+
segailОткрыта форма VBA и лист “Расход” при открытой форме лист закрыть нельзя форма не дает, после клика по кнопке на форме VBA, форма закрывается. Естественно пользователь может закрыть книгу или лис кликом по кресту, что в данный момент категорически нельзя (вот для этого кликом по кнопке на форме необходимо выполнить код блокировке). На листе “Расход” тоже установлена кнопка, которая выполняет код открытия формы VBA, вовремя открытия формы выполняется разблокировка “Книги” в действии формы Initialize.Раз у вас уже есть некоторая форма, которая запускается, то проще не создавать дополнительных кнопок, а в самом коде этой формы прописать изменение переменной blokirovka на true или false (в зависимости что надо, заблокировать или разблокировать), используя код из файла, который я приложил в сообщении . Это при условии, что вы разработчик этой формы. А если не вы, то попросить разработчика внести изменения. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 28.01.2010, 11:42 |
|
||
|
блокировать закрытие листа
|
|||
|---|---|---|---|
|
#18+
Стоп стоп, кнопка не дополнительная она выполняет определенные действия, и одно из условий это закрытие формы (так нужно).Djon Player, ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 28.01.2010, 11:49 |
|
||
|
блокировать закрытие листа
|
|||
|---|---|---|---|
|
#18+
segailСтоп стоп, кнопка не дополнительная она выполняет определенные действия, и одно из условий это закрытие формы (так нужно).Djon Player,Для начала определимся с ситуацией. верно ли я понял. Вот какие я сделал выводы из ваших сообщений. У вас есть книга в Excel, как я понял, там всего один лист, называется Расходы. Так-же как я понял, у вас есть как минимум одна кнопка, которая запускает некую форму? Когда вы нажимаете эту кнопку, запускается форма. Так-же вы уже написали, что в действии формы Initialize вы уже прописали блокировку книги. Что мешает прописать код разблокировки книги в действии Unload (вроде так называется) формы, т.е. когда форма закрывается. В общем я хотел сказать, что не вижу смысла в дополнительной кнопке разблокирования. Если что-то я написал неверно, поправьте. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 28.01.2010, 12:18 |
|
||
|
блокировать закрытие листа
|
|||
|---|---|---|---|
|
#18+
Djon Player, Если все описать просто не реально форм много листов тоже. Просто на одном из периодов пользователь попадает на лист Расход с открытой формой, на данном этапе блокировки листа нет пока открыта форма (то есть само свойство формы не дает закрыть лист, тут естественно блокировка не нужна). Но при определенных условиях, форма на листе закрывается (то есть лист оголен и не защищен от закрытия крестом, вот тут в силу вступает блокировка листа). С этого листа после выполнения необходимых действий пользователь должен опять попасть на форму (на листе стоит кнопка для открытия формы), после открытия или вовремя открытия формы блокировка уже не нужна. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 28.01.2010, 12:46 |
|
||
|
|

start [/forum/topic.php?fid=61&msg=36431740&tid=2178556]: |
0ms |
get settings: |
9ms |
get forum list: |
19ms |
check forum access: |
4ms |
check topic access: |
4ms |
track hit: |
185ms |
get topic data: |
11ms |
get forum data: |
2ms |
get page messages: |
82ms |
get tp. blocked users: |
2ms |
| others: | 246ms |
| total: | 564ms |

| 0 / 0 |
