Запреты на копирование в excel

Хотя в Excel реализована общая защита рабочих книг и листов, этот грубый инструмент не может предоставить пользователям ограниченные привилегии — если только вы не примените какие-то трюки. [1] Управлять действиями пользователей можно путем ответов на события. События — это действия, которые происходят по мере того, как вы работаете с книгами и листами. Наиболее часто происходящие события — это открытие рабочей книги, ее сохранение и закрытие после завершения работы. Вы можете заставить Excel автоматически выполнять некоторый код Visual Basic в момент, когда происходит одно из этих событий.

Отключение в рабочей книге команды Сохранить

Можно сделать так, чтобы рабочую книгу нельзя было сохранить, и она открывалась в режиме «только для чтения». Для этого в вашей книге выполните команду Сохранить как и в окне Сохранение документа кликните на стрелку вниз на кнопке Сервис (рис. 1). Выберите опцию Общие параметры.

Рис. 1. Доступ к меню Общие параметры при сохранении книги Excel

Рис. 1. Доступ к меню Общие параметры при сохранении книги Excel

Скачать заметку в формате Word или pdf, примеры в формате Excel (файл содержит макросы)

В открывшемся окне Общие параметры (рис. 2) задайте Пароль для изменения и кликните на Рекомендовать доступ только для чтения. Кликните Ok, повторите ввод пароля, и сохраните книгу. Если появится окно Книга с таким именем уже существует, заменить ее? Кликните Да.

Рис. 2. Задание пароля для изменения книги в окне Общие параметры

Рис. 2. Задание пароля для изменения книги в окне Общие параметры

Отключение в рабочей книге команды Сохранить как

В предыдущем разделе вы научились не давать возможность пользователям сохранить книгу поверх вашей, но хитрые пользователи могут сохранить копию книги в другом месте. 🙂 Чтобы отключить эту возможность, потребуется код VBA.

Событие Before Save, которое вы будете использовать в следующем коде, было впервые создано в Excel 97. Как предполагает его имя, это событие происходит перед сохранением рабочей книги, позволяя вам поймать действия пользователя еще перед этим фактом, выдать предупреждение и запретить Excel сохранять файл.

Перед тем как пытаться выполнить следующий трюк, обязательно сначала сохраните рабочую книгу в формате с поддержкой макросов *.xlsm. Если вы напишете этот код до того, как сохраните книгу, то не сможете более сохранять изменения.

Чтобы написать код, откройте рабочую книгу и пройдите по меню Разработчик –> Visual Basic. [2] В окне Microsoft Visual Basic for Applications перейдите в окно ProjectVBAProject. Если нужно раскройте строку VBAProject (Защита книги Excel от копирования и печати. Примеры) и правой кнопкой мыши щелкните на значке ЭтаКнига. Выберите опцию View Code (рис. 3). Откроется окно Защита книги Excel от копирования и печати. Примеры.xlsx — Эта книга (Code). Это окно частного модуля для объекта ЭтаКнига. Это важно, и вы не добьетесь цели, если запишите код в обычном модуле.

Рис. 3. Открыто окно частного модуля для объекта рабочей книги

Рис. 3. Открыто окно частного модуля для объекта ЭтаКнига

Введите следующий код (рис. 4) и нажмите сочетание клавиш Alt+Q, чтобы вернуться в Excel.

Option Explicit
Private Sub workbook_BeforeSave(ByVal SaveAsUI As Boolean, Cancel As Boolean)
Dim lReply As Long
    If SaveAsUI = True Then
        lReply = MsgBox("Sorry, you are not allowed to save this workbook as another name. " _
                & "Do you wish to save this workbook.", vbQuestion + vbOKCancel)
        Cancel = (lReply = vbCancel)
    If Cancel = False Then Me.Save
        Cancel = True
    End If
End Sub

Рис. 4. Код в частном модуле ЭтаКнига

Рис. 4. Код в частном модуле ЭтаКнига (чтобы увеличить изображение, кликните на картинке правой кнопкой мыши и выберите опцию Открыть картинку в новой вкладке)

Проверьте, что получилось. Выберите команду Файл –> Сохранить как, вы увидите сообщение о том, что эту книгу запрещено сохранять под другим именем (рис. 5).

Рис. 5. Сообщение о запрете на сохранение книги под другим именем

Рис. 5. Сообщение о запрете на сохранение книги под другим именем

Очень хитрые пользователи могут открыть редактор VBA, удалить код, и сохранить книгу в другом месте или с другим именем.

Запрет печати рабочей книги

Итак, вы запретили сохранение книги, копирование книги в другое место, но пользователи всё еще могут распечатать данные. При помощи события Excel Before Print можно отследить и предупредить действия пользователя. Как и ранее, откройте окно частного модуля для объекта ЭтаКнига и введите код:

Option Explicit
Private Sub workbook_BeforePrint(Cancel As Boolean)
    Cancel = True
    MsgBox "Выводить эту рабочую книгу на печать нельзя", vbInformation
End Sub

Закончив ввод кода, нажмите сочетание клавиш Alt+Q, чтобы вернуться в Excel. Теперь каждый раз, когда пользователи будут пытаться напечатать эту рабочую книгу, ничего не случится. Строка сообщения MsgBox не обязательна, но всегда полезно включать ее, хотя бы для того, чтобы проинформировать пользователя.

Если вы хотите, чтобы пользователи не могли печатать только определенные листы в книге, вместо предыдущего кода используйте следующий:

