Кнопка с ограничениями по нажатиям

Автор njuton89, 27 мая 2015, 21:19

0 Пользователи и 1 гость просматривают эту тему.

njuton89

Большое спасибо за помощь)
Действительно дело в "собаке" :D
Все работает.

А можна как то ограничить количество нажатий на кнопку?
Ну допустим в ячейке стоит цифра 2.
Когда нажимается кнопка - от цифры 2 отнимается 1.
Когда в ячейке 0, кнопка становится неактивной.

Или это я уже загнул? :roll:

rami

Цитата: njuton89 от 27 мая 2015, 19:19А можна как то ограничить количество нажатий на кнопку?
Ну допустим в ячейке стоит цифра 2.
Когда нажимается кнопка - от цифры 2 отнимается 1.
Когда в ячейке 0, кнопка становится неактивной.
Теоретически это не сложно, есть несколько вариантов, но на практике надо знать подробности, условия.
Цитата: njuton89 от 27 мая 2015, 19:19Или это я уже загнул? :roll:
Загиб не засчитан, гните круче 8-)

Если это не в тему "Печать скрытых листов" , то начните новую тему, вроде "Кнопки с условиями"

JohnSUN

Цитата: njuton89 от 27 мая 2015, 21:19
А можна как то ограничить количество нажатий на кнопку?
Ну допустим в ячейке стоит цифра 2.
Когда нажимается кнопка - от цифры 2 отнимается 1.
Когда в ячейке 0, кнопка становится неактивной.
"-... подумаешь, бином Ньютона! " (с) М. Булгаков, «Мастер и Маргарита» (гл. 18 «Неудачливые визитеры»)
Извини, не удержался  ;D
Смотри приложенный пример

Цитата: njuton89 от 27 мая 2015, 21:50
Если покажете куда копать - буду разбираться.
Тут ведь беда какая: нет конкретного направления для вскопки - кругом открытое пространство, копай куда хошь.
Можно:
1. Отложить готовую Calc'овскую книгу, как пилотный проект, и всё переделать с нуля на Base - таблицы для хранения данных, форма ввода, запросы для расчета и печатная форма (отчет) для вывода готового документа.
2. Создать базу данных и увязать с таблицей в ней уже получившуюся книгу (прямо данными, одними только средствами офиса)
3. То же что и 2, но база "невидимая", данные закидываются в неё макросом (раз уж все равно в книге используются макросы, то добавить еще пять-шесть процедур для работы с базой)
4... и т.д.

Но rami прав - эти темы лучше вынести в отдельные обсуждения
Владислав Орлов aka JohnSUN
Благодарить-не зазорно.
Подарить благо создателям офиса, нашему ресурсу, мне

njuton89

Цитата: JohnSUN от 29 мая 2015, 08:09Смотри приложенный пример
Большое спасибо за пример.
Очень доходчиво написано.

На сколько я понял, значения на кнопке обновляются после нажатия на нее.
И если после использования всех нажатий в ячейку забить новое количество попыток и сохранить документ, то при следующем запуске на кнопке все равно написано что все попытки нажать кнопку использованы. Только после нажатия на кнопку видно сколько осталось попыток.
Может при открытии книги создать событие обновления кнопки?

JohnSUN

Ну, это смотря как "забивать новое количество попыток". Если через Ctrl+Shift+F9, то кнопка перерисуется сразу и сохранится уже с надписью про доступное количество.
Можно, конечно, и по какому-то событию обновлять. Например, вот такие три строчки
Sub onLoad(oEvent)
setCounterIfItIsZero(True, 2)
End Sub
повешенные на событие "Открытие файла" срабатывают нормально... несколько раз... а потом перестаёт... блин!..  ;D

А чего ты пытаешься добиться? Экономии бумаги и тонера? Типа, не больше двух экземпляров каждого документа?..
Владислав Орлов aka JohnSUN
Благодарить-не зазорно.
Подарить благо создателям офиса, нашему ресурсу, мне

rami

Цитата: JohnSUN от  3 июня 2015, 08:15А чего ты пытаешься добиться? Экономии бумаги и тонера? Типа, не больше двух экземпляров каждого документа?..
Сразу видно, что не наш человек, наши люди в булочную на такси не ездят, наши люди ставят монетоприёмник на принтер... ;D

Решить задачу можно несколькими способами. У себя для подобных целей я уже давно пользуюсь диалоговым окном с радиокнопками.
В примере легко назначить на каждое нажатие либо разные, либо одинаковые действия.