Домашняя страница Undo Do New Save Карта сайта Обратная связь Поиск по форуму
МИР MS EXCEL - Гость.xls

Вход

Регистрация

Напомнить пароль

 

= Мир MS Excel/Запрет на сохранение чужих документов - Мир MS Excel

  • Страница 1 из 1
  • 1
Модератор форума: китин, _Boroda_, DrMini  
Запрет на сохранение чужих документов
Andrey410 Дата: Среда, 19.09.2018, 12:06 | Сообщение № 1
Группа: Пользователи
Ранг: Прохожий
Сообщений: 3
Репутация: 0 ±
Замечаний: 0% ±

Excel 2010
Доброго времени суток!
Замучался бороться с раздолбайством пользователей...
Суть проблемы:
Есть документ в который дежурный в конце дня вносит изменения и сохраняет под следующим номером, но это в идеале. На практике очень часто бывает так, что вместо "Сохранить как" они на автомате жмут "Сохранить" тем самым запахивая данные за предыдущий день у другого человека. Достали!
Вопрос:
Подскажите как реализовать следующий алгоритм:
Сотрудник приходя на работу открывает документ условно №2555 созданный 17.09.2018 вносит в него изменения, после этого выбирает "Сохранить как", присваивает ему следующий номер и сохраняет. Дата сохранения соответственно 18.09.2018.
Можно ли сделать так чтобы проходила проверка по номеру документа и по дате сохранения? То есть если сотрудник открыл документ, внёс в него изменения и попытался его просто сохранить не поменяв номер, то ему в этом будет отказано и будет выдано соответствующее сообщение. При этом если дата создания документа и дата сохранения сохранения совпадают, то правило проверки номера не действует.
 
Ответить
СообщениеДоброго времени суток!
Замучался бороться с раздолбайством пользователей...
Суть проблемы:
Есть документ в который дежурный в конце дня вносит изменения и сохраняет под следующим номером, но это в идеале. На практике очень часто бывает так, что вместо "Сохранить как" они на автомате жмут "Сохранить" тем самым запахивая данные за предыдущий день у другого человека. Достали!
Вопрос:
Подскажите как реализовать следующий алгоритм:
Сотрудник приходя на работу открывает документ условно №2555 созданный 17.09.2018 вносит в него изменения, после этого выбирает "Сохранить как", присваивает ему следующий номер и сохраняет. Дата сохранения соответственно 18.09.2018.
Можно ли сделать так чтобы проходила проверка по номеру документа и по дате сохранения? То есть если сотрудник открыл документ, внёс в него изменения и попытался его просто сохранить не поменяв номер, то ему в этом будет отказано и будет выдано соответствующее сообщение. При этом если дата создания документа и дата сохранения сохранения совпадают, то правило проверки номера не действует.

Автор - Andrey410
Дата добавления - 19.09.2018 в 12:06
_Boroda_ Дата: Среда, 19.09.2018, 14:42 | Сообщение № 2
Группа: Админы
Ранг: Местный житель
Сообщений: 16888
Репутация: 6611 ±
Замечаний: ±

2003; 2007; 2010; 2013 RUS
В модуль книги положите вот такой макрос
[vba]
Код
Private Sub Workbook_BeforeSave(ByVal SaveAsUI As Boolean, Cancel As Boolean)
    If Date <> DateValue(Me.BuiltinDocumentProperties("Creation Date")) Then
        If Not SaveAsUI Then
            Cancel = True
            MsgBox "Такой файл уже есть"
            Exit Sub
        End If
    End If
End Sub
[/vba]
К сообщению приложен файл: 789789717.xlsm (13.0 Kb)


Скажи мне, кудесник, любимец ба’гов...
Платная помощь:
Boroda_Excel@mail.ru
Яндекс-деньги: 41001632713405 | Webmoney: R289877159277; Z102172301748; E177867141995
 
Ответить
СообщениеВ модуль книги положите вот такой макрос
[vba]
Код
Private Sub Workbook_BeforeSave(ByVal SaveAsUI As Boolean, Cancel As Boolean)
    If Date <> DateValue(Me.BuiltinDocumentProperties("Creation Date")) Then
        If Not SaveAsUI Then
            Cancel = True
            MsgBox "Такой файл уже есть"
            Exit Sub
        End If
    End If
End Sub
[/vba]

Автор - _Boroda_
Дата добавления - 19.09.2018 в 14:42
Andrey410 Дата: Среда, 19.09.2018, 18:09 | Сообщение № 3
Группа: Пользователи
Ранг: Прохожий
Сообщений: 3
Репутация: 0 ±
Замечаний: 0% ±