Option Explicit
Private Sub workbook_BeforePrint(Cancel As Boolean)
    Select Case ActiveSheet.Name
        Case "Sheet1", "Sheet2"
            Cancel = True
            MsgBox "Выводить этот рабочий лист на печать нельзя", vbInformation
    End Select
End Sub

Обратите внимание, что печать будет остановлена только для листов Sheet1 и Sheet2. Конечно, имена листов вашей рабочей книги могут быть любыми. Чтобы добавить их в список кода, запишите их в кавычках, разделяя запятыми. Если вы хотите запретить печать только одного листа, укажите только одно название в кавычках, не ставя запятую.

У хитрых пользователей всё еще останется возможность сделать скриншот экрана с вашей засекреченной книгой.

К сожалению, пользователи могут обойти эту защиту и иным путем. Им достаточно полностью отключить макросы. Для этого нужно пройти по меню Файл –> Параметры –> Центр управления безопасностью, и кликнуть на кнопке Параметры центра управления безопасностью. В открывшемся окне перейти на складку Параметры макросов и поставить переключатель в позицию Отключить все макросы без уведомления. С другой стороны, если в электронной таблице будут находиться и полезные для них макросы, пользователи, вероятно, включат использование макросов. Описанные трюки представляют собой просто удобную возможность и не обеспечивают мощной защиты данных.

[1] По материалам книги Д.Холи, Р.Холи. Excel 2007. Трюки, стр. 28–32

[2] Если вкладка Разработчик отсутствует, пройдите по меню Файл –> Параметры Excel –> Настроить ленту. Поставьте галочку напротив вкладки Разработчик.

Защита листа

Чтобы предотвратить умышленное или случайное изменение, перемещение или удаление данных на листе другими пользователями, можно заблокировать ячейки на листе Excel, а затем защитить его паролем. Предположим, что у вас есть лист отчета о работе группы и вы хотите, чтобы ее участники могли добавлять данные только в определенные ячейки и не могли изменять другие элементы. С помощью защиты листа можно сделать доступными для редактирования только определенные части листа, после чего пользователи не смогут изменять данные в других его областях.

Защита листа не является функцией безопасности. Она просто запрещает изменение заблокированных ячеек на листе.

Защита листа отличается от защиты файла или книги Excel паролем. Дополнительные сведения см. ниже.

Сведения о том, как заблокировать файл, чтобы другие пользователи не смогли открыть его, см. в статье Защита файла Excel.

Чтобы предотвратить добавление, изменение, перемещение, копирование или скрытие и отображение листов в книге, см. статью Защита книги.

Чтобы узнать, чем защита файла Excel отличается от защиты книги или листа, прочтите статью Защита и безопасность в Excel.

Выбор элементов листа для блокировки

Вот какие элементы можно заблокировать на незащищенном листе:

Формулы: если вы не хотите, чтобы другие пользователи видели формулы, их можно скрыть из ячеек или строки формул. Дополнительные сведения можно найти в разделе Отображение и скрытие формул.

Диапазоны: вы можете позволить пользователям работать в определенных диапазонах на защищенном листе. Дополнительные сведения см. в статье Блокировка и разблокировка определенных областей защищенного листа.

Примечание: Элементы ActiveX, элементы управления форм, фигуры, диаграммы, графические элементы SmartArt, спарклайны, срезы, временные шкалы и некоторые другие элементы блокируются сразу после добавления в таблицу. Однако блокировка будет работать только в том случае, если включена защита листа. Дополнительные сведения о том, как включить защиту, см. в следующем разделе.

Включение защиты листа

Защита листа выполняется в два этапа: сначала нужно разблокировать ячейки, которые пользователи должны изменять, а затем защитить лист с использованием пароля или без него.

Шаг 1. Разблокировка всех ячеек, которые необходимо изменять

В файле Excel щелкните ярлычок листа, который вы хотите защитить.

Выделите ячейки, которые должны изменять другие пользователи.

Совет: Чтобы выделить несколько несмежных ячеек, нажмите и удерживайте клавишу CTRL и щелкните их левой кнопкой мыши.

Щелкните правой кнопкой мыши в любом месте листа и выберите команду Формат ячеек (либо нажмите клавиши CTRL+1 или COMMAND1 на компьютере Mac), а затем откройте вкладку Защита и снимите флажок Защищаемая ячейка.

Шаг 2. Защита листа

Решите, какие действия пользователи должны выполнять на листе (например, вставка и удаление столбцов или строк, изменение объектов, сортировка или использование автофильтра). Кроме того, вы также можете указать пароль, чтобы заблокировать лист. Пароль не позволит другим пользователям снять с листа защиту — его потребуется ввести для ее отключения.

Ниже приведены инструкции по защите листа.

На вкладке Рецензирование нажмите кнопку Защитить лист.

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

выделение заблокированных ячеек

Перемещение указателя на ячейки, для которых установлен флажок Защищаемая ячейка на вкладке Защита в диалоговом окне Формат ячеек. По умолчанию пользователям разрешено выделять защищенные ячейки.

выделение незаблокированных ячеек

Перемещение указателя на ячейки, для которых снят флажок Защищаемая ячейка на вкладке Защита в диалоговом окне Формат ячеек. По умолчанию пользователям разрешено выделять незащищенные ячейки, а также перемещаться между незащищенными ячейками на защищенном листе с помощью клавиши TAB.

Изменение параметров в диалоговых окнах Формат ячеек или Условное форматирование. Если условное форматирование было применено до установки защиты листа, форматирование будет изменяться при вводе значения, удовлетворяющего определенному условию.

Использование любых команд форматирования столбцов, включая изменение ширины столбца или скрытие столбцов (вкладка Главная, группа Ячейки, кнопка Формат).

