ExcelHome技术论坛

 找回密码
 免费注册

QQ登录

只需一步,快速开始

快捷登录

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

[求助]关于shift+F5的一些疑问

[复制链接]

TA的精华主题

TA的得分主题

发表于 2007-2-27 20:21 | 显示全部楼层 |阅读模式

请问如何设置shift+F5只在两个位置来回切换?我在编辑文档时经常从前跳后,有没有方法可以自定义两个位置(用书签操做太繁),谢谢

TA的精华主题

TA的得分主题

发表于 2007-2-27 20:47 | 显示全部楼层

Dim i
Sub 光标来回()
If i = 0 Then
    Application.GoForward
    i = i + 1
Else
    Application.GoBack
    i = i - 1
End If
End Sub
这个好像可以,自定义为Shift+F5键或作一个工具按钮。
说明:
第一、首次试着用VBA,贻笑大方,错了,别羞我。
第二、楼主要求的办法方法我认为并不适用,因为在编辑过程中,有意无意地操作了鼠标和键盘,结果难以处理。倒不如将“回到上一编辑位置”和“回到下一编辑位置”两个拖到工具栏中或自定义键盘,用两个来分别向前向后操作。

[此贴子已经被作者于2007-2-27 23:11:54编辑过]

[求助]关于shift+F5的一些疑问

[求助]关于shift+F5的一些疑问

TA的精华主题

TA的得分主题

 楼主| 发表于 2007-2-28 21:47 | 显示全部楼层
[广告] VBA代码宝 - VBA编程加强工具 · VBA代码随查随用  · 内置多项VBA编程加强工具       ★ 免费下载 ★      ★使用手册
QUOTE:
以下是引用yuyvtul在2007-2-27 20:47:19的发言:

Dim i

第一、首次试着用VBA,贻笑大方,错了,别羞我。
第二、楼主要求的办法方法我认为并不适用,因为在编辑过程中,有意无意地操作了鼠标和键盘,结果难以处理。倒不如将“回到上一编辑位置”和“回到下一编辑位置”两个拖到工具栏中或自定义键盘,用两个来分别向前向后操作。


第一、太谦虚了

第二、你说的有道理,谢谢,再请问,shift+F5功能如何自定义的!它是如何实现的呢?

TA的精华主题

TA的得分主题

发表于 2007-3-1 06:26 | 显示全部楼层
QUOTE:
以下是引用skyya在2007-2-27 20:21:13的发言:

请问如何设置shift+F5只在两个位置来回切换?我在编辑文档时经常从前跳后,有没有方法可以自定义两个位置(用书签操做太繁),谢谢

请使用:

Option Explicit
Dim TF As Boolean
Sub GoBack()
    If TF = False Then
        Application.GoBack
    Else
        Application.GoForward
    End If
    TF = Not TF
End Sub

其中的Sub GoBack过程称为修改WORD命令,有关修改WORD命令的解释,请搜索我的相关贴子.

将上述代码粘贴于当前文档或者NORAML.DOT的THISDOCUMENT或其下的标准模块中即可,完成后回后WORD文档中,按下SHIFT+F5,可测试效果.

有关SHIFT+F5的功能,请参:

GoBack 方法

将插入点在活动文档中最近进行过编辑操作的三个位置间移动,其作用等同于按 Shift+F5

expression.GoBack

应用于Application对象.

TA的精华主题

TA的得分主题

发表于 2007-3-1 07:50 | 显示全部楼层
呵呵,学习了,更改Word命令。
原来,我只要将2楼的宏名改为Sub GoBack()就无需定义键盘了。
不过,可能楼主的意思我和守柔都理解错了:
①这种方式我无论如何都想不出意义,因为除非不进行其他操作,只“看”,否则不可能回到原来的位置。
②猜测楼主的意思是:
到了一个需要记住的编辑点(假定为A点),按一个按钮,记住位置;
到了下一个编辑点,如果再按按纽(同一个或新一个),原位置失效,记住新的位置。
定义shift+F5的功能为在两个位置之间切换。
不管楼主是否是这个意思,假定我需要这个功能,即两个代码:
一个是记住并更新编辑位置或插入点。
另一个是在记住的位置和当前位置间切换,怎么实现?
求教。

TA的精华主题

TA的得分主题

发表于 2007-3-1 17:38 | 显示全部楼层
QUOTE:
以下是引用yuyvtul在2007-3-1 7:50:46的发言:
另一个是在记住的位置和当前位置间切换,怎么实现?
求教。

我只是做了一个示范,不知是否如田兄如说?

以下代码必须在类模块中,此处仍以“SHIFT+F5”快捷方式体现,当然,你可以直接指定其它的方式。

'* +++++++++++++++++++++++++++++
'* Created By SHOUROU@ExcelHome 2007-3-1 17:36:03
'
仅测试于System: Windows NT Word: 11.0 Language: 2052
'
0171^The Code CopyIn [ThisDocument-ThisDocument]^'
'*
-----------------------------

Option Explicit
Dim OldRange As Range, NewRange As Range, TF As Boolean, Cancel As Boolean
Private WithEvents wdApp As Word.Application
Private Sub Document_Open()
    Set wdApp = Word.Application
    Set NewRange = ActiveDocument.Range(0, 0)
End Sub
'----------------------
Private Sub wdApp_WindowSelectionChange(ByVal Sel As Selection)
    If Cancel = True Then Exit Sub
    Set OldRange = NewRange
    OldRange.SetRange NewRange.Start, NewRange.Start
    Set NewRange = Sel.Range
    NewRange.SetRange NewRange.Start, NewRange.Start
End Sub
'----------------------
Sub GoBack()
    Cancel = True
    If TF = False Then
        OldRange.Select
    Else
        NewRange.Select
    End If
    TF = Not TF
    Cancel = False
End Sub
'----------------------

示例文件:

96M9b8AV.rar (9.29 KB, 下载次数: 16)
您需要登录后才可以回帖 登录 | 免费注册

本版积分规则

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

GMT+8, 2024-11-17 16:05 , Processed in 0.037889 second(s), 10 queries , Gzip On, MemCache On.

Powered by Discuz! X3.4

© 1999-2023 Wooffice Inc.

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

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

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