Модераторы: mihanik
  

Поиск:

Ответ в темуСоздание новой темы Создание опроса
> не дать сохранить документ Excel, при определенных условиях 
V
    Опции темы
Диас
Дата 12.5.2008, 14:01 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Шустрый
*


Профиль
Группа: Участник
Сообщений: 124
Регистрация: 11.6.2006

Репутация: нет
Всего: нет



Здравствуйте. Такая ситуация. Есть файл Excel. Как сделать чтоб пользователь не смог сохранить его, если он забыл внести какие-либо данные?
PM MAIL   Вверх
ama_kid
Дата 12.5.2008, 14:13 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


АСУТП-кодер
***


Профиль
Группа: Комодератор
Сообщений: 1460
Регистрация: 5.3.2007
Где: Москва

Репутация: нет
Всего: 95



Цитата(Диас @  12.5.2008,  14:01 Найти цитируемый пост)
Как сделать чтоб пользователь не смог сохранить его, если он забыл внести какие-либо данные?
прописать макрос Workbook_BeforeSave


Это сообщение отредактировал(а) ama_kid - 12.5.2008, 14:13


--------------------
самурай без меча подобен самураю с мечом, но только без меча 
PM MAIL   Вверх
Диас
Дата 12.5.2008, 14:27 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Шустрый
*


Профиль
Группа: Участник
Сообщений: 124
Регистрация: 11.6.2006

Репутация: нет
Всего: нет



А можно по-подробнее?  smile 
PM MAIL   Вверх
ama_kid
Дата 12.5.2008, 14:32 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


АСУТП-кодер
***


Профиль
Группа: Комодератор
Сообщений: 1460
Регистрация: 5.3.2007
Где: Москва

Репутация: нет
Всего: 95



Цитата(Диас @  12.5.2008,  14:27 Найти цитируемый пост)
А можно по-подробнее? 

можно... Нажимаешь Alt-F11 (Сервис->Макрос->Редактор VB)... Попадаешь в редактор кода, тыкаешь в "Эта книга" - открывается окно кода. Далее в верхнем левом выпадающем списке выбираешь Workbook, а в правом - BeforeSave. Редактор кода генерит шаблон, а ты прописываешь туда все необходимые условия и не забывай присваивать параметр Cancel=true, что будет означать запрет сохранения документа





--------------------
самурай без меча подобен самураю с мечом, но только без меча 
PM MAIL   Вверх
Диас
Дата 12.5.2008, 14:33 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Шустрый
*


Профиль
Группа: Участник
Сообщений: 124
Регистрация: 11.6.2006

Репутация: нет
Всего: нет



условие нужно такое: ЕСЛИ (А1 не пусто) И ((А2 пусто) ИЛИ (А2=0)) ТО не дать сохранить.
Причем в файле уже куча записей, а проверять нужно только те котроые добавили только что. Ну или все придется проверять

Добавлено через 12 минут и 46 секунд
Благодарю. Ну и совсем детский вопрос, аж стыдно. Как обращаться к ячейкам? smile
PM MAIL   Вверх
Диас
Дата 12.5.2008, 15:13 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Шустрый
*


Профиль
Группа: Участник
Сообщений: 124
Регистрация: 11.6.2006

Репутация: нет
Всего: нет



Большое спасибо! Разобрался!  smile  Пример кода, если вдруг кому пригодится:

Private Sub Workbook_BeforeSave(ByVal SaveAsUI As Boolean, Cancel As Boolean)
Dim i As Integer
 For i = 1 To Лист1.UsedRange.Rows.Count
  If Лист1.Range("A" & i).Value = "123" And Лист1.Range("B" & i).Value = "123" Then Cancel = True
 Next i
End Sub

Это сообщение отредактировал(а) Диас - 12.5.2008, 15:13
PM MAIL   Вверх
mihanik
Дата 17.5.2008, 15:22 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


-=Белый Медведь=-
****


Профиль
Группа: Комодератор
Сообщений: 4054
Регистрация: 24.4.2006
Где: г. Тверь

Репутация: 5
Всего: 109



Диас, молодец, что выложил решение.
Но не забывай в таких случаях помечать вопросы решёнными!!!


--------------------
Программистами не рождаются, - это родовая травма...
user posted imageuser posted image
PM MAIL WWW ICQ   Вверх
  
Ответ в темуСоздание новой темы Создание опроса
Правила форума "Работа с MS Office"
mihanik staruha

Запрещается!

1. Публиковать ссылки на вскрытые компоненты

2. Обсуждать взлом компонентов и делиться вскрытыми компонентами



  • Несанкционированная реклама на форуме запрещена
  • Пожалуйста, давайте своим темам осмысленный, информативный заголовок. Вопль "Помогите!" таковым не является.
  • Чем полнее и яснее Вы изложите проблему, тем быстрее мы её решим.
  • Оставляйте свои записи в "Книге отзывов о работе администрации"


Если Вам понравилась атмосфера форума, заходите к нам чаще!
С уважением mihanik и staruha.

 
0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей)
0 Пользователей:
« Предыдущая тема | Работа с MS Office | Следующая тема »


 




[ Время генерации скрипта: 0.0575 ]   [ Использовано запросов: 22 ]   [ GZIP включён ]


Реклама на сайте     Информационное спонсорство

 
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности     Powered by Invision Power Board(R) 1.3 © 2003  IPS, Inc.