Использование любых команд форматирования строк, включая изменение высоты строки или скрытие строк (вкладка Главная, группа Ячейки, кнопка Формат).

Вставка новых гиперссылок (даже в незаблокированных ячейках).

Примечание: Если элемент » удалить столбцы » защищен и Вставка столбцов не защищена, пользователь может вставлять столбцы, но не может удалять их.

Примечание: Если строка «удалить строки » защищена, а Вставка строк не защищена, пользователь может вставлять строки, но не может удалять их.

Использование команд для сортировки данных (вкладка Данные, группа Сортировка и фильтр).

Примечание: Пользователи не смогут сортировать диапазоны, содержащие заблокированные ячейки на защищенном листе, независимо от настройки этого параметра.

Использование стрелок раскрывающегося списка для изменения фильтра в диапазонах, если применяются автофильтры.

Примечание: Пользователи не смогут применять или удалять автофильтры на защищенном листе независимо от настройки этого параметра.

использование отчетов сводной таблицы

Форматирование, изменение макета, обновление данных либо иное изменение отчетов сводной таблицы, а также создание отчетов.

Выполнять следующие действия:

Внесение изменений в графические объекты, в том числе карты, встроенные диаграммы, фигуры, надписи и элементы управления, которые не были разблокированы перед установкой защиты листа. Например, если на листе есть кнопка, запускающая макрос, ее можно нажать, чтобы запустить макрос, но нельзя удалить.

Внесение каких-либо изменений (например, форматирование) во встроенную диаграмму. Диаграмма по-прежнему будет обновляться при изменениях ее исходных данных.

Добавление и редактирование заметок.

Просмотр скрытых сценариев, изменение сценариев с установленным запретом на изменения и удаление этих сценариев. Пользователи могут изменять значения в изменяемых ячейках, если ячейки не защищены, и добавлять новые сценарии.

При желании можно ввести пароль в поле Пароль для отключения защиты листа и нажать кнопку ОК. В диалоговом окне Подтверждение пароля еще раз введите пароль и нажмите ОК.

Используйте надежные пароли, состоящие из букв в верхнем и нижнем регистре, цифр и символов. В ненадежных паролях используются не все эти элементы или они не смешаны. Пример ненадежного пароля: House27. Парольную фразу, которая использует 14 и более символов, лучше.

Очень важно запомнить свой пароль. Если вы забудете пароль, корпорация Майкрософт не сможет его восстановить.

Если лист защищен, команда Защитить лист на ленте изменяется на Снять защиту листа. Команду Снять защиту листа можно найти на вкладке Рецензирование в группе Изменения.

Чтобы снять защиту листа, сделайте следующее:

Выберите лист, защиту которого вы хотите снять.

Выберите Файл > Сведения > Защита > Снять защиту листа или Рецензирование Изменения > Снять защиту листа.

Если лист защищен паролем, введите его в диалоговом окне Защита листа и нажмите кнопку OK.

Дополнительные сведения

Вы всегда можете задать вопрос специалисту Excel Tech Community, попросить помощи в сообществе Answers community, а также предложить новую функцию или улучшение на веб-сайте Excel User Voice.

Защита от копирования в excel

О проблемах, например, с регистрацией пишите сюда — alarforum@yandex.ru, проверяйте папку спам! Обязательно пройдите активизацию e-mail, а тут можно восстановить пароль.

Регистрация

Поиск по форуму
Расширенный поиск

Здесь нужно купить рекламу за 20 тыс руб в месяц! ) пишите сюда — alarforum@yandex.ru
Без учёта ботов — 20000 человек в день, 350000 в месяц.

Ребят поиском воспользовался. Ногами не топчите.
Вкратце ситуация: Есть малое предприятие. 20 компов, локалка. Я занимаюсь построением базы данных в Exele. Один из компьютеров является сервеорм, на него после завершения редактирования я выкидываю готовый файл xls. С ним работают все сотрудники. Задача такова. Как сделать так, чтобы все могли его просматривать, но редактировать, И самое главное скопировать его на сторонний носитель или каким-либо иным способом унести его с предприятия не могли. таблица представляет огромную ценность для конкурентов.

Я прочел все про защиту листа.. но защита листа, это именно защита листа. у меня документ состояит пока что из 400 листов и они бду преумножаться. не сказать, Чтобы выход для меня. хотя основные страницы я запаролил.. Защита книги я вообще не понимаю что такое. Включаю эту защиту и не понимаю что изменилось.

В общем есть ли способы, чтобы реализовать поставленную задачу. ? может какие сторонние приложения.

Есть идея что можно сделать сервером ту машину, на которой я работаю, открыть доступ к одной из папок без возможности изменять данные. но от копирования это не защитит..

soulstrong
Посмотреть профиль
Найти ещё сообщения от soulstrong

Полностью защититься от копирования информации и последующего выноса её с предприятия невозможно.

Если сотрудник может увидеть конфиденциальную информацию, и конкурент за неё заплатит, — тут уже ничего не спасёт (в крайнем случае, сотрудник сфотографирует таблицу на мониторе при помощи сотового телефона — от фотоаппарата защиты пока не придумали. )

Другое дело, можно максимально осложнить процесс копирования — но от профессионалов это всё равно не спасёт.

таблица представляет огромную ценность для конкурентов.

Насколько велика эта ценность в денежном эквиваленте?
Сколько Вы готовы потратить на защиту информации?
От этого во многом зависит решение.

