★★ 如何批量设置书签,以及给书签统一设置目录

我一开始想到的居然就是批量生成。其实批量生成书签很容易。网上找个宏,设置快捷键运行就可以:

“哗”的一下就生成一百个一千个书签,视觉效果上看着挺爽,但实际上生成了这么多的书签,还是得一个一个复制,再粘贴到标签需求处。无形中其实又多了一道工序。

所以欲速则不达。思想还是不能太惯性化。

还是一步一个脚印,像上次的脚本一样。一个一个复制比较好。

可惜WPS是不支持书签复制的。

或者可以复制,但复制后它是没有书签功能的。

不管是复制还是剪切,永远粘贴的只能是同一个书签。不会给你多第二个。

这就有点不是很亲切友好了。

这一点我建议WPS可以更改一下。就像脚注一样,复制一个以后,可以粘贴很多个,而且每粘贴一次就自动增加一个序号。这样就超方便。科技的宗旨不就是应该让人可以变得更懒吗?当然这么说好像也有点别扭。

设想如果书签也是像脚注一样,只要复制一个,再粘贴就是第二个,第三个……序号依次递增,这样就会省事很多。

可惜没有。

只能自己动手,丰衣足食了。用宏来解决这个问题。

Sub 插入书签()

Dim rng As Range

Dim bookmarkName As String

Set rng = Selection.Range

' 带时间戳

bookmarkName = "书签_" & Format(Now, "yyyymmdd_hh_nn_ss")

ActiveDocument.Bookmarks.Add name:=bookmarkName, Range:=rng

End Sub

再在自定义键盘里给他设置一个快捷键(比如:ALT+V)。

那么你直接按键盘的ALT+V,就会自动生成一个标签。

这样就很方便。以后再疯狂输出书签时效率会很高。

那么,高效便捷的插入书签问题,就算解决了。


第二个。

如何将文档中所有书签集中起来,做成表格。方便检索和点击。

这个也可以找个宏来解决:

Sub 标签集中成表格()

Dim doc As Document

Dim bmk As Bookmark

Dim tbl As Table

Dim i As Long

Dim cellRange As Range

On Error GoTo ErrorHandler

Set doc = ActiveDocument

If doc.Path = "" Then

MsgBox "请先保存文档,以便创建有效超链接!", vbExclamation

doc.Save

End If

If doc.Bookmarks.Count = 0 Then

MsgBox "文档中没有书签!", vbExclamation

Exit Sub

End If

Set tbl = doc.Tables.Add(Range:=doc.Range(0, 0), _

NumRows:=doc.Bookmarks.Count + 1, _

NumColumns:=2)

With tbl

.Style = "网格型"

.AllowAutoFit = True

' 设置表头

.Cell(1, 1).Range.Text = "书签名称"

.Cell(1, 2).Range.Text = "书签链接"

.Rows(1).Range.Font.Bold = True

.Rows(1).Range.Shading.BackgroundPatternColor = wdColorGray20

i = 2

For Each bmk In doc.Bookmarks

.Cell(i, 1).Range.Text = bmk.Name

Set cellRange = .Cell(i, 2).Range

cellRange.Text = bmk.Name

doc.Hyperlinks.Add _

Anchor:=cellRange, _

Address:="", _

SubAddress:=bmk.Name, _

TextToDisplay:=bmk.Name

i = i + 1

Next bmk

.AutoFitBehavior wdAutoFitContent

End With

tbl.Select

MsgBox "书签已成功导出到文档表格中!", vbInformation

Exit Sub

ErrorHandler:

MsgBox "发生错误: " & Err.Description, vbCritical

Set tbl = Nothing

Set doc = Nothing

End Sub

这样就可以了。

如果你运行以后是代码,选中表格 shift+f9 切换一下即可。

或者全局按 alt+f9 。就可以了。

总之书签做的不是那么智能。有诸多不便:不能多选,不能批量复制,也不能批量删除,最多全部删除。

希望后续版本能够在这些细节之处略微的改进。

安徽省
浏览 265
收藏
4
分享
4 +1
+1
全部评论