Хотя в Excel реализована общая защита рабочих книг и листов, этот грубый инструмент не может предоставить пользователям ограниченные привилегии — если только вы не примените какие-то трюки. [1] Управлять действиями пользователей можно путем ответов на события. События — это действия, которые происходят по мере того, как вы работаете с книгами и листами. Наиболее часто происходящие события — это открытие рабочей книги, ее сохранение и закрытие после завершения работы. Вы можете заставить Excel автоматически выполнять некоторый код Visual Basic в момент, когда происходит одно из этих событий.
Отключение в рабочей книге команды Сохранить
Можно сделать так, чтобы рабочую книгу нельзя было сохранить, и она открывалась в режиме «только для чтения». Для этого в вашей книге выполните команду Сохранить как и в окне Сохранение документа кликните на стрелку вниз на кнопке Сервис (рис. 1). Выберите опцию Общие параметры.
Рис. 1. Доступ к меню Общие параметры при сохранении книги Excel
Скачать заметку в формате Word или pdf, примеры в формате Excel (файл содержит макросы)
В открывшемся окне Общие параметры (рис. 2) задайте Пароль для изменения и кликните на Рекомендовать доступ только для чтения. Кликните Ok, повторите ввод пароля, и сохраните книгу. Если появится окно Книга с таким именем уже существует, заменить ее? Кликните Да.
Рис. 2. Задание пароля для изменения книги в окне Общие параметры
Отключение в рабочей книге команды Сохранить как
В предыдущем разделе вы научились не давать возможность пользователям сохранить книгу поверх вашей, но хитрые пользователи могут сохранить копию книги в другом месте. 🙂 Чтобы отключить эту возможность, потребуется код VBA.
Событие Before Save, которое вы будете использовать в следующем коде, было впервые создано в Excel 97. Как предполагает его имя, это событие происходит перед сохранением рабочей книги, позволяя вам поймать действия пользователя еще перед этим фактом, выдать предупреждение и запретить Excel сохранять файл.
Перед тем как пытаться выполнить следующий трюк, обязательно сначала сохраните рабочую книгу в формате с поддержкой макросов *.xlsm. Если вы напишете этот код до того, как сохраните книгу, то не сможете более сохранять изменения.
Чтобы написать код, откройте рабочую книгу и пройдите по меню Разработчик –> Visual Basic. [2] В окне Microsoft Visual Basic for Applications перейдите в окно Project – VBAProject. Если нужно раскройте строку VBAProject (Защита книги Excel от копирования и печати. Примеры) и правой кнопкой мыши щелкните на значке ЭтаКнига. Выберите опцию View Code (рис. 3). Откроется окно Защита книги Excel от копирования и печати. Примеры.xlsx — Эта книга (Code). Это окно частного модуля для объекта ЭтаКнига. Это важно, и вы не добьетесь цели, если запишите код в обычном модуле.
Рис. 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. Код в частном модуле ЭтаКнига (чтобы увеличить изображение, кликните на картинке правой кнопкой мыши и выберите опцию Открыть картинку в новой вкладке)
Проверьте, что получилось. Выберите команду Файл –> Сохранить как, вы увидите сообщение о том, что эту книгу запрещено сохранять под другим именем (рис. 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 Ребят поиском воспользовался. Ногами не топчите. Я прочел все про защиту листа.. но защита листа, это именно защита листа. у меня документ состояит пока что из 400 листов и они бду преумножаться. не сказать, Чтобы выход для меня. хотя основные страницы я запаролил.. Защита книги я вообще не понимаю что такое. Включаю эту защиту и не понимаю что изменилось. В общем есть ли способы, чтобы реализовать поставленную задачу. ? может какие сторонние приложения. Есть идея что можно сделать сервером ту машину, на которой я работаю, открыть доступ к одной из папок без возможности изменять данные. но от копирования это не защитит..
Полностью защититься от копирования информации и последующего выноса её с предприятия невозможно. Если сотрудник может увидеть конфиденциальную информацию, и конкурент за неё заплатит, — тут уже ничего не спасёт (в крайнем случае, сотрудник сфотографирует таблицу на мониторе при помощи сотового телефона — от фотоаппарата защиты пока не придумали. ) Другое дело, можно максимально осложнить процесс копирования — но от профессионалов это всё равно не спасёт. таблица представляет огромную ценность для конкурентов. Насколько велика эта ценность в денежном эквиваленте? Я бы посоветовал вообще не давать пользователям возможность работы с исходным файлом. Впрочем, может хватить полностью скрыть интерфейс Excel (и заблокировать комбинации горячих клавиш), и защитить все ячейки листа (с отключением возможности выделения защищённых ячеек). Можно ли защитить excel файл от копирования?Т.к. вы неавторизованы на сайте. Войти. Т.к. тема является архивной. Т.к. вы неавторизованы на сайте. Войти. Т.к. тема является архивной. Т.к. вы неавторизованы на сайте. Войти. Т.к. тема является архивной. Т.к. вы неавторизованы на сайте. Войти. Т.к. тема является архивной. Т.к. вы неавторизованы на сайте. Войти. Т.к. тема является архивной. Т.к. вы неавторизованы на сайте. Войти. Т.к. тема является архивной. Т.к. вы неавторизованы на сайте. Войти. Т.к. тема является архивной. Т.к. вы неавторизованы на сайте. Войти. Т.к. тема является архивной. Дык.. Обфусцируя, можно зайти довольно далеко :)) Т.к. вы неавторизованы на сайте. Войти. Т.к. тема является архивной. Т.к. вы неавторизованы на сайте. Войти. Т.к. тема является архивной. Т.к. вы неавторизованы на сайте. Войти. Т.к. тема является архивной. Т.к. вы неавторизованы на сайте. Войти. Т.к. тема является архивной. Т.к. вы неавторизованы на сайте. Войти. Т.к. тема является архивной. Т.к. вы неавторизованы на сайте. Войти. Т.к. тема является архивной. Т.к. вы неавторизованы на сайте. Войти. Т.к. тема является архивной. PS. Не благодари. Т.к. вы неавторизованы на сайте. Войти. Т.к. тема является архивной. Т.к. вы неавторизованы на сайте. Войти. Т.к. тема является архивной. Зато он требует пароль для просмотра VBA-кода. ЗЫ. Что же я, по твоему, ТЗ не в состоянии прочесть? )) Т.к. вы неавторизованы на сайте. Войти. Т.к. тема является архивной. Т.к. вы неавторизованы на сайте. Войти. Т.к. тема является архивной. Т.к. вы неавторизованы на сайте. Войти. Т.к. тема является архивной. Т.к. вы неавторизованы на сайте. Войти. Т.к. тема является архивной. Т.к. вы неавторизованы на сайте. Войти. Т.к. тема является архивной. Объявления на НН.РУ — ТехникаПродам Кулер от Ноутбука Asus N53 б/у рабочий Модель кулера KSB06105HB Возможна отправка по России Рабочий жесткий диск hdd ide seagate st380011a Покупаем лицензионный софт на протяжении 10 лет, поэтому у нас лучшее обслуживание клиентов среди компаний данной сферы деятельности. В рабочем состоянии Возможна отправка по России Защита от копирования в excelМожно ли запретить в экселе копирование листа(или его части) документа — куда либо? ← → можно в сторону макросов покопать, но не факт. ← → Excel (ХР) дает следующий макрос ActiveWorkbook.Protect Structure:=True, Windows:=True ← → Не хочется менять способ построения отчётов. ← → Этот кусочек кода не запрещает выделить на листе фрагмент и вставить его в другой документ. ← → скрывайте лист ← → Просто хотелось бы, чтобы этот документ, назовём его «накладная» был напечатан действительно только один раз, и не перепечатывался, и чтобы все исправления — только через клиентское приложение. ← → для этого уходят от excel ← → ← → Т.е. вердикт таков — что НЕЛЬЗЯ что ли? ← → Хммм. интересный подход — печатать прогораммно накладные через ексель — меня пользователи бы уже живьем сожрали за такое. Тем более, что это не отчет для менеджера, которому информация должна быть дана в виде екслевской таблицы для последующего анализа. ← → да не показывайте пользователю вообще Excel. ← → 2Veronika (17.03.03 11:33) ← → хм. а какая разница — через чё её печатать? Что любой другой отчёт нельзя подделать что ли? ← → ← → >а меня бы пользователи живьем сожрали, если бы я не дал им >возможность вручную редактировать некорые документы прямо в ?>word или excel :)))))))))))))) У всех своя специфика 🙂 ← → здесь палка о двух концах. Оценка статьи: Загрузка… Adblock |
Как запретить 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 нужно будет его закрыть с подтверждением сохранения изменений. Теперь открывая файл вам нужно будет вписать пароль иначе вы не увидите, что находится в этом файле.
Чтобы снять пароль с файла Excel нужно будет сначала открыть его с помощью пароля, а затем нажать Файл — Сведения — Зашифровать паролем. Откроется окошко в котором нужно будет снять защиту с экселя удалив пароль чтобы поле для пароля осталось чистым и после этого нажать кнопку ОК.
Как запаролить файл эксель
Чтобы защитить эксель от копирования нужно в панели инструментов нажать Файл и выбрать пункт Сохранить как.
Откроется окно под названием Сохранение документа. В этом окне нужно нажать на Сервис и из открывшегося списка выбрать пункт Общие параметры.
Откроется окошко под названием Общие параметры в котором имеются две строчки в которые вписываются пароли.
Если вписать пароль только в первую строчку то файл будет открываться только по паролю но при этом документы можно будет изменять.
Если вписать пароль во вторую строчку то файл будет открываться без пароля но при этом нельзя будет сохранить этот документ с внесёнными в него какие-нибудь изменениями в но можно будет сохранить этот документ с изменениями под другим именем. Сохранённый документ под другим именем будет защищён паролем только на открытие файла, а на защиту от копирования на нём пароля уже не будет.
Чтобы снять защиту в Excel нужно будет снова нажать файл и выбрать пункт Сохранить как, а затем в окне под названием Сохранение документа нажать Сервис и выбрать из открывшегося списка пункт Общие параметры. Откроется окошко под названием Общие параметры в котором нужно снять защиту в эксель удалив все пароли в виде точек чтобы поля были чистыми и нажимаем кнопку ОК.
Как защитить ячейки в Excel
В некоторых случаях необходимо защитить Excel от редактирования и копирования но при этом чтобы в некоторые ячейки можно было вносить данные. Для этого выделяете ячейки в которые нужно вносить данные, наводите на них курсор и нажимаете правую кнопку мыши. Откроется контекстное меню в котором нужно выбрать пункт Формат ячеек. Откроется окно под названием Формат ячеек.
В этом окне на вкладке Защита необходимо убрать галочку с пункта Защищаемая ячейка и нажать кнопку ОК. После этого на панели инструментов в эксель переходим на вкладку Рецензирование и нажимаем на Защитить лист.
Откроется окошко под названием Защита листа.
В этом окошке нужно снять все галочки кроме пункта Выделение незаблокированных ячеек, а в окошко ввести какой-нибудь пароль для отключения защиты листа. Нажав кнопку ОК откроется ещё одно окошко в котором нужно ввести этот же пароль для подтверждения и нажать кнопку ОК. После этого на этом листе нельзя будет сделать какие-нибудь изменения, а также нельзя будет выделить кроме тех ячеек с которых вы предварительно сняли защиту в окне Формат ячеек.
Чтобы снять защиту с листа Excel нужно перейти на вкладку Рецензирование и на этой вкладке нажать Снять защиту листа.
Откроется окошко под названием Снять защиту листа. Теперь чтобы в эксель снять защиту листа нужно всего лишь вписать пароль и нажать кнопку ОК. Таким образом вы легко можете снять пароль с экселя, а при необходимости его нужно будет заново ставить. Однако если вы закрывая эксель не согласитесь с сохранением изменений то снять пароль с excel не получится и защита останется включённой.
Видео
в этом видео показано как защитить от редактирования и копирования лист исключая при этом отдельные ячейки.
Похожие заметки:
Sanchos Пользователь Сообщений: 10 |
Добрый день, уважаемые форумчане! |
Игорь Пользователь Сообщений: 3631 |
сделайте скриншот листа, очистите все ячейки, и вставьте на лист скриншот (картинку) |
Dima S Пользователь Сообщений: 2063 |
так уберите галочки разрешающие выделение защищённых ячеек. |
Sanja Пользователь Сообщений: 14838 |
Если ничего менять нельзя, то и хранить его в формате Excel нет смысла. Переведите в PDF Согласие есть продукт при полном непротивлении сторон. |
Юрий М Модератор Сообщений: 60581 Контакты см. в профиле |
#5 19.03.2016 11:25:40
И что это даст? |
||
Sanchos Пользователь Сообщений: 10 |
Спасибо, всем за ответы! |
kuklp Пользователь Сообщений: 14868 E-mail и реквизиты в профиле. |
И кто помешает любому желающему оключить макросы? Я сам — дурнее всякого примера! … |
Dima S Пользователь Сообщений: 2063 |
#8 19.03.2016 18:51:55
это не даст выделить диапазон для копирования. или я чего то не понимаю? |
||
Doober Пользователь Сообщений: 2204 |
#9 19.03.2016 19:04:21
Не дает. Прикрепленные файлы
<#0> |
||
Юрий М Модератор Сообщений: 60581 Контакты см. в профиле |
#10 19.03.2016 19:16:25
Можно ведь просто скопировать сам лист. Без всякого выделения ) |
||
Sanchos Пользователь Сообщений: 10 |
Прикольно с запретом выделения, может я не те галочки снимаю или ставлю? |
kuklp Пользователь Сообщений: 14868 E-mail и реквизиты в профиле. |
#12 19.03.2016 20:05:40
Тезка, его тоже надо черной заливкой заделывать, иначе файнридер все усилия насмарку изведет Я сам — дурнее всякого примера! … |
||
Юрий М Модератор Сообщений: 60581 Контакты см. в профиле |
#13 19.03.2016 20:24:33
В самой верхней строке перечня снять галку. |
||
The_Prist Пользователь Сообщений: 14182 Профессиональная разработка приложений для MS Office |
Юра, я тоже не понял — у меня при копировании целиком листа защита не снимается. Если снять все галки — то скопировать ячейки не получается. Ты как делаешь, что у тебя все копируется? Даже самый простой вопрос можно превратить в огромную проблему. Достаточно не уметь формулировать вопросы… |
Юрий М Модератор Сообщений: 60581 Контакты см. в профиле |
Дим, я не об этом: я не говорил про снятие защиты — только про возможность копирования листа БЕЗ выделения ячеек ) |
Dima S Пользователь Сообщений: 2063 |
#16 19.03.2016 21:24:00
можно. только вместе с защитой) оффтоп. зашел в тему, написал ответ — после публикации перед моим ответом появилось еще 2 поста, которых до этого не было) Изменено: Dima S — 19.03.2016 21:28:18 |
||
kuklp Пользователь Сообщений: 14868 E-mail и реквизиты в профиле. |
Ребят, посмотрите в файле Добера. ПКМ — копировать. На другом листе А1 — вставить — значения, или все, не важно. И вся защита. Изменено: kuklp — 19.03.2016 21:39:07 Я сам — дурнее всякого примера! … |
The_Prist Пользователь Сообщений: 14182 Профессиональная разработка приложений для MS Office |
#18 19.03.2016 22:19:26
Посмотрел. Если перед защитой выделить любую пустую ячейку и установить защиту, запретив при этом выделение любых ячеек — то у меня позволяет копировать только ту ячейку, которая была выделена перед установкой защиты. И что-то у меня нифига не получилось скопировать все данные листа. Еще лучше перед установкой защиты выделить несколько несмежных ячеек. Тогда даже скопировать не получится. Даже самый простой вопрос можно превратить в огромную проблему. Достаточно не уметь формулировать вопросы… |
||