Я бы посоветовал вообще не давать пользователям возможность работы с исходным файлом.
Написать макросы, которые обращаются к находящемуся на сервере запароленному файлу (или нескольким файлам), получают из него необходимую информацию (в зависимости от того, что запросил пользователь), и возвращают в новый файл Excel скриншоты нужных данных.
Вообще, конечно же, лучше было использовать для БД не Excel, а, к примеру, Access.

Впрочем, может хватить полностью скрыть интерфейс Excel (и заблокировать комбинации горячих клавиш), и защитить все ячейки листа (с отключением возможности выделения защищённых ячеек).
Очень немногие пользователи смогут скопировать из него данные.

Можно ли защитить excel файл от копирования?

Т.к. вы неавторизованы на сайте. Войти.

Т.к. тема является архивной.

Т.к. вы неавторизованы на сайте. Войти.

Т.к. тема является архивной.

Т.к. вы неавторизованы на сайте. Войти.

Т.к. тема является архивной.

Т.к. вы неавторизованы на сайте. Войти.

Т.к. тема является архивной.

Т.к. вы неавторизованы на сайте. Войти.

Т.к. тема является архивной.

Т.к. вы неавторизованы на сайте. Войти.

Т.к. тема является архивной.

Т.к. вы неавторизованы на сайте. Войти.

Т.к. тема является архивной.

Т.к. вы неавторизованы на сайте. Войти.

Т.к. тема является архивной.

Дык.. Обфусцируя, можно зайти довольно далеко :))

Т.к. вы неавторизованы на сайте. Войти.

Т.к. тема является архивной.

Т.к. вы неавторизованы на сайте. Войти.

Т.к. тема является архивной.

Т.к. вы неавторизованы на сайте. Войти.

Т.к. тема является архивной.

Т.к. вы неавторизованы на сайте. Войти.

Т.к. тема является архивной.

Т.к. вы неавторизованы на сайте. Войти.

Т.к. тема является архивной.

Т.к. вы неавторизованы на сайте. Войти.

Т.к. тема является архивной.

Т.к. вы неавторизованы на сайте. Войти.

Т.к. тема является архивной.

PS. Не благодари.

Т.к. вы неавторизованы на сайте. Войти.

Т.к. тема является архивной.

Т.к. вы неавторизованы на сайте. Войти.

Т.к. тема является архивной.

Зато он требует пароль для просмотра VBA-кода.
Доказано Занусси ;-))
—->
А при вызове списка макросов кнопка «Изменить» неактивна.

ЗЫ. Что же я, по твоему, ТЗ не в состоянии прочесть? ))

Т.к. вы неавторизованы на сайте. Войти.

Т.к. тема является архивной.

Т.к. вы неавторизованы на сайте. Войти.

Т.к. тема является архивной.

Т.к. вы неавторизованы на сайте. Войти.

Т.к. тема является архивной.

Т.к. вы неавторизованы на сайте. Войти.

Т.к. тема является архивной.

Т.к. вы неавторизованы на сайте. Войти.

Т.к. тема является архивной.

Объявления на НН.РУ — Техника

Продам Кулер от Ноутбука Asus N53 б/у рабочий Модель кулера KSB06105HB Возможна отправка по России
Цена: 650 руб.

Рабочий жесткий диск hdd ide seagate st380011a
Цена: 450 руб.

Покупаем лицензионный софт на протяжении 10 лет, поэтому у нас лучшее обслуживание клиентов среди компаний данной сферы деятельности.
Цена: 12 000 руб.

В рабочем состоянии Возможна отправка по России
Цена: 290 руб.

Защита от копирования в excel

Можно ли запретить в экселе копирование листа(или его части) документа — куда либо?
Сформированный в экселе документ нужно без изменения распечатать один раз, при этом запретив его исправлять, и копировать его фрагменты куда либо. Подскажите пожалуйста — возможно ли это?


Alexandr ( 2003-03-17 10:10 ) [1]

можно в сторону макросов покопать, но не факт.
Да и на Экселе свет клином не сошелся.


Sheriff ( 2003-03-17 10:16 ) [2]

Excel (ХР) дает следующий макрос

ActiveWorkbook.Protect Structure:=True, Windows:=True


Veronika ( 2003-03-17 10:20 ) [3]

Не хочется менять способ построения отчётов.
Поискала в справке — ничего похожего на BeforeCopyToClipBoard нету.


Veronika ( 2003-03-17 10:41 ) [4]

Этот кусочек кода не запрещает выделить на листе фрагмент и вставить его в другой документ.


Sheriff ( 2003-03-17 11:04 ) [5]

скрывайте лист
ActiveWindow.SelectedSheets.Visible = False
а не поясните подробно мотивы таких издевательств над Excel?


Veronika ( 2003-03-17 11:17 ) [6]

Просто хотелось бы, чтобы этот документ, назовём его «накладная» был напечатан действительно только один раз, и не перепечатывался, и чтобы все исправления — только через клиентское приложение.


Alexandr ( 2003-03-17 11:24 ) [7]

для этого уходят от excel


Roki ( 2003-03-17 11:33 ) [8]


Veronika ( 2003-03-17 11:33 ) [9]

Т.е. вердикт таков — что НЕЛЬЗЯ что ли?


fareader ( 2003-03-17 11:34 ) [10]

Хммм. интересный подход — печатать прогораммно накладные через ексель — меня пользователи бы уже живьем сожрали за такое. Тем более, что это не отчет для менеджера, которому информация должна быть дана в виде екслевской таблицы для последующего анализа.
А не проще ли использовать что-то более адаптированное к таим вещам:
FastReport, FreeReport, QuickReport и много чего еще, кстати многие компоненты поддерживают експорт в ексель.


