Страницы: 1
RSS
Запрет на копирование из Excel
 
Подскажите как запретить копирование содержимого из одного файла в другой.  
 
Заранее очень благодарен.
 
В 2007 можно запретить выделение ячеек при защите листа.  
Нельзя выделить - нельзя скопировать.
 
{quote}{login=Казанский}{date=19.06.2010 02:46}{thema=}{post}В 2007 можно запретить выделение ячеек при защите листа.  
Нельзя выделить - нельзя скопировать.{/post}{/quote}Можно.  
Выделив весь лист...
 
может через vba, активировав DisAbleAllCLear  
 
Option Private Module  
Dim ComBar As CommandBar  
Dim ComBarCtrl As CommandBarControl  
Sub DisAbleAllCLear()  
   EnableControl 295, False  
   EnableControl 296, False  
   EnableControl 297, False  
   EnableControl 478, False  
   EnableControl 292, False  
   EnableControl 293, False  
   EnableControl 294, False  
   EnableControl 847, False  
   EnableControl 21, False  
   EnableControl 19, False  
   EnableControl 22, False  
   EnableControl 755, False  
   EnableControl 3125, False  
   EnableControl 1964, False  
   EnableControl 872, False  
   EnableControl 873, False  
   EnableControl 874, False  
   With Application  
       .OnKey "^c", "Dummy"  
       .OnKey "^v", "Dummy"  
       .OnKey "+{DEL}", "Dummy"  
       .OnKey "+{INSERT}", "Dummy"  
       .CellDragAndDrop = False  
       .OnDoubleClick = "Dummy"  
   End With  
End Sub  
Sub EnableControl(iId As Integer, blnState As Boolean)  
   Dim ComBar As CommandBar  
   Dim ComBarCtrl As CommandBarControl  
   On Error Resume Next  
   For Each ComBar In Application.CommandBars  
       Set ComBarCtrl = ComBar.FindControl(ID:=iId, recursive:=True)  
       If Not ComBarCtrl Is Nothing Then ComBarCtrl.Enabled = blnState  
   Next  
End Sub  
Sub Dummy()  
   MsgBox "Команда недоступна!"  
End Sub
 
{quote}{login=}{date=19.06.2010 07:32}{thema=}{post}может через vba, активировав DisAbleAllCLear  
 
Option Private Module  
Dim ComBar As CommandBar  
Dim ComBarCtrl As CommandBarControl  
Sub DisAbleAllCLear()  
   EnableControl 295, False  
   EnableControl 296, False  
   EnableControl 297, False  
   EnableControl 478, False  
   EnableControl 292, False  
   EnableControl 293, False  
   EnableControl 294, False  
   EnableControl 847, False  
   EnableControl 21, False  
   EnableControl 19, False  
   EnableControl 22, False  
   EnableControl 755, False  
   EnableControl 3125, False  
   EnableControl 1964, False  
   EnableControl 872, False  
   EnableControl 873, False  
   EnableControl 874, False  
   With Application  
       .OnKey "^c", "Dummy"  
       .OnKey "^v", "Dummy"  
       .OnKey "+{DEL}", "Dummy"  
       .OnKey "+{INSERT}", "Dummy"  
       .CellDragAndDrop = False  
       .OnDoubleClick = "Dummy"  
   End With  
End Sub  
Sub EnableControl(iId As Integer, blnState As Boolean)  
   Dim ComBar As CommandBar  
   Dim ComBarCtrl As CommandBarControl  
   On Error Resume Next  
   For Each ComBar In Application.CommandBars  
       Set ComBarCtrl = ComBar.FindControl(ID:=iId, recursive:=True)  
       If Not ComBarCtrl Is Nothing Then ComBarCtrl.Enabled = blnState  
   Next  
End Sub  
Sub Dummy()  
   MsgBox "Команда недоступна!"  
End Sub{/post}{/quote}  
 
 
Скажите пожалуйста как с этим обращаться ?
 
пример в файле
 
не до конца сделано... надо еще в панеле отключить...
 
{quote}{login=FvR}{date=19.06.2010 09:41}{thema=}{post}не до конца сделано... надо еще в панеле отключить...{/post}{/quote}  
ctr + X тоже надо отключать
Спасибо
 
А если злоумышленник выполнит правый клик по ярлычку листа?
 
{quote}{login=Юрий М}{date=20.06.2010 11:14}{thema=}{post}А если злоумышленник выполнит правый клик по ярлычку листа?{/post}{/quote}  
а еще он может макросы отключить, скриншот сделать, открыть в openofis или еще чем нибудь типа far и т.д.
Спасибо
 
Вот и я про это :-) Можно ведь и наоборот: открываем СВОЮ книгу, и уже с её помощью забираем данные из "запретного" файла. Вопрос, наверное, не до конца сформулирован.
 
Имхо, бредовая это затея. Самоудалять, защищать, паролить. K_S_S, носите свой файл на флешке и никому не давайте. Единственно надежный способ. Все остальные гарантии не дают.
Я сам - дурнее всякого примера! ...
 
{quote}{login=FvR}{date=19.06.2010 09:41}{thema=}{post}не до конца сделано... надо еще в панеле отключить...{/post}{/quote}  
 
Почему-то иногда при вставке данных из БД в шаблон с таким макросом, выводится сообщение, что метод PasteSpecial из класса Range завершен неверно. Как бы с этим бороться?
Страницы: 1
Читают тему
Наверх