ExcelHome技术论坛

 找回密码
 免费注册

QQ登录

只需一步,快速开始

快捷登录

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

Word Section 问题

[复制链接]

TA的精华主题

TA的得分主题

发表于 2005-2-23 09:47 | 显示全部楼层 |阅读模式
Word里面有没有像Excel里给单元格区域定义名称那样的功能,给每个插入的节定义名称。这样做的目的是方便保护其中的某几个节,选择在某个节之后插入或者删除节。谢谢!

TA的精华主题

TA的得分主题

发表于 2005-2-23 10:08 | 显示全部楼层
[广告] VBA代码宝 - VBA编程加强工具 · VBA代码随查随用  · 内置多项VBA编程加强工具       ★ 免费下载 ★      ★使用手册

WORD中的书签可与EXCEL中的插入/名称/定义相妨。

WORD中插入分节符后,可以在工具/保护/窗体/节中设置,其功能比较脆弱,说是保护窗体,其实严格意义上说,是保护除窗体(此处窗体相当于未受保护的单元格)以外本节以内的其它内容(相当于保护了的单元格),当然,一些结构、功能也受到相应保护。

我不太明白虎兄的意思,能更明确一下,想做什么吗?

TA的精华主题

TA的得分主题

 楼主| 发表于 2005-2-23 10:20 | 显示全部楼层

保护不能根据书签来设定啊。

比如说我的模板里有50个分节符,其中有30个是要保护的,其余的留给用户编辑。我希望快速设定那些要保护,现在按索引来勾选很不爽。

另外,我希望快速决定在那个节之后插入新的节,并重新设置保护。

我很累啊,现在这样做。

TA的精华主题

TA的得分主题

发表于 2005-2-23 10:29 | 显示全部楼层
难得虎兄做客,小弟马上动手设计一个按照书签来设定保护节的代码,您耐心等待一会儿。

TA的精华主题

TA的得分主题

发表于 2005-2-23 11:43 | 显示全部楼层

虎兄,我临时做了一个,可能不是太爽,你先用一下,请多提意见。

'* +++++++++++++++++++++++++++++ '* Created By I Love You_Word!@ExcelHome 2005-2-23 11:41:30 '仅测试于System: Windows NT Word: 10.0 Language: 2052 '^The Code CopyIn [ThisDocument-ThisDocument]^' '* -----------------------------

'请在操作之前,使用插入/书签,选择指定书签进行定位(选定),或者 '直接选定需要保护的页面内容 Sub ProtectByBookMark() Dim StartRange As Long, EndRange As Long, MyRange1 As Range, MyRange2 As Range Dim Sec1 As Integer, Sec2 As Integer, I As Integer, ActEnd As Long, Pw As String On Error GoTo ErrHandle '启动错误处理程序 With Selection If .Type = wdSelectionIP Then Exit Sub '如果未选定则退出程序 StartRange = .Start '起点位置 ActEnd = ActiveDocument.Content.End '终止位置 EndRange = VBA.IIf(.End = ActEnd, ActEnd - 1, .End) End With With ActiveDocument '定义两个相当于光标位置 Set MyRange1 = .Range(StartRange, StartRange) Set MyRange2 = .Range(EndRange, EndRange) '分别取得"光标"位置所在节号 Sec1 = MyRange1.Information(wdActiveEndSectionNumber) Sec2 = MyRange2.Information(wdActiveEndSectionNumber) '如果文档中已有部分节保护了,则需要解除文档密码 ErrAgain: If .ProtectionType <> wdNoProtection Then Pw = InputBox("请输入文档解除密码!", "解除文档保护") .Unprotect Password:=Pw Else Pw = InputBox("请输入文档保护密码!", "保护文档窗体") End If For I = Sec1 To Sec2 .Sections(I).ProtectedForForms = True Next .Protect wdAllowOnlyFormFields, , Pw End With Exit Sub ErrHandle: GoTo ErrAgain End Sub '----------------------

TA的精华主题

TA的得分主题

 楼主| 发表于 2005-2-23 12:19 | 显示全部楼层
您需要登录后才可以回帖 登录 | 免费注册

本版积分规则

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

GMT+8, 2024-11-15 10:44 , Processed in 0.027460 second(s), 8 queries , Gzip On, MemCache On.

Powered by Discuz! X3.4

© 1999-2023 Wooffice Inc.

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

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

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