Sheriff ( 2003-03-17 11:36 ) [11]

да не показывайте пользователю вообще Excel.
сформировали накладную, отправили на печать и
тут же разрушили страницу (стерли данные и т.д.).
(все это не отображая Excel)
и в чем тут проблема?


fareader ( 2003-03-17 11:36 ) [12]

2Veronika (17.03.03 11:33)
рекомендую рассмотреть предложение Sheriff (17.03.03 11:04) о снятии визибл с листа.


Veronika ( 2003-03-17 11:38 ) [13]

хм. а какая разница — через чё её печатать? Что любой другой отчёт нельзя подделать что ли?


Alexandr ( 2003-03-17 11:39 ) [14]


> Хммм. интересный подход — печатать прогораммно накладные
> через ексель — меня пользователи бы уже живьем сожрали за
> такое.

а меня бы пользователи живьем сожрали, если бы я не дал им возможность вручную редактировать некорые документы прямо в word или excel :))))))))))))))


Fareader ( 2003-03-17 11:45 ) [15]

>а меня бы пользователи живьем сожрали, если бы я не дал им >возможность вручную редактировать некорые документы прямо в ?>word или excel :))))))))))))))

У всех своя специфика 🙂


Alexandr ( 2003-03-17 11:49 ) [16]

здесь палка о двух концах.
И у того и у другого есть свои достоинства и недостатки.
Но совместить 2 в 1 не так просто.

Оценка статьи:

2 звезды3 звезды4 звезды5 звезд5 звезд

Загрузка…

Adblock
detector

Как запретить copy-paste на листах эксель?
Есть сложный документ, нагруженый форматируемыми ячейками, условными форматами и т.п. мутью. Часто возникает необходимость переностить данные из одного файла эксель в этот крутой, и ясен пень, особогениальные сотрудники делают это методом копи-пейст. При этом слетают условные форматирования, форматы ячеек — я уж молчу про границы и заливки. Вербальные и даже анальные внушения на предмет того точбы это не делать и перености рукаи не помогют — собственно хоче запретить это в самом файле.

Желательно чтобы выводилось сообщение о запрете или что-то в этом духе.


можно убрать возможность выделения ячеек, соответственно нельзя «в лоб» выделить и скопировать ячейки
В екселе 2003: пункт меню Сервис-Защита-Защитить лист и настраиваешь защиту по пунктам
В екселе 2007: вкладка Главная-блок Ячейки -Формат — Защитать лист… и настраиваешь защиту по пунктам

учти, что по умолчанию в формате ячеек по умолчанию включена защита ячейки (правая кнопка мышки по ячейке — Формат ячеек…- вкладка Защита)


Этот вариант совсем не катит — потому что должна оставатся возможность вносить значения РУКАМИ. Простыми, трудовыми, намазолеными менеджерскими руками… но БЕЗ возможности вставлять из буфера… ИЛИ если вставлять — то ТОЛЬКО значение — без форматирований, размеров текстов и т.п. чуши


Поппробуйте научить сотрудников вставлять только значения (ПКМ / специальная вставка) — эту функцию можно вывести на панельку и переназначить на нее сочетание клавишь Ctrl+V (если очень нужно). Но эту работу придется выполнять на каждой пользовательской машине.
Возможно VBA позволит сделать это лишь для указзанного файла.


Это как раз то что я сделал в первую очередь — запретил пользоваться обычной вставкой и научил юзать специальную. НО! выяснилось что даже при использовании специальной вставки вставляется не только значение но и условное_форматирование. Другими словами — действительно, вставляется только значение, но при этом впихивается и условное_форматирование… ИМХО это просто недоработка самого экселя — единственное решение которое я вижу это просто запретить использовать copy-paste полностью. Но если лист имеет структуру, защищён так чтобы часть ячеек редактировать а часть нет — то сделать это простыми методами нельзя… Мне бы подошёл и сложный — лишь бы он был…


Посмотрите такой вариант.
Кнопка на панели инструментов, в меню по ПКМ, комбинации Ctrl+v и Shift+Insert переназначены на вставку только значений, условное_форматирование не захватывается. Все это только на Лист1, в других листах и книгах все как обычно. Для нормальной встаки оставлен путь Правка-Вставить. Есть еще несколько путей обхода, но я думаю, что Вашим «особогениальным» не нужно будет их находить и поэтму не стал блокировать совсем все.

Скажи мне, кудесник, любимец ба’гов…

Яндекс-деньги: 41001632713405
Webmoney: R289877159277; Z102172301748; E177867141995


Если честно — совершенно не понял как это сделано и как перенести в свой файл…


Мне кажется что тут проще сделать макрос, который просто будет запрещать вставлять что-либо и как-либо, с всплывающем сообщением (ЗАПРЕЩЕНО!ЕПТ!)

только я не знаю как такой макрос сделать  :)


Да вот в том то и дело что просто запретить его нежелательно — нужно сделать так чтобы по дефолту вставлялись ТОЛЬКО значения либо простой текст.


А я вставил в меню ПКМ следующий пункт и чуствую себя «нормально» :)

Sub AddShortCut()
        With ComBar.Controls.Add(Type:=msoControlButton)
            .OnAction = "MyPaste"
            .FaceId = 22
            .Caption = "Вставить значение"
        End With
End Sub

Private Sub MyPaste()
    Selection.PasteSpecial Paste:=xlPasteValues, Operation:=xlNone, SkipBlanks:=False, Transpose:=False
End Sub

Ничто не обходится нам так дешево и не ценится так дорого, как вежливость…  Мигель Сервантес де Сааведра