Excel 2010
Огромное спасибо!
Поставил макрос, но что-то не срастается. При попытке просто сохранить файл под тем же именем, но с другой текущей датой выдаёт сообщение, что такой файл есть. Всё здорово! А вот дальше чудеса начинаются. Сохраняем файл под другим именем, пытаемся сохранить после внесения изменений и получаем тот же блок...
Попробую более подробно описать что должен делать сотрудник:
1. приходит на работу и открывает файл за предыдущий день. Выбирает "Сохранить как" и присваивает ему другое имя. (на этом этапе у него не должно быть возможности просто сохранить файл, не переименовав его)
2. в течении дня работает с этим файлом. Сохраняет, открывает, закрывает, редактирует и .т.п.
3. в конце дня в последний раз сохраняет файл и выводит его на печать.
4. и вот на следующий день этот файл должен быть закрыт на любые изменения под этим номером и вчерашней датой.
Как- так...

Может я что-то не правильно делаю?
 
Ответить
СообщениеОгромное спасибо!
Поставил макрос, но что-то не срастается. При попытке просто сохранить файл под тем же именем, но с другой текущей датой выдаёт сообщение, что такой файл есть. Всё здорово! А вот дальше чудеса начинаются. Сохраняем файл под другим именем, пытаемся сохранить после внесения изменений и получаем тот же блок...
Попробую более подробно описать что должен делать сотрудник:
1. приходит на работу и открывает файл за предыдущий день. Выбирает "Сохранить как" и присваивает ему другое имя. (на этом этапе у него не должно быть возможности просто сохранить файл, не переименовав его)
2. в течении дня работает с этим файлом. Сохраняет, открывает, закрывает, редактирует и .т.п.
3. в конце дня в последний раз сохраняет файл и выводит его на печать.
4. и вот на следующий день этот файл должен быть закрыт на любые изменения под этим номером и вчерашней датой.
Как- так...

Может я что-то не правильно делаю?

Автор - Andrey410
Дата добавления - 19.09.2018 в 18:09
_Boroda_ Дата: Среда, 19.09.2018, 18:52 | Сообщение № 4
Группа: Админы
Ранг: Местный житель
Сообщений: 16888
Репутация: 6611 ±
Замечаний: ±

2003; 2007; 2010; 2013 RUS
Делаете Вы все правильно. Вы написали в первом посте не совсем так
если дата создания документа и дата сохранения сохранения совпадают, то правило проверки номера не действует.
Нужна не дата создания, а дата сохранения У меня были подозрения на этот счет, но, уж если Вы так написали...
Вот так попробуйте
[vba]
Код
Private Sub Workbook_BeforeSave(ByVal SaveAsUI As Boolean, Cancel As Boolean)
    If Date <> DateValue(FileDateTime(Me.FullName)) Then
        If Not SaveAsUI Then
            Cancel = True
            MsgBox "Такой файл уже есть"
            Exit Sub
        End If
    End If
End Sub
[/vba]
К сообщению приложен файл: 789789717_2.xlsm (13.4 Kb)


Скажи мне, кудесник, любимец ба’гов...
Платная помощь:
Boroda_Excel@mail.ru
Яндекс-деньги: 41001632713405 | Webmoney: R289877159277; Z102172301748; E177867141995
 
Ответить
СообщениеДелаете Вы все правильно. Вы написали в первом посте не совсем так
если дата создания документа и дата сохранения сохранения совпадают, то правило проверки номера не действует.
Нужна не дата создания, а дата сохранения У меня были подозрения на этот счет, но, уж если Вы так написали...
Вот так попробуйте
[vba]
Код
Private Sub Workbook_BeforeSave(ByVal SaveAsUI As Boolean, Cancel As Boolean)
    If Date <> DateValue(FileDateTime(Me.FullName)) Then
        If Not SaveAsUI Then
            Cancel = True
            MsgBox "Такой файл уже есть"
            Exit Sub
        End If
    End If
End Sub
[/vba]

Автор - _Boroda_
Дата добавления - 19.09.2018 в 18:52
Andrey410 Дата: Пятница, 21.09.2018, 13:21 | Сообщение № 5
Группа: Пользователи
Ранг: Прохожий
Сообщений: 3
Репутация: 0 ±
Замечаний: 0% ±

Excel 2010
Проверил обновлённый вариант в реальных условиях. Всё работает как надо! Ещё раз огромное спасибо!
 
Ответить
СообщениеПроверил обновлённый вариант в реальных условиях. Всё работает как надо! Ещё раз огромное спасибо!

Автор - Andrey410
Дата добавления - 21.09.2018 в 13:21
  • Страница 1 из 1
  • 1
Поиск:

Яндекс.Метрика Яндекс цитирования
© 2010-2025 · Дизайн: MichaelCH · Хостинг от uCoz · При использовании материалов сайта, ссылка на www.excelworld.ru обязательна!