Li$$@ Пользователь Сообщений: 152 |
Доброе всем утро! В полете голова — важнее крыльев |
JayBhagavan Пользователь Сообщений: 11833 ПОЛ: МУЖСКОЙ | Win10x64, MSO2019x64 |
Думаю если прочтёте справку по команде SENDKEY то разберётесь. <#0> |
Сергей Пользователь Сообщений: 11251 |
#3 07.05.2014 10:14:14
А кая разница как он вводит вручную или вставкой если ручки кривые дак и руками вам введет не то Лень двигатель прогресса, доказано!!! |
||
Li$$@ Пользователь Сообщений: 152 |
Уже догадалась знак + убрать В полете голова — важнее крыльев |
Smiley Пользователь Сообщений: 530 |
Li$$@, а если попробовать привязать к этим кнопкам макросы? Допустим, при нажатии этих клавиш запускается макрос и вылетает окно: «Так делать низя» Изменено: Smiley — 07.05.2014 10:19:29 |
Li$$@ Пользователь Сообщений: 152 |
#6 07.05.2014 10:18:51
Большая разница, Сергей, в ячейке — выпадающий список, который, к сожалению, только ограничивает ввод данных, но спокойно дает в такую ячейку данные вставлять. В полете голова — важнее крыльев |
||
Li$$@ Пользователь Сообщений: 152 |
#7 07.05.2014 10:20:29
Smiley , спасибо, мысль чудесная — я думаю, именно так и застращаю своих юзеров, и вебку на комп — и фотоотчет их удивленных и огорченных физиономий выложу )) В полете голова — важнее крыльев |
||
Smiley Пользователь Сообщений: 530 |
Li$$@, только смотрите, чтобы они потом все руками не делали |
Li$$@ Пользователь Сообщений: 152 |
#9 07.05.2014 10:25:27
Остался еще вот этот вопрос — помогите, пожалуйста, понять — где искать возможность запретить копирование данных с помощью команд на ленте? В полете голова — важнее крыльев |
||
Smiley Пользователь Сообщений: 530 |
Li$$@, а копирование данных может быть произведено из этой же книги или из другой? Если из другой, то можно просто запретить открытие любой книги, кроме активной. |
Sanja Пользователь Сообщений: 14838 |
#11 07.05.2014 10:54:57
Можно в обработчик Worksheet_SelectionChange записать проверку на вставляемые/вводимые данные в определенные ячейки. Этот вариант по моему проще, чем заморачиваться с отключением кнопок на вкладках ленты (для интерфейсов 2007 и старше это возможно только упражняясь с RibbonX). ИМХО. Изменено: Sanja — 07.05.2014 11:01:15 Согласие есть продукт при полном непротивлении сторон. |
||
Li$$@ Пользователь Сообщений: 152 |
#12 07.05.2014 10:58:14
Возможны оба варианта, но чаще — из текущей же с этого же листа В полете голова — важнее крыльев |
||
Li$$@ Пользователь Сообщений: 152 |
#13 07.05.2014 11:00:41
Спасибо за идею, сначала взбодрило, но потом поняла, что они (любимые юзеры) копируют целые строчки и потом ЗАБЫВАЮТ менять в них данные — а они же уже типо заполнены, причем — данными из списка же В полете голова — важнее крыльев |
||
Li$$@ Пользователь Сообщений: 152 |
Кажется, в книженции Уокенбаха нашла раздел Управление лентой с помощью VBA — попробую почитать В полете голова — важнее крыльев |
Sanja Пользователь Сообщений: 14838 |
#15 07.05.2014 11:03:09
А Вы бы уже примерчик файла выложили, а мы постараемся помочь поконкретнее Согласие есть продукт при полном непротивлении сторон. |
||
ber$erk Пользователь Сообщений: 2735 |
тымс Учимся сами и помогаем другим… |
Sanja Пользователь Сообщений: 14838 |
ber$erk,там про кнопки на ЛЕНТЕ ничего не сказано Согласие есть продукт при полном непротивлении сторон. |
ber$erk Пользователь Сообщений: 2735 |
#18 07.05.2014 11:09:07
а это что? Учимся сами и помогаем другим… |
||
Li$$@ Пользователь Сообщений: 152 |
#19 07.05.2014 11:10:34
Я попробую вычитать че-нить полезное-дельное по моему вопросу и ежели ничего не выйдет, воспользуюсь этим предложением В полете голова — важнее крыльев |
||
Li$$@ Пользователь Сообщений: 152 |
#20 07.05.2014 11:16:39
Проверила — рамка копирования не появляется при выполнении команды меню и нажатии на клавиши, но ленту не блокируют В полете голова — важнее крыльев |
||
Smiley Пользователь Сообщений: 530 |
Li$$@, а почему бы не запретить редактировать все ячейки, кроме используемых? Можно ведь выбрать редактируемые диапазоны, тогда никто не сможет скопировать. |
Li$$@ Пользователь Сообщений: 152 |
Потому что в используемых ячейках НУЖНО вводить данные вручную (в частности — из выпадающих списков), и нельзя в них вставлять скопированные данные, только ручной ввод (когда забывают изменить скопированные данные — это ОЧЕНЬ плохо, это критично) В полете голова — важнее крыльев |
Sanja Пользователь Сообщений: 14838 |
#23 07.05.2014 11:19:22
да собственно вот оно
Согласие есть продукт при полном непротивлении сторон. |
||||
Smiley Пользователь Сообщений: 530 |
Li$$@, посмотрите эту тему, может быть найдете для себя что-нибудь нужное. |
Li$$@ Пользователь Сообщений: 152 |
Вот файлик — они берут, копирую 4-ую строку, вставляют в пятую и ЗАБЫВАЮТ менять Код, например Я сюда уже вставила коды, которые блокируют клавиши и контекстное меню, но вопрос использования команд на ленте все еще актуален Прикрепленные файлы
В полете голова — важнее крыльев |
Smiley Пользователь Сообщений: 530 |
Li$$@, доступ к коду тоже, как мне кажется, надо заблокировать или усложнить, а то мало ли найдутся умельцы. Имхо. |
Sanja Пользователь Сообщений: 14838 |
#27 07.05.2014 12:34:16 Попробуйте по-КопиПастить различными методами (ячейку с кодом, всю строку и т.д.) может пригодится Прикрепленные файлы
Согласие есть продукт при полном непротивлении сторон. |
Макрос на запрет вставки через ctrl+v |
||||||||
Ответить |
||||||||
Ответить |
||||||||
Ответить |
||||||||
Ответить |
||||||||
Ответить |
||||||||
Ответить |
||||||||
Ответить |
||||||||
Ответить |
||||||||
Ответить |
||||||||
Ответить |
||||||||
Ответить |
||||||||
Ответить |
||||||||
Ответить |
||||||||
Ответить |
||||||||
Ответить |
||||||||
Ответить |
||||||||
Ответить |
||||||||
Ответить |
||||||||
Ответить |
||||||||
Ответить |
Как запретить 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
We have a workbook that has a lot of tables set up where users are supposed to enter data. These tables are ready by Power Query and/or VBA macros to do things with.
The problem is despite much education and wailing and gnashing of teeth, users refuse to consistently and reliabily use Paste|Values to prevent formatting, incorrect data types, or even creating formula links to other workbooks, which invariably causes Power Query or VBA code to fail. Even using Excel’s Data Validation doesn’t work because that ignores Paste operations, so you can paste text in to a formula only cell, etc.
This workbook already has VBA, so being a macro workbook is no problem.
I want to block paste. 100% of PASTE operations, and prefer to block CUT but I’m ok if CUT isn’t blocked as no one yet has done that to cause an issue. I prefer that COPY remain intact as the results of this workbook are needed for other workbooks, emails, etc.
I’ve tried Ken Puls’ solution here but in Excel for Office 365, which is around build 1905 right now, while CTRL-V is blocked, the Paste icons in the right-click menu and ribbon menu still work. Oddly enough, the COPY and CUT options are blocked, so something in Excel must have been changed since his post.
So I am currently using Tom Urtis’ solution here which does work, but is absolutely draconian. His method is to disable the right-click menu entirely, but actually doesn’t block CTRL-V, the nor the «menu key» on many keyboards today as long as the clipboard data originated from outside Excel. Data copied from other Excel workbooks will not paste, unless someone figures out they can launch a second copy of Excel, and they will.
So, any ideas?
Предположим, у вас есть рабочая книга с важными данными, которые нужно защитить от вырезания, копирования и вставки. Как этого добиться? В этой статье представлен метод VBA, с помощью которого вы можете одновременно отключить функции вырезания, копирования и вставки в книге Excel.
Отключить функции вырезания, копирования и вставки с кодом VBA
Отключить функции вырезания, копирования и вставки с кодом VBA
Чтобы отключить функции вырезания, копирования и вставки в книге Excel, сделайте следующее.
1. В книге вам нужно отключить функции вырезания, копирования и вставки, нажмите другой + F11 клавиши одновременно, чтобы открыть Microsoft Visual Basic для приложений окно.
2. в Microsoft Visual Basic для приложений окно, пожалуйста, дважды щелкните Эта рабочая тетрадь слева Проекты под застройку панели, а затем скопируйте и вставьте приведенный ниже код VBA в ThisWorkbook (Код) окно. Смотрите скриншот:
Код VBA: отключение функций вырезания, копирования и вставки одновременно в Excel
Private Sub Workbook_Activate()
Application.CutCopyMode = False
Application.OnKey "^c", ""
Application.CellDragAndDrop = False
End Sub
Private Sub Workbook_Deactivate()
Application.CellDragAndDrop = True
Application.OnKey "^c"
Application.CutCopyMode = False
End Sub
Private Sub Workbook_WindowActivate(ByVal Wn As Window)
Application.CutCopyMode = False
Application.OnKey "^c", ""
Application.CellDragAndDrop = False
End Sub
Private Sub Workbook_WindowDeactivate(ByVal Wn As Window)
Application.CellDragAndDrop = True
Application.OnKey "^c"
Application.CutCopyMode = False
End Sub
Private Sub Workbook_SheetSelectionChange(ByVal Sh As Object, ByVal Target As Range)
Application.CutCopyMode = False
End Sub
Private Sub Workbook_SheetActivate(ByVal Sh As Object)
Application.OnKey "^c", ""
Application.CellDragAndDrop = False
Application.CutCopyMode = False
End Sub
Private Sub Workbook_SheetDeactivate(ByVal Sh As Object)
Application.CutCopyMode = False
End Sub
3. Затем нажмите другой + Q ключи для выхода из Microsoft Visual Basic для приложений окно.
Теперь вы не можете вырезать или копировать данные из этой книги, а данные, которые вы скопировали с других листов или книг, не могут быть вставлены в эту книгу.
Внимание: Функция перетаскивания также отключается после выполнения вышеуказанного кода VBA.
Статьи по теме:
- Как отключить щелчок правой кнопкой мыши на вкладке листа в Excel?
- Как отключить контекстное меню на указанном листе или всей книге в Excel?
- Как предотвратить или отключить режим редактирования двойным щелчком по ячейке в Excel?
Лучшие инструменты для работы в офисе
Kutools for Excel Решит большинство ваших проблем и повысит вашу производительность на 80%
- Снова использовать: Быстро вставить сложные формулы, диаграммы и все, что вы использовали раньше; Зашифровать ячейки с паролем; Создать список рассылки и отправлять электронные письма …
- Бар Супер Формулы (легко редактировать несколько строк текста и формул); Макет для чтения (легко читать и редактировать большое количество ячеек); Вставить в отфильтрованный диапазон…
- Объединить ячейки / строки / столбцы без потери данных; Разделить содержимое ячеек; Объединить повторяющиеся строки / столбцы… Предотвращение дублирования ячеек; Сравнить диапазоны…
- Выберите Дубликат или Уникальный Ряды; Выбрать пустые строки (все ячейки пустые); Супер находка и нечеткая находка во многих рабочих тетрадях; Случайный выбор …
- Точная копия Несколько ячеек без изменения ссылки на формулу; Автоматическое создание ссылок на несколько листов; Вставить пули, Флажки и многое другое …
- Извлечь текст, Добавить текст, Удалить по позиции, Удалить пробел; Создание и печать промежуточных итогов по страницам; Преобразование содержимого ячеек в комментарии…
- Суперфильтр (сохранять и применять схемы фильтров к другим листам); Расширенная сортировка по месяцам / неделям / дням, периодичности и др .; Специальный фильтр жирным, курсивом …
- Комбинируйте книги и рабочие листы; Объединить таблицы на основе ключевых столбцов; Разделить данные на несколько листов; Пакетное преобразование xls, xlsx и PDF…
- Более 300 мощных функций. Поддерживает Office/Excel 2007-2021 и 365. Поддерживает все языки. Простое развертывание на вашем предприятии или в организации. Полнофункциональная 30-дневная бесплатная пробная версия. 60-дневная гарантия возврата денег.
Вкладка Office: интерфейс с вкладками в Office и упрощение работы
- Включение редактирования и чтения с вкладками в Word, Excel, PowerPoint, Издатель, доступ, Visio и проект.
- Открывайте и создавайте несколько документов на новых вкладках одного окна, а не в новых окнах.
- Повышает вашу продуктивность на 50% и сокращает количество щелчков мышью на сотни каждый день!
Комментарии (50)
Оценок пока нет. Оцените первым!