Цитата: _Boroda_ от 23.07.2009, 14:22
Дак я ж так и сделал
Если не получается вставить макросы в свой файл или, как я уже писал, в мой файл с макросами вставить свою табличку — присылай кусочек своего файла (предполагаю, что весит он немало).

Да я бы с радостью — но у меня 8 менеджеров и у каждого такой файл свой… не все же 8 присылать — тем более что там есть инфа которую не хотелось бы публично светить. Поэтому хочу разобраться сам.

Что такое этот макрос? Где он хранится и куда его собсно вставлять?
Наивно полагал что это какая-то особо-сложная формула в ячейке — а это оказывается что-то роде программы внутри файла… вот это и вызывает сложности — начиная от простого переноса, заканчивая тем как это привязывать к нужным листам и т.п.


Из всех предложенных вариантов, ничего не понял…
помогите, мне тоже нужна такая возможность «запрета вставки»…
не ужели нет какого нить простого макроса, с запретом кнопки вставки…???


Находясь в среде Excel нажмите «Alt+F11», откроется окно редактора VBA
Раскройте VBAProject(«Ваша Книга«) …  в модуле «ЭтаКнига» вставьте следующий код


Private Sub Workbook_Open()
    With Application
        .OnKey "^{v}", "MyPaste"
        .OnKey "+{INSERT}", "MyPaste"
        .Run ("AddMyPaste")
    End With
End Sub

Private Sub Workbook_BeforeClose(Cancel As Boolean)
'восстанавливаем всё на место при выходе
    With Application
        .OnKey "^{v}"
        .OnKey "+{INSERT}"
        .CommandBars("Cell").Reset  ' Восстановление системного контекстного меню ячейки
    End With
End Sub

затем, ПКМ по VBAProject вызываем меню и добавляем(insert) новый модуль
в Вновь созданный модуль вставьте следующий код


Sub AddMyPaste()
    With CommandBars("Cell").Controls.Add(Type:=msoControlButton, Before:=1)
        .OnAction = "MyPaste"
        .FaceId = 22
        .Caption = "Вставить значение"
    End With
End Sub

Private Sub MyPaste()
On Error Resume Next
    Selection.PasteSpecial Paste:=xlPasteValues, Operation:=xlNone
End Sub

во вложении файл с кодом

Ничто не обходится нам так дешево и не ценится так дорого, как вежливость…  Мигель Сервантес де Сааведра


Что-то у меня все равно вставляется…

я копирую данные из другого ексел файла, и вставляю в пример из вложения… и все равно вставляется, даже с заливкой и с линиями….

не понятно((


 А макросы включили?
В меню ПКМ «Вставить значение» появилось?

Ничто не обходится нам так дешево и не ценится так дорого, как вежливость…  Мигель Сервантес де Сааведра


сделал все как описано…

а что за меню ПКМ?  я делал написано:

Цитироватьзатем, ПКМ по VBAProject вызываем меню и добавляем(insert) новый модуль
в Вновь созданный модуль вставьте следующий код

и туда вставлял код


ПКМ — Правая Кнопка Мышки

Если Вы запускаете файл и Разрешаете запуск макросов, то в меню ПКМ на ячейке(когда выделена одна/группа ячеейк, а не строка или столбец) должен появиться новый пункт «Вставить значение», если такового не появилось, значит макросы отключены. Возможно, Вам надо сменить уровень безопасности Excel на менее «жесткий» (Сервис/Параметры/Безопасность/Безопасность макросов) Рекомендую «Среднюю» поставить.

Ничто не обходится нам так дешево и не ценится так дорого, как вежливость…  Мигель Сервантес де Сааведра


все, я понял…. макрос работает….

только вот никакого запрета  copy-paste тут нет. Ведь необходимо чтобы вообще никак нельзя было вставить скопированное…

вот в чем вопрос…)


Что Вам мешает?
Включите воображение

Private Sub MyPaste()
      msgbox("Здесь нельзя вставить скопированное :)")
End Sub

Ничто не обходится нам так дешево и не ценится так дорого, как вежливость…  Мигель Сервантес де Сааведра


Если через Ctrl +V или shift +insert, то вставку блокирует… но вот если вставлять через Правка — Вставить, то все равно вставляется. Можно ли как то и это заблокировать? :)


Если для Вас так важно, что бы изменения не вносились в лист, то не проще ли воспользоваться стандартными средствами (Защитить Лист)
Во вложении файл, который кроме клавишь отключает Вставку изо всех контекстных меню.
Это максимум, что я могу для Вас сделать.  ;)

Ничто не обходится нам так дешево и не ценится так дорого, как вежливость…  Мигель Сервантес де Сааведра


спасибо!! все отлично работает)) ;)


