设为首页收藏本站Access中国

Office中国论坛/Access中国论坛

 找回密码
 注册

QQ登录

只需一步,快速开始

双击文本框就复制其内容到剪切板的VBA代码

2015-4-18 08:54| 发布者: tmtony| 查看: 4164| 评论: 19|原作者: rjacky|来自: Office中国论坛

摘要: 由于在数据库里面隐藏了菜单,禁用了右键和ctrl+C的快捷键,请教能不能通过VBA做到请教双击文本框就复制其内容到剪切板?谢谢了
由于在数据库里面隐藏了菜单,禁用了右键和ctrl+C的快捷键,请教能不能通过VBA做到请教双击文本框就复制其内容到剪切板?谢谢了
解决办法:

2.Grant 的方法 
    
SendKeys "{Home}+{End}"
SendKeys "^{c}", True

这个方法包你满意

3.咱家是猫
   试试DoCmd.RunCommand acCmdCopy

4. fans.net

  
刚才发错位置了!

给你一个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)

5. rjacky
   
奉上实例,又麻烦兄台了

 copy.rar (10.4 KB, 下载次数: 29)

6.  sgrshh29
  

 copy.rar (10.9 KB, 下载次数: 82)

7.Grant的方法
   
给你用了一个复杂的API来调用剪贴板,里边还包含了一些实用的东西,慢慢看吧.

copy.rar

18.8 KB, 下载次数: 34

相关阅读

发表评论

最新评论

引用 一点通 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
奉上实例,又麻烦兄台了

copy.rar (10.4 KB, 下载次数: 196)
引用 sgrshh29 2007-8-8 17:30
原帖由 rjacky 于 2007-8-8 17:22 发表
奉上实例,又麻烦兄台了

25672

copy.rar (10.9 KB, 下载次数: 260)
引用 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
兄台的方法真简便有用

查看全部评论(19)

QQ|站长邮箱|小黑屋|手机版|Office中国/Access中国 ( 粤ICP备10043721号-1 )  

GMT+8, 2024-4-25 22:47 , Processed in 0.141900 second(s), 26 queries .

Powered by Discuz! X3.3

© 2001-2017 Comsenz Inc.

返回顶部