设为首页收藏本站Access中国

Office中国论坛/Access中国论坛

 找回密码
 注册

QQ登录

只需一步,快速开始

123下一页
返回列表 发新帖
查看: 4797|回复: 22
打印 上一主题 下一主题

[窗体] 如何实现复制、粘贴功能

[复制链接]
跳转到指定楼层
1#
发表于 2009-4-9 00:03:19 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
本帖最后由 linjingdr 于 2009-4-9 00:16 编辑

如图:
想实现把某个文本框里的文本复制后,在另一处粘贴。已录屏成GIF图片(已在论坛里搜索并试验过了,没有成功)请别只回答在论坛里搜索。这个功能对我真的很重要。谢谢!

本帖子中包含更多资源

您需要 登录 才可以下载或查看,没有帐号?注册

x
分享到:  QQ好友和群QQ好友和群 QQ空间QQ空间 腾讯微博腾讯微博 腾讯朋友腾讯朋友
收藏收藏 分享分享 分享淘帖 订阅订阅
2#
发表于 2009-4-9 06:39:08 | 只看该作者
Dim mbCut As
Boolean


Dim mRng As Range   

Sub InitCutCopy()   

'设定/初此化快捷键


With Application   

'CTRL+X

    .OnKey "^x", "DoCut"

    .OnKey "^X", "DoCut"

    .OnKey "+{DEL}", "DoCut"


'CTRL+C

    .OnKey "^c", "DoCopy"

    .OnKey "^C", "DoCopy"

    .OnKey "^{INSERT}", "DoCopy"


'CTRL+V

    .OnKey "^v", "DoPaste"

    .OnKey "^V", "DoPaste"

    .OnKey "+{INSERT}", "DoPaste"


'关掉单元格的拖动功能,你也可以不<SPAN class=t_tag onclick=tagshow(event) href="tag.php?name=%C9%E8%D6%C3">设置</SPAN>

    .CellDragAndDrop = False


End
With


End
Sub


Sub DoCut()   

If
TypeOf Selection Is Range Then

        mbCut = True


Set mRng = Selection   

'复制到剪切板上

        Selection.Copy   

Else

        mRng = Nothing


'剪切到剪切板上

        Selection.Cut   

End
If


End
Sub


Sub DoCopy()   

If
TypeOf Selection Is Range Then

        mbCut = False


Set mRng = Selection   

Else

        mRng = Nothing


End
If


'复制到剪切板上

        Selection.Copy   

End
Sub


Sub DoPaste()   

If Application.CutCopyMode And
Not (mRng Is
Nothing) Then


'贴为数值

    Selection.PasteSpecial xlValue   

'如果是CUT模式,清除旧数据


If mbCut Then mRng.ClearContents   

Set mRng = Nothing


Else


'如果不是RANGE对象,直接粘贴


If Application.CutCopyMode Then ActiveSheet.Paste   

End
If


'清空剪切板

    Application.CutCopyMode = False


End
Sub
3#
 楼主| 发表于 2009-4-9 17:10:45 | 只看该作者
试了一下,还是没有成功,能不能帮我做一个例子看一下,好吗?
4#
发表于 2009-4-9 18:16:36 | 只看该作者
看看可以否。

本帖子中包含更多资源

您需要 登录 才可以下载或查看,没有帐号?注册

x
5#
发表于 2009-4-9 18:18:42 | 只看该作者
本帖最后由 koutx 于 2009-4-9 18:21 编辑

帮助医生我高兴。
给你一个不用粘贴的办法,勾选几个字段后关闭其窗口,就自动添进去了。

本帖子中包含更多资源

您需要 登录 才可以下载或查看,没有帐号?注册

x
6#
发表于 2009-4-9 18:54:27 | 只看该作者
又彻底完善了一下,再发一个新的。在选择字段窗体中勾选完需勾选的字段后,点其窗体右上角的“X”关闭即可。

本帖子中包含更多资源

您需要 登录 才可以下载或查看,没有帐号?注册

x
7#
 楼主| 发表于 2009-4-9 21:28:40 | 只看该作者
你们好,谢谢大家的帮助。chaojianan的方法是在原文本的最后,添加了新选择的文本。koutx 的方法则是直接替换了原来的文本。 我的设想是这样,把选择的文本复制进剪贴板,然后在原文本的任意位置从剪贴板中粘贴进去。(根据我的体会,医师在写病历时,如果频繁调用文本,会影响思路。如果可以在完成初步的病历后,在适当位置插入常用字段,如难以输入的检验报告结果,应该是比较好的方法)
大家再帮帮我吧!
8#
 楼主| 发表于 2009-4-9 21:29:19 | 只看该作者
如果用SENDKEYS不知道是否可以实现这个功能(代替CTRL+C和CTRL+V),但我不会用
9#
发表于 2009-4-9 22:22:17 | 只看该作者
本帖最后由 koutx 于 2009-4-9 22:25 编辑
如果用SENDKEYS不知道是否可以实现这个功能(代替CTRL+C和CTRL+V),但我不会用
linjingdr 发表于 2009-4-9 21:29

试试看。在欲插入点单击,再点右键即可贴进去。

本帖子中包含更多资源

您需要 登录 才可以下载或查看,没有帐号?注册

x
10#
 楼主| 发表于 2009-4-9 23:35:53 | 只看该作者
本帖最后由 linjingdr 于 2009-4-10 10:22 编辑

谢谢koutx的热心帮助,用你的方法通过右键功能可以实现这个功能了。
我从别处找了一个API的代码,放在楼下,可以用在ACCESS中来实现复制和粘贴功能,可是我不知道如何应用,大家可以看一看,发表一下看法。
您需要登录后才可以回帖 登录 | 注册

本版积分规则

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

GMT+8, 2024-5-6 23:10 , Processed in 0.114742 second(s), 34 queries .

Powered by Discuz! X3.3

© 2001-2017 Comsenz Inc.

快速回复 返回顶部 返回列表