ExcelHome技术论坛

 找回密码
 免费注册

QQ登录

只需一步,快速开始

快捷登录

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

光标位置

[复制链接]

TA的精华主题

TA的得分主题

发表于 2005-6-6 19:04 | 显示全部楼层 |阅读模式
[广告] VBA代码宝 - VBA编程加强工具 · VBA代码随查随用  · 内置多项VBA编程加强工具       ★ 免费下载 ★      ★使用手册

每一次打开word时光标默认在最开头,如果文档很长每次对稿都不知对到哪?

如何设置:打开时光标定位在上次保存后的位置

TA的精华主题

TA的得分主题

发表于 2005-6-6 21:00 | 显示全部楼层

可以这样试试:文档关闭前(document_close事件)将光标位置记录在任何一个文档中,甚至可以记录在被保存文档本身的某个位置,下次打开时(document_open事件)再从文档或某一固定位置中取得光标位置,然后简单地进行定位即可。具体的程序那只有麻烦守版主了。

不知还有没有其他方法。

TA的精华主题

TA的得分主题

发表于 2005-6-6 22:32 | 显示全部楼层
打开文档时,按下Shift+F5试试看

TA的精华主题

TA的得分主题

发表于 2005-6-7 07:26 | 显示全部楼层

TA的精华主题

TA的得分主题

发表于 2005-6-7 10:07 | 显示全部楼层
以下是引用cxffxc在2005-6-6 22:32:00的发言: 打开文档时,按下Shift+F5试试看

使用SHIFT+F5是可行的.

如果楼主需要更方便,我做个小程序,也没有关系,很简单的.

TA的精华主题

TA的得分主题

发表于 2005-6-7 12:13 | 显示全部楼层

有时不行的!

例如:

你打开一篇wrod(设此时为A状态)文章,把光标放在某位置后(例如第5页),再退出word,它不会叫你保存的(如果你没做什么的话,即使你保存,也没有反应)(设此时为B状态),再打开,按shift+f5,看一下,它会到第5页?不会的!

它只会放在打开文章先前的第一次(A状态)的位置?!

不知守兄从何解释?

[此贴子已经被作者于2005-6-7 12:48:08编辑过]

TA的精华主题

TA的得分主题

发表于 2005-6-7 12:35 | 显示全部楼层
以下是引用konggs在2005-6-7 12:13:00的发言:

可时不行的!

例如:

你打开一篇wrod(设此时为A状态)文章,把光标放在某位置后(例如第5页),再退出word,它不会叫你保存的(如果你没做什么的话,即使你保存,也没有反应)(设此时为B状态),再打开,按shift+f5,看一下,它会到第5页?不会的!

它只会放在打开文章先前的第一次(A状态)的位置?!

不知守兄从何解释?

konggs:

你非常认真,而且,你说的,也是正确的.

通常情况下SHIFT+F5可以定位在前几次的光标位置中移动。

当我们想要在结束文档前,让程序记住最后的光标位置,(按楼主所说,显然,他的工作中,应该有文档变化),则必须使文档的.SAVED属性为FALSE时,方可行(可在VBE的THISDOCUMENT的属性中看到SAVED属性).具体的做法:

将最后光标位置定位时,加入一个空格或者使其选定某个文字,改变其文字格式如粗体为非粗体,非粗体为粗体.然后保存文档.再次打开时,按下SHIFT+F5可以切换到最后一次定位的光标位置上.

稍后我写一小段代码,非常方便.

TA的精华主题

TA的得分主题

发表于 2005-6-7 12:50 | 显示全部楼层

请启用宏.

注意,该代码将强制保存,如果好用,我再作修改为提示是否需要保存.

'* +++++++++++++++++++++++++++++
'* Created By I Love You_Word!@ExcelHome 2005-6-7 12:48:13
'仅测试于System: Windows NT Word: 10.0 Language: 2052
'^The Code CopyIn [ThisDocument-ThisDocument]^'
'* -----------------------------

Option Explicit

Private Sub Document_Close()
'在文档退出时引发的事件中
    On Error Resume Next
    With ThisDocument
        '将光标起始位置赋值给文档变量("START")
        .Variables("Start").Value = Selection.Start
        '将光标结束位置赋值给文档变量("END")
        .Variables("End").Value = Selection.End
        .Save    '保存文档
    End With
End Sub
'----------------------
Private Sub Document_Open()
    With ThisDocument
        '如果文档变量的数量少于2,则新增两个文档变量
        If .Variables.Count < 2 Then
            .Variables.Add Name:="Start", Value:=0
            .Variables.Add Name:="End", Value:=0
        Else
            '选定区域
            .Range(.Variables("Start").Value, .Variables("End").Value).Select
        End If
    End With
End Sub
'----------------------

[此贴子已经被konggs于2007-2-14 7:57:43编辑过]

TA的精华主题

TA的得分主题

发表于 2005-6-7 16:55 | 显示全部楼层

先“抄”下来再说,谢了,守哥

研究,研究,有问题再请救!

TA的精华主题

TA的得分主题

发表于 2005-6-7 20:21 | 显示全部楼层
又一次佩服守柔老师对文档变量的应用。真是无话可说了!
您需要登录后才可以回帖 登录 | 免费注册

本版积分规则

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

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

Powered by Discuz! X3.4

© 1999-2023 Wooffice Inc.

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

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

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