boa
у меня опять проблема…запускал вам пример дома на 2007 excel’e, все работало… а вот на работе на 2003, почему то через Правка-Вставить, все равно вставляется… хотя в меню ПКМ — Вставить, блокируется…
непонятно((


Странно, в 2007-м тоже должно вставляться из меню панели
я не знаю как отключить эту вставку

Ничто не обходится нам так дешево и не ценится так дорого, как вежливость…  Мигель Сервантес де Сааведра


  • Профессиональные приемы работы в Microsoft Excel

  • Обмен опытом

  • Microsoft Excel

  • запрет copy-paste

Создав в Excel какой-нибудь документ многим нужно защитить Excel паролем. Защита в Excel бывает разная. Можно защитить лист Excel чтобы его не смогли скопировать или изменить. Можно поставить пароль на файл Excel чтобы его не смогли открыть и посмотреть или открыть смогли, а изменения внести не смогли. Иногда требуется защита ячеек в Excel от копирования и изменений.

Чтобы запаролить эксель нужно в панели инструментов нажать Файл — Сведения — Зашифровать паролем.

Пароль Excel 2007

Как поставить пароль на эксель файл

Откроется небольшое окошко в котором нужно будет написать пароль и нажать кнопку ОК. Откроется ещё одно окошко в котором нужно будет ещё раз вписать этот же пароль для подтверждения. После этого чтобы поставить пароль на Excel нужно будет его закрыть с подтверждением сохранения изменений. Теперь открывая файл вам нужно будет вписать пароль иначе вы не увидите, что находится в этом файле.

Пароль Excel защита листа

Чтобы снять пароль с защиты листа Excel нужно знать пароль

Чтобы снять пароль с файла Excel нужно будет сначала открыть его с помощью пароля, а затем нажать Файл — Сведения — Зашифровать паролем. Откроется окошко в котором нужно будет снять защиту с экселя удалив пароль чтобы поле для пароля осталось чистым и после этого нажать кнопку ОК.

Как запаролить файл эксель

Чтобы защитить эксель от копирования нужно в панели инструментов нажать Файл и выбрать пункт Сохранить как.

Защита листа эксель

В Excel защита паролем запускается через Файл

Откроется окно под названием Сохранение документа. В этом окне нужно нажать на Сервис и из открывшегося списка выбрать пункт Общие параметры.

Эксель защита ячеек

Защита паролем Excel находится в общих параметрах

Откроется окошко под названием Общие параметры в котором имеются две строчки в которые вписываются пароли.

Как защитить ячейки в экселе

Устанавливая пароль Excel необходимо его куда-нибудь записать чтобы не забыть

Если вписать пароль только в первую строчку то файл будет открываться только по паролю но при этом документы можно будет изменять.
Если вписать пароль во вторую строчку то файл будет открываться без пароля но при этом нельзя будет сохранить этот документ с внесёнными в него какие-нибудь изменениями в но можно будет сохранить этот документ с изменениями под другим именем. Сохранённый документ под другим именем будет защищён паролем только на открытие файла, а на защиту от копирования на нём пароля уже не будет.
Чтобы снять защиту в Excel нужно будет снова нажать файл и выбрать пункт Сохранить как, а затем в окне под названием Сохранение документа нажать Сервис и выбрать из открывшегося списка пункт Общие параметры. Откроется окошко под названием Общие параметры в котором нужно снять защиту в эксель удалив все пароли в виде точек чтобы поля были чистыми и нажимаем кнопку ОК.

Как защитить ячейки в Excel

В некоторых случаях необходимо защитить Excel от редактирования и копирования но при этом чтобы в некоторые ячейки можно было вносить данные. Для этого выделяете ячейки в которые нужно вносить данные, наводите на них курсор и нажимаете правую кнопку мыши. Откроется контекстное меню в котором нужно выбрать пункт Формат ячеек. Откроется окно под названием Формат ячеек.

Как защитить ячейку в Excel

Нужно снять защиту эксель для выбранных вами ячеек

В этом окне на вкладке Защита необходимо убрать галочку с пункта Защищаемая ячейка и нажать кнопку ОК. После этого на панели инструментов в эксель переходим на вкладку Рецензирование и нажимаем на Защитить лист.

Как защитить ячейки эксель

Защита листа в Excel от копирования

Откроется окошко под названием Защита листа.
В этом окошке нужно снять все галочки кроме пункта Выделение незаблокированных ячеек, а в окошко ввести какой-нибудь пароль для отключения защиты листа. Нажав кнопку ОК откроется ещё одно окошко в котором нужно ввести этот же пароль для подтверждения и нажать кнопку ОК. После этого на этом листе нельзя будет сделать какие-нибудь изменения, а также нельзя будет выделить кроме тех ячеек с которых вы предварительно сняли защиту в окне Формат ячеек.
Чтобы снять защиту с листа Excel нужно перейти на вкладку Рецензирование и на этой вкладке нажать Снять защиту листа.

Как снять пароль в экселе

Показано как снять пароль с листа Excel

Откроется окошко под названием Снять защиту листа. Теперь чтобы в эксель снять защиту листа нужно всего лишь вписать пароль и нажать кнопку ОК. Таким образом вы легко можете снять пароль с экселя, а при необходимости его нужно будет заново ставить. Однако если вы закрывая эксель не согласитесь с сохранением изменений то снять пароль с excel не получится и защита останется включённой.

Видео

в этом видео показано как защитить от редактирования и копирования лист исключая при этом отдельные ячейки.

Похожие заметки:

 

Sanchos

Пользователь

Сообщений: 10
Регистрация: 21.03.2013

Добрый день, уважаемые форумчане!
Прошу помочь с решением задачи:
Есть файл в Excel2010 из трех страниц, все страницы защищены от изменений со всеми галочками.
Но все это становится бесполезным перед простым выделением и копированием в новый файл, там уже все можно менять(((
С макросами не дружу, как можно защитить файл от подобного копирования?

 

Игорь

Пользователь

Сообщений: 3631
Регистрация: 23.12.2012

сделайте скриншот листа, очистите все ячейки, и вставьте на лист скриншот (картинку)
тогда и после копирования листа, менять что-либо не получится

 

Dima S

Пользователь

Сообщений: 2063
Регистрация: 01.01.1970

так уберите галочки разрешающие выделение защищённых ячеек.

 

Sanja

Пользователь

Сообщений: 14838
Регистрация: 10.01.2013

Если ничего менять нельзя, то и хранить его в формате Excel нет смысла. Переведите в PDF

Согласие есть продукт при полном непротивлении сторон.

 

Юрий М

Модератор

Сообщений: 60581
Регистрация: 14.09.2012

Контакты см. в профиле

#5

19.03.2016 11:25:40

Цитата
Dima S написал: уберите галочки разрешающие выделение защищённых ячеек.

И что это даст?

 

Sanchos

Пользователь

Сообщений: 10
Регистрация: 21.03.2013

Спасибо, всем за ответы!
Скриншоты, картинки и прочие джипег и пдф не помогут, так как размер таблиц довольно внушительный по размерам и лучше оставить его отдельным файлом в экселе.
Галочки снимать тоже бессмысленно — копируется без проблем.
Есть ещё у кого-то мнения, может есть макрос и мне подскажут, как его внедрить?

 

kuklp

Пользователь

Сообщений: 14868
Регистрация: 21.12.2012

E-mail и реквизиты в профиле.

И кто помешает любому желающему оключить макросы?

Я сам — дурнее всякого примера! …

 

Dima S

Пользователь

Сообщений: 2063
Регистрация: 01.01.1970

#8

19.03.2016 18:51:55

Цитата
Юрий М написал: И что это даст?

это не даст выделить диапазон для копирования. или я чего то не понимаю?

 

Doober

Пользователь

Сообщений: 2204
Регистрация: 09.04.2013

#9

19.03.2016 19:04:21

Цитата
Dima S написал: это не даст выделить диапазон для копирования

Не дает.
Excel в данном случае не нужен.
Джепег в самый раз.  :)

Прикрепленные файлы

  • Не копируется.xlsx (10.21 КБ)

<#0>

 

Юрий М

Модератор

Сообщений: 60581
Регистрация: 14.09.2012

Контакты см. в профиле

#10

19.03.2016 19:16:25

Цитата
Dima S написал: это не даст выделить диапазон для копировани

Можно ведь просто скопировать сам лист. Без всякого выделения )

 

Sanchos

Пользователь

Сообщений: 10
Регистрация: 21.03.2013

Прикольно с запретом выделения, может я не те галочки снимаю или ставлю?
Подскажите где это сделать?

 

kuklp

Пользователь

Сообщений: 14868
Регистрация: 21.12.2012

E-mail и реквизиты в профиле.

#12

19.03.2016 20:05:40

Цитата
Doober написал: Джепег в самый раз.

Тезка, его тоже надо черной заливкой заделывать, иначе файнридер все усилия насмарку изведет  :D

Я сам — дурнее всякого примера! …

 

Юрий М

Модератор

Сообщений: 60581
Регистрация: 14.09.2012

Контакты см. в профиле

#13

19.03.2016 20:24:33

Цитата
Sanchos написал: может я не те галочки снимаю или ставлю?

В самой верхней строке перечня снять галку.

 

The_Prist

Пользователь

Сообщений: 14182
Регистрация: 15.09.2012

Профессиональная разработка приложений для MS Office

Юра, я тоже не понял — у меня при копировании целиком листа защита не снимается. Если снять все галки — то скопировать ячейки не получается. Ты как делаешь, что у тебя все копируется?
Другой вопрос, что защита листа ломается даже макросом нехитрым.

Даже самый простой вопрос можно превратить в огромную проблему. Достаточно не уметь формулировать вопросы…

 

Юрий М

Модератор

Сообщений: 60581
Регистрация: 14.09.2012

Контакты см. в профиле

Дим, я не об этом: я не говорил про снятие защиты — только про возможность копирования листа БЕЗ выделения ячеек )

 

Dima S

Пользователь

Сообщений: 2063
Регистрация: 01.01.1970

#16

19.03.2016 21:24:00

Цитата
Юрий М написал:
Можно ведь просто скопировать сам лист. Без всякого выделения )

можно. только вместе с защитой)

