ExcelHome技术论坛

 找回密码
 免费注册

QQ登录

只需一步,快速开始

快捷登录

搜索
EH技术汇-专业的职场技能充电站 妙哉!函数段子手趣味讲函数 Excel服务器-会Excel,做管理系统 效率神器,一键搞定繁琐工作
HR薪酬管理数字化实战 Excel 2021函数公式学习大典 Excel数据透视表实战秘技 打造核心竞争力的职场宝典
让更多数据处理,一键完成 数据工作者的案头书 免费直播课集锦 ExcelHome出品 - VBA代码宝免费下载
用ChatGPT与VBA一键搞定Excel WPS表格从入门到精通 Excel VBA经典代码实践指南
楼主: yy10

[求助]如何使用剪贴板的内容进行查找(寻找最有效率的查找)

[复制链接]

TA的精华主题

TA的得分主题

发表于 2008-4-1 11:14 | 显示全部楼层

试试在前面加上如下代码

With Selection
    If .Type = wdSelectionNormal Then
        .Copy   '仅针对word文档的选定区域进行复制
        .HomeKey wdStory
    End If
End With

只是这样就难以进行选定范围的查找

[此贴子已经被作者于2008-4-1 11:16:55编辑过]

TA的精华主题

TA的得分主题

 楼主| 发表于 2008-4-1 11:50 | 显示全部楼层
哈哈,用一下就知道是我想要的。这真是懒人的福气,我觉得word的查找功能应该可以有很多扩展的。现将sylun的代码合并一下,这样就省了不少事:

Sub MyFind()
    Dim myData As DataObject
    Set myData = New DataObject
    myData.GetFromClipboard
   With Selection
    If .Type = wdSelectionNormal Then
        .Copy   '
仅针对word文档的选定区域进行复制

        .HomeKey wdStory
    End If
   End With

 

With Dialogs(wdDialogEditFind)
        .Find = myData.GetText(1)
        .Show
    End With
   End Sub

TA的精华主题

TA的得分主题

 楼主| 发表于 2008-4-1 12:49 | 显示全部楼层
[广告] VBA代码宝 - VBA编程加强工具 · VBA代码随查随用  · 内置多项VBA编程加强工具       ★ 免费下载 ★      ★使用手册
关于即选即查的功能实现了,这里的高手真多,非常感谢各位。我想在这个贴里继续讨论一下关于查找的问题。
  现在想实现标题中所说的对剪贴板的内容进行查找。由于在查找的时候,剪贴板中的内容是不能插入到查找框的,不知有没有人愿意实现一下,我觉得挺有价值的,就是不知可不可行。
   呵呵,我的问题比较多,别嫌啰嗦。
[此贴子已经被作者于2008-4-1 12:50:19编辑过]

TA的精华主题

TA的得分主题

 楼主| 发表于 2008-4-1 13:15 | 显示全部楼层
关于sylun的那个程序还想说一点,查找的时候不能对文档进行编辑,这个可否改善一下,觉得自己好挑剔,谢谢了。

TA的精华主题

TA的得分主题

发表于 2008-4-1 13:16 | 显示全部楼层
为兼顾先复制后再对选定区域的查找需要,可试试将11楼的代码“If .Type = wdSelectionNormal Then”修改为“If .Type = wdSelectionNormal And .Characters.Count < 50 Then”,因一般情况下要查找的字符不会很多,预留50个应可满足了,选定区域查找的功能还是很有用的。

TA的精华主题

TA的得分主题

发表于 2008-4-1 13:24 | 显示全部楼层
QUOTE:
以下是引用yy10在2008-4-1 13:15:48的发言:
关于sylun的那个程序还想说一点,查找的时候不能对文档进行编辑,这个可否改善一下,觉得自己好挑剔,谢谢了。

原程序本来就没有编辑的动作,到显示对话框即停。请楼主将意思说清楚,如何改善?是不是担心误操作,想采取一定的预防性措施,即使按了替换按钮文档内容也不会有改动?

TA的精华主题

TA的得分主题

 楼主| 发表于 2008-4-1 13:34 | 显示全部楼层
[广告] Excel易用宝 - 提升Excel的操作效率 · Excel / WPS表格插件       ★免费下载 ★       ★ 使用帮助
我的意思是说在不关闭查找框的情况下可以像word正常的查找对话框一样将光标放到word中。

TA的精华主题

TA的得分主题

发表于 2008-4-1 14:24 | 显示全部楼层
[广告] Excel易用宝 - 提升Excel的操作效率 · Excel / WPS表格插件       ★免费下载 ★       ★ 使用帮助
QUOTE:
以下是引用yy10在2008-4-1 13:34:47的发言:
我的意思是说在不关闭查找框的情况下可以像word正常的查找对话框一样将光标放到word中。

我的理解是用程序调出对话框后,如果对话框未关闭,程序还是处于运行状态,或者说还未结束。程序运行时,前台手动操作会受到限制。也许我的理解并不正确。不知楼主如此想法最终目的是什么?最好是有连贯性的,因任何程序都是有目的的。

TA的精华主题

TA的得分主题

 楼主| 发表于 2008-4-1 14:30 | 显示全部楼层
我在查找过程中,需要上下滚屏查看我找到的信息的上下文。

TA的精华主题

TA的得分主题

发表于 2008-4-1 17:56 | 显示全部楼层
看看是否如下这种效果?

Sub MyFind()
Dim myRange As Range, myData As DataObject
With Selection
    If .Type = wdSelectionNormal And .Characters.Count < 50 Then
        .Copy
        .HomeKey wdStory
    End If
End With
Set myRange = Selection.Range
Set myData = New DataObject
myData.GetFromClipboard
With Dialogs(wdDialogEditFind)
    .Find = myData.GetText(1)
    .Execute
End With
myRange.Select
SendKeys "^f", False
End Sub
[此贴子已经被作者于2008-4-1 18:06:48编辑过]
您需要登录后才可以回帖 登录 | 免费注册

本版积分规则

手机版|关于我们|联系我们|ExcelHome

GMT+8, 2025-1-15 17:45 , Processed in 0.022529 second(s), 6 queries , Gzip On, MemCache On.

Powered by Discuz! X3.4

© 1999-2023 Wooffice Inc.

沪公网安备 31011702000001号 沪ICP备11019229号-2

本论坛言论纯属发表者个人意见,任何违反国家相关法律的言论,本站将协助国家相关部门追究发言者责任!     本站特聘法律顾问:李志群律师

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