Office中国论坛/Access中国论坛

标题: 双击文本框就复制其内容到剪切板的VBA代码 [打印本页]

作者: rjacky    时间: 2007-8-7 21:12
标题: 双击文本框就复制其内容到剪切板的VBA代码
由于在数据库里面隐藏了菜单,禁用了右键和ctrl+C的快捷键,请教能不能通过VBA做到请教双击文本框就复制其内容到剪切板?谢谢了
作者: 一点通    时间: 2007-8-7 23:43
供参考
http://www.office-cn.net/forum.p ... =%BC%F4%C7%D0%B0%E5
作者: rjacky    时间: 2007-8-8 00:03
谢谢一点通在深夜热心回帖,我之前也找了一下,论坛上面好像都是操作图片类型,不知道有没有操作文本类型的呢?
作者: Grant    时间: 2007-8-8 03:36
SendKeys "{Home}+{End}"
SendKeys "^{c}", True

这个方法包你满意
作者: 咱家是猫    时间: 2007-8-8 09:23
GG,人家不是说了嘛,程序禁用了Ctrl+C键了
作者: 咱家是猫    时间: 2007-8-8 09:25
试试DoCmd.RunCommand acCmdCopy
作者: 轻风    时间: 2007-8-8 09:34
原帖由 咱家是猫 于 2007-8-8 09:23 发表
GG,人家不是说了嘛,程序禁用了Ctrl+C键了

禁用Ctrl+C键,但用代码应该可以吧。
作者: wanshan    时间: 2007-8-8 09:59
刚才发错位置了!

给你一个fan0217写的函数:

Function SendToScrap(strSendText As String) As Boolean
'===============================================================================
'-函数名称:         SendToScrap
'-功能描述:         发送文本到剪贴板
'-输入参数说明:     必选:strSendText As String 发送的文本
'-返回参数说明:     发送成功:True  发送失败:False
'-使用语法示例:     SendToScrap("你好!")
'-参考:
'-使用注意:         需要引用Microsoft Forms2.0 Object Library (%system32%\FM20.DLL)
'-兼容性:
'-作者:             fan0217 fan0217@163.com
'-更新日期:        2006-02-24
'===============================================================================
On Error GoTo Err_SendToScrap
Dim tmpData As New DataObject
    tmpData.SetText strSendText
    tmpData.PutInClipboard
   
    SendToScrap = True

Exit_SendToScrap:
    Exit Function

Err_SendToScrap:
    SendToScrap = False
    MsgBox Err.Description
    Resume Exit_SendToScrap
      
End Function

在文本框双击事件中调用:
    DoCmd.DoMenuItem acFormBar, acRecordsMenu, acSaveRecord, , acMenuVer70  '此句是保存代码,如果是新输入的内容,不加这句将复制不到内容……
    SendToScrap (Me.Text1)
作者: rjacky    时间: 2007-8-8 13:10
感谢大家热情的帮助。

Grant 版主的方法,代码和思路都很简便,1选择内容,2复制,但试了一下不行,因为我已经使用autokey宏禁用 ^{C} 了

6楼的朋友提供的方法行不通。

万山大侠转发的代码不但要引用,而且必须要先保存操作,实行起来有点困难啊。
作者: eyewitnes    时间: 2007-8-8 13:17
代码中设一个变量,双击的时候给变量赋值不可以吗?
作者: sgrshh29    时间: 2007-8-8 14:57
原帖由 rjacky 于 2007-8-8 13:10 发表
感谢大家热情的帮助。

Grant 版主的方法,代码和思路都很简便,1选择内容,2复制,但试了一下不行,因为我已经使用autokey宏禁用 ^{C} 了

6楼的朋友提供的方法行不通。

万山大侠转发的代码不但要引用, ...


6楼的朋友提供的方法应该可以用的,还可以复制你在文本框里所选中的部分字符串进行复制.方便的话把你的数据库简化后发上来,我来试试.空口讲来讲去,讲不清楚.

[ 本帖最后由 sgrshh29 于 2007-8-8 15:28 编辑 ]
作者: jicheng    时间: 2007-8-8 16:18
四楼的方法可行,满意!
作者: rjacky    时间: 2007-8-8 17:22
奉上实例,又麻烦兄台了

[attach]25672[/attach]
作者: sgrshh29    时间: 2007-8-8 17:30
原帖由 rjacky 于 2007-8-8 17:22 发表
奉上实例,又麻烦兄台了

25672

[attach]25673[/attach]
作者: Grant    时间: 2007-8-8 17:49
给你用了一个复杂的API来调用剪贴板,里边还包含了一些实用的东西,慢慢看吧.
作者: Grant    时间: 2007-8-8 17:51
原帖由 sgrshh29 于 2007-8-8 17:30 发表

25673



14楼的方法很巧妙

偷学了.
作者: rjacky    时间: 2007-8-8 17:57
哈哈,想不到几分钟不到就解决了,谢谢两位!

sgrshh29  兄台的方法真简便!
作者: owwen    时间: 2007-8-15 17:23
太强了,真的长见识了
作者: cangqiong    时间: 2007-8-16 10:41
太强了.借这个机会.我想问下,
现在只能粘贴一个.
我想多双击几次上面的文本框.下面的文本框就粘贴几个.这个代码.怎么写啊?
作者: WFH6898    时间: 2015-11-12 12:57
兄台的方法真简便有用




欢迎光临 Office中国论坛/Access中国论坛 (http://www.office-cn.net/) Powered by Discuz! X3.3