оффтоп. зашел в тему, написал ответ — после публикации перед моим ответом появилось еще 2 поста, которых до этого не было)

Изменено: Dima S19.03.2016 21:28:18

 

kuklp

Пользователь

Сообщений: 14868
Регистрация: 21.12.2012

E-mail и реквизиты в профиле.

Ребят, посмотрите в файле Добера. ПКМ — копировать. На другом листе А1 — вставить — значения, или все, не важно. И вся защита.

Изменено: kuklp19.03.2016 21:39:07

Я сам — дурнее всякого примера! …

 

The_Prist

Пользователь

Сообщений: 14182
Регистрация: 15.09.2012

Профессиональная разработка приложений для MS Office

#18

19.03.2016 22:19:26

Цитата
kuklp написал:
Ребят, посмотрите в файле Добера

Посмотрел. Если перед защитой выделить любую пустую ячейку и установить защиту, запретив при этом выделение любых ячеек — то у меня позволяет копировать только ту ячейку, которая была выделена перед установкой защиты. И что-то у меня нифига не получилось скопировать все данные листа. Еще лучше перед установкой защиты выделить несколько несмежных ячеек. Тогда даже скопировать не получится.
Так что полагаю вопрос еще в правильности действий, которые должны быть направлены на запрет копирования данных, а не на создание специально дыр для его применения.

Даже самый простой вопрос можно превратить в огромную проблему. Достаточно не уметь формулировать вопросы…

Понравилась статья? Поделить с друзьями:
  • Запретить редактировать файл excel
  • Запретить просмотр листа excel
  • Запретить печать документа word
  • Запретить переносы word 2010
  • Запуск vba без excel