如何实现指定的可见单元格复制粘贴只允许手工输入,禁止复制粘贴功能,注意是指定的(office2007)

查看: 23182|回复: 21
怎么才能让工作表禁止复制粘贴功能啊?
阅读权限20
在线时间 小时
各位老师:
& &我刚才在工作表编辑器中写了一段代码,本来是想实现禁止工作表的复制和粘贴功能,但是写进去后,在调试的时候总是提示“运行时错误 无效的调用或参数”请哪位老师指点一下,谢谢!
Private Sub Worksheet_Activate()
& &&&With Application
& && &&&'屏蔽常用工具栏剪切、复制、粘贴
& && &&&.CommandBars(3).Controls(&剪切(&T)&).Enabled = False
& && &&&.CommandBars(3).Controls(&复制(&C)&).Enabled = False
& && &&&.CommandBars(3).Controls(&粘贴(&P)&).Enabled = False
& && &&&'屏蔽单元格右键菜单中的剪切、复制、粘贴命令
& && &&&.CommandBars(&Cell&).Controls(&剪切(&T)&).Enabled = False
& && &&&.CommandBars(&Cell&).Controls(&复制(&C)&).Enabled = False
& && &&&.CommandBars(&Cell&).Controls(&粘贴(&P)&).Enabled = False
& && &&&'屏蔽编辑菜单中的剪切、复制、粘贴命令
& && &&&.CommandBars(1).Controls(&编辑(&E)&).Controls(&剪切(&T)&).Enabled = False
& && &&&.CommandBars(1).Controls(&编辑(&E)&).Controls(&复制(&C)&).Enabled = False
& && &&&.CommandBars(1).Controls(&编辑(&E)&).Controls(&粘贴(&P)&).Enabled = False
& && &&&'屏蔽键盘剪切、复制、粘贴键
& && &&&.OnKey &^x&, &&
& && &&&.OnKey &^c&, &&
& && &&&.OnKey &^v&, &&
& & End With
阅读权限20
在线时间 小时
楼主是否可以通过保护工作表来禁止复制粘贴呢?
阅读权限95
在线时间 小时
Private Sub Workbook_SheetSelectionChange(ByVal Sh As Object, ByVal Target As Range)
Application.CutCopyMode = False
在thisworkbook模块中加入此事件宏
阅读权限10
在线时间 小时
doitbest 发表于
Private Sub Workbook_SheetSelectionChange(ByVal Sh As Object, ByVal Target As Range)
Application.Cu ...
以下是本人在网上搜索后用工具破解的代码,很好用,可以禁止很多项,如禁止复制、粘贴、清除、填充等自己运行看吧。
窗体代码为:
Private Sub CommandButton2_Click()
Dim comm As Control
For Each comm In Me.Controls
If TypeName(comm) = &CheckBox& Then comm.Value = True
Private Sub CommandButton3_Click()
Dim comm As Control
For Each comm In Me.Controls
If TypeName(comm) = &CheckBox& Then comm.Value = False
Private Sub UserForm_Activate()
If Application.InputBox(&请输入密码:&, &权限验证&, &不知道&, Type:=1) && 119 Then MsgBox &你没有操作权限&: Unload Me: Exit Sub
Dim comm As Control
For Each comm In Me.Controls
If TypeName(comm) = &CheckBox& Then comm.Value = True
Private Sub CommandButton1_Click()
Dim comm As Control, i As Byte
For Each comm In Me.Controls
If TypeName(comm) = &CheckBox& Then
Sheets(&andy&).Cells(i, 1).Value = comm.Value
Dim ComBar As CommandBar
Dim ComBarCtrl As CommandBarControl
& & EnableControl 295, Me.CheckBox5.Value '// ..cells
& & EnableControl 296, Me.CheckBox5& &'// ..Rows
& & EnableControl 297, Me.CheckBox5.Value& &'// ..Cols
& & EnableControl 6002, Me.CheckBox2.Value&&'// ..Cols
& & EnableControl 478, Me.CheckBox6.Value&&'// Edit & Delete...
& & EnableControl 292, Me.CheckBox6.Value&&'// &Delete...
& & EnableControl 293, Me.CheckBox6.Value '// Row
& & EnableControl 294, Me.CheckBox6.Value&&'// Column
& & EnableControl 847, Me.CheckBox6.Value&&'// RightClick Tab
& & EnableControl 21, Me.CheckBox3.Value& &'// cut
& & EnableControl 19, Me.CheckBox1.Value& &'// copy
& & EnableControl 22, Me.CheckBox2.Value& &'// paste
& & EnableControl 755, Me.CheckBox4.Value&&'// pastespecial
& & EnableControl 3125, Me.CheckBox6.Value '// Clear Contents
& & EnableControl 1964, Me.CheckBox6.Value '// All
& & EnableControl 872, Me.CheckBox6.Value&&'// Formats
& & EnableControl 755, Me.CheckBox4.Value&&'// Formats
& & EnableControl 873, Me.CheckBox6.Value&&'// Contents
& & EnableControl 874, Me.CheckBox6.Value&&'// Comments
& & EnableControl 809, Me.CheckBox2.Value& &'// pastespecial
mandBars(&cell&).Controls(4).Enabled = False
& & With Application
& & If Me.CheckBox7 = False Then .OnKey &^c&, &info&
& & If Me.CheckBox7 = True Then .OnKey &^c&
& & If Me.CheckBox8 = False Then .OnKey &^v&, &info&
& & If Me.CheckBox8 = True Then .OnKey &^v&
& & If Me.CheckBox9 = False Then .OnKey &^x&, &info&
& & If Me.CheckBox9 = True Then .OnKey &^x&
& & If Me.CheckBox10 = False Then .OnKey &{del}&, &info&
& & If Me.CheckBox10 = True Then .OnKey &{del}&
& &&&.CellDragAndDrop = Me.CheckBox12.Value
& & If Me.CheckBox11 = False Then .OnDoubleClick = &info&
& & If Me.CheckBox11 = True Then .OnDoubleClick = &&
& & End With
ThisWorkbook.Save
& & Unload Me
Sub EnableControl(iId As Integer, blnState As Boolean)
Dim ComBar As CommandBar
Dim ComBarCtrl As CommandBarControl
&&On Error Resume Next
For Each ComBar mandBars
& & Set ComBarCtrl = ComBar.FindControl(ID:=iId, recursive:=True)
& & If Not ComBarCtrl Is Nothing Then ComBarCtrl.Visible = blnState
模块代码为:
Sub auto_open()
& & Dim Menu As CommandBarControl, SubMenu As CommandBarControl
& & Set SubMenu = mandBars(&tools&).Controls.Add(msoControlPopup, 1, , 3, 1)
& & SubMenu.Caption = &禁止复制与删除(&UnCopy)&
& &&&With SubMenu.Controls.Add(msoControlButton, 1, , , True)
& && &&&.Caption = &禁止复制与删除(&Computer)&
& && &&&.OnAction = &禁止&
& && &&&.Style = msoButtonIconAndCaption
& && &&&.FaceId = 225
& && &End With
'-----------------------------------------
& && &With SubMenu.Controls.Add(msoControlButton, 1, , , True)
& && &&&.Caption = &恢复复制与删除(&Enable)&
& && &&&.OnAction = &恢复&
& && &&&.Style = msoButtonIconAndCaption
& && &&&.FaceId = 277
& && &End With
& && &With SubMenu.Controls.Add(msoControlButton, 1, , , True)
& && &&&.Caption = &使用说明(&About)&
& && &&&.OnAction = &关于复制&
& && &&&.Style = msoButtonIconAndCaption
& && &&&.FaceId = 272
& && &End With
Sub auto_close()
mandBars(&tools&).Reset
Sub EnableControl(iId As Integer, blnState As Boolean)
Dim ComBar As CommandBar
Dim ComBarCtrl As CommandBarControl
&&On Error Resume Next
For Each ComBar mandBars
& & Set ComBarCtrl = ComBar.FindControl(ID:=iId, recursive:=True)
& & If Not ComBarCtrl Is Nothing Then ComBarCtrl.Visible = blnState
阅读权限10
在线时间 小时
tianhua_30005 发表于
以下是本人在网上搜索后用工具破解的代码,很好用,可以禁止很多项,如禁止复制、粘贴、清除、填充等自己 ...
不足之处是只能全部禁止,或全部恢复,还没有只能禁止个别项,禁止保存后再打开要么全部禁止要么已全部恢复。本人也正在求其它高手解决此问题。
阅读权限20
在线时间 小时
& & & & & & & &
doitbest 发表于
Private Sub Workbook_SheetSelectionChange(ByVal Sh As Object, ByVal Target As Range)
Application.Cu ...
高手就是高手&&一句话就解决问题了&&赞
阅读权限10
在线时间 小时
本帖最后由 tianhua_30005 于
20:12 编辑
erblet 发表于
高手就是高手&&一句话就解决问题了&&赞
运用此法只能在EXCEL中禁止,如果是从WORD或别的该当中复制的数据,再在EXCEL单元格中双击,然后再运用CTRL+V,便会轻轻松松地将数据复制到EXCEL单元格中,如果能彻底禁止在EXCEL中复制粘贴数据就好了,期盼中。。。。。
阅读权限50
在线时间 小时
& & & & & & & &
学习中,不知有没用
阅读权限100
在线时间 小时
留个记号& && && && && &
阅读权限30
在线时间 小时
既要让人看,又不让人复制,干脆截图给别人算了。
最新热点 /1
ExcelHome每周都有线上直播公开课,
国内一流讲师真身分享,高手贴身答疑,
赶不上直播还能看录像,
关键居然是免费的!
厚木哥们都已经这么努力了,
你还好意思说学不好Office。
玩命加载中,请稍候
玩命加载中,请稍候
Powered by
本论坛言论纯属发表者个人意见,任何违反国家相关法律的言论,本站将协助国家相关部门追究发言者责任! & & 本站特聘法律顾问:徐怀玉律师 李志群律师计算机基础模块练习 (2)_百度文库
两大类热门资源免费畅读
续费一年阅读会员,立省24元!
计算机基础模块练习 (2)
上传于|0|0|暂无简介
阅读已结束,如果下载本文需要使用0下载券
想免费下载更多文档?
定制HR最喜欢的简历
下载文档到电脑,查找使用更方便
还剩16页未读,继续阅读
定制HR最喜欢的简历
你可能喜欢

我要回帖

更多关于 复制粘贴不连续单元格 的文章

 

随机推荐