gpt4 book ai didi

vba - 在 MSWord 表的第一列中创建书签

转载 作者:行者123 更新时间:2023-12-01 01:34:11 25 4
gpt4 key购买 nike

有没有人有 VBA 代码可以在 MSWord 表的第一列中创建书签?

假设我有一张看起来像这样的 table

.-----.----------------.
. ref . Title .
.-----.----------------.
. 1 . Title 1 .
.-----.----------------.
. 2 . Title 2 .
.-----.----------------.
. foo . Title 3 .
.-----.----------------.
. bar . Title 4 .
.-----.----------------.

我想要一个 VBA 代码片段,它在第 2 行/第 1 列的字符串“1”上创建一个名为“T1_1”的书签,并在其他单元格中的字符串上创建一个名为“T1_2”、“T1_foo”和“T1_bar”的书签第 1 列。

我不介意硬编码前缀“T1”(每次都替换其他表)。我不介意在运行宏之前选择表格,我不介意给这些单元格一个特殊的格式,我不介意从第一行获得一个多余的书签“T1_ref” - 所以代码不会需要区分表格标题和表格行。

非常感谢提前

最佳答案

Public Sub Testing()
Dim strText As String
Dim i As Integer, j as Integer
For j = 1 To ThisDocument.Tables.Count
For i = 2 To ThisDocument.Tables(j).Rows.Count
strText = StripNonPrint(ThisDocument.Tables(j).Cell(i, 1).Range)
ActiveDocument.Bookmarks.Add Range:=ThisDocument.Tables(j).Cell(i, 1).Range, Name:="T1_" & strText
Next i
Next j
End Sub

Private Function StripNonPrint(ByVal s As String)
StripNonPrint = Trim(Replace(s, vbCr & Chr(7), ""))
End Function

这应该足以让你继续你的任务。这将为当前文档中任何表格的第一列(第一行除外)中的每个单元格添加一个书签。

关于vba - 在 MSWord 表的第一列中创建书签,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/